进程和线程

文章目录

  • 进程描述
    • 进程定义
    • 进程的组成
      • 进程控制块PCB
    • 进程状态图
    • 进程同步
      • 信号量机制
      • 管道机制
    • 进程通信
      • 共享存储
      • 消息传递
      • 管道传递
  • 线程
    • 线程定义
    • 线程的属性
    • 线程的实现方式
      • 用户级线程 KST
      • 内核级线程 UTL
      • 两者都支持 KST + UTL

进程描述

在传统的为引入线程OS中,进程是OS进行资源分配和调度的一个独立单位

进程定义

  • 进程是程序的一次执行。
  • 进程是一个程序及其数据在处理机上顺序执行时所发生的活动

进程的组成

进程的组成:

  • 程序段
  • 数据段
  • 进程控制块PCB

进程控制块PCB

进程控制块PCB是进程组成中最重要的一个数据结构,包含了进程的控制信息和进程的调度信息,记录了操作系统所需的,用于描述进程当前情况以及管理进程运行的全部信息

作用:

进程和线程_第1张图片

包含的信息:

进程和线程_第2张图片

进程状态图

进程和线程_第3张图片

进程同步

进程同步就是为了保证进程在并发执行时能做到有条不紊的执行

进程同步主要依靠进程同步机制,目前已知两种进程同步机制

  • 信号量机制
  • 管道机制

信号量机制

进程和线程_第4张图片

进程和线程_第5张图片

管道机制

进程和线程_第6张图片

进程和线程_第7张图片

进程通信

进程通信有三种:

  • 共享存储
  • 消息传递
  • 管道通信

共享存储

共享存储就是相当于采用信号量机制的线程同步

进程和线程_第8张图片

消息传递

消息传递是基于消息格式单位来进行,消息格式单位类似计算机网络中的报文
包括消息头和消息实体

有两种传递方式

  • 直接传递
  • 间接传递

直接传递:

进程和线程_第9张图片

间接传递:

进程和线程_第10张图片

管道传递

采用管程机制

进程和线程_第11张图片

线程

线程定义

进程和线程_第12张图片

线程的属性

进程和线程_第13张图片

线程的实现方式

用户级线程 KST

在这里插入图片描述

内核级线程 UTL

进程和线程_第14张图片

两者都支持 KST + UTL

进程和线程_第15张图片

一对一:

进程和线程_第16张图片

一个用户线程占用一个内核线程,所以一个用户进程占用多个内核线程,提高了并发,但是在需要新创建一个用户线程时需要创建一个新的内核线程

多对一:

进程和线程_第17张图片

当一个用户线程在访问内核时阻塞会导致整个用户进程阻塞

你可能感兴趣的:(春招,操作系统)