操作系统 第二章 进程管理

一、进程的基本概念

1、前趋图:有向循环图,用于描述程序/进程之间执行的前后关系。

2、程序的顺序执行:一个、独占所有资源、只想不受外界因素影响、顺序执行。

程序顺序执行的特点有:顺序性(程序之间顺序执行)、封闭性(计算结果不受外界因素的影响)、可再现性(一个程序内:程序的结果与执行速度无关【顺序】,相同的输入,相同的输出)。

3、程序的并发执行:执行时间重叠、一个未结束,另外的一个已经开始。

程序并发执行的特点:间断性、失去程序的封闭性(多个程序共享程序中的资源)、不可再现性(并非所有的执行都是不可再现)。

4、进程:

进程的实体:程序段、数据段、进程控制块(PCB)。

(1)进程的概念:指进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

(2)进程和程序的区别:

  a.  程序为静态的,进程是动态的。

  b.  程序为永久的,进程是暂时的。

  c.  进程更能真实的描述并发。

  d.  进程是由程序和数据、进程控制块三部分组成的。

  e.  进程具有创建其他进程的功能,而程序没有。

  f.  同一程序可以对应多个进程。

(3)进程的特点:
  a.  结构特征:由程序段和数据段、进程控制块三部分组成的。

  b.  动态性:进程是程序的执行。

  c.  并发性:多个进程同存在内存中,能在一段时间内同时运行。

  d.  独立性:独立运行的基本单位,独立获得资源和调度的基本单位。

  e. 异步性:各个进程按各自独立的不可预知的速度向前推进。

5、进程的三种基本状态:

(1)就绪状态

(2)运行状态:单处理机(一个进程);多处理机(多个进程)。

(3)阻塞/等待状态:通过队列来管理处理

当前进程:有处理机执行。

进程被唤醒,意味着进程处于就绪状态。

6、三状态的转换模型:就绪、运行、阻塞。eg:Windows

7、五状态的转换模型:就绪、运行、阻塞、新(创建新进程:许可)、退出(释放)。

8、七状态的转换模型:就绪挂起(静止就绪)、阻塞挂起(静止阻塞)、就绪、运行、阻塞、新、退出。

9、九状态的转换模型:在内存中就绪、在内存中睡眠、被抢占、用户态的运行、内核态的运行、创建、就绪且换出、睡眠且换出、僵死。eg:Linux

补充:挂起状态(不被调度):引入的原因(5条)。

 10、进程的控制块(PCB):

(1) PCB中记录了OS所需要的、用于描述进程当前情况以及控制进程运行的全部信息。

(2)进程与PCB是一一对应的,并且PCB常驻于内存。

(3)它的作用是:

  a.  将一个不能独立运行的程序编程一个可以独立运行的基本的单位,一个与其他进程并发执行的进程。

  b.  OS利用PCB来对并发执行的进程进行控制和管理,PCB是OS感知进程存在的唯一标志。

(4)PCB的内容:

  a.  描述信息:进程标识符(PID,唯一,通常为整数);进程名(可执行文件名);用户名,进程组关系。

  b.  进程控制信息:当前状态;优先级;代码执行入口地址;程序外村地址;//;运行统计信息;进程之间的同步和通信;阻塞原因;进程的队列指针;进程的消息队列指针。

  c.  所拥有的资源和使用情况:虚拟地址空间状况;打开文件列表。

  d.  CPU现场保护信息:寄存器的值;指向该进程的段/页表的指针。

(5)PCB的组织:

PCB表:

  a.  链接结构

  b.  索引结构

二、进程的控制

三、线程

四、进程同步

五、经典的进程同步问题

六、管程机制

七、会合机制

八、进程通信

猜你喜欢

转载自www.cnblogs.com/mylovertomylove/p/12449189.html