2 进程管理

2 进程管理(1)前驱图以及程序顺序执行和并发执行的特点 前驱图 前驱图,是指一个有向无循环图,记为DAG,用于描述进程之间执行的先后顺序

(1)前驱图以及程序顺序执行和并发执行的特点

  • 前驱图

前驱图,是指一个有向无循环图,记为DAG,用于描述进程之间执行的先后顺序。

【注】前驱图中是不允许有循环的❕❕

2 进程管理​​​​​​​​​​​​​​

  • 程序顺序执行

每个程序段按照某种先后次序顺序执行,仅当前一程序段执行完后,才能运行后一段程序段。

特征:顺序性封闭性可再现性

  • 程序并发执行

输入程序(I)、计算程序(C)和打印程序(P)三者之间,存在I_i->C_i->P_i的前驱关系。对一个作业的输入、计算、打印三个程序必须是顺序执行。对于一批作业进行处理,在P_i~_-~_1C_i以及I_i~_+~_1之间,可以并发执行。

程序并发执行

特征:间断性失去封闭性不可再现性

(2)进程的基本概念和思想

进程控制块(PCB),是进程存在的唯一标识

程序段相关数据段PCB三部分构成了进程实体(进程映像)。

进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

                    (进程是程序的一次执行。)

进程的特征:1)动态性 2)并发性 3)独立性 4)异步性

(3)进程的状态与转换

  • 进程的三态模型

按进程在执行过程中的不同情况至少要定义三种状态:

  1. 运行(running)态:进程占有处理器正在运行的状态。

    进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。

  2. 就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。

    当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。

  3. 等待(wait)态:又称阻塞态或睡眠态,指进程不具备运行条件,正在等待某个时间完成的状态。

    也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。

2 进程管理

引起进程状态转换的具体原因如下: ​

运行态→等待态:等待使用资源;如等待外设传输;等待人工干预。 ​

等待态→就绪态:资源得到满足;如外设传输结束;人工干预完成。 ​

运行态→就绪态:运行时间片到;出现有更高优先权进程。 ​

就绪态—→运行态:CPU 空闲时选择一个就绪进程。

  • 进程的五态模型

五态模型在三态模型的基础上增加了新建态(new)和终止态(exit)。

  1. 新建态:对应于进程被创建时的状态,尚未进入就绪队列。

    创建一个进程需要通过两个步骤:

    1)为新进程分配所需要资源和建立必要的管理信息。

    2)设置该进程为就绪态,并等待被调度执行。

  2. 终止态:指进程完成任务到达正常结束点,或出现无法克服的错误而异常终止,或被操作系统及有终止权的进程所终止时所处的状态。

    处于终止态的进程不再被调度执行,下一步将被系统撤销,最终从系统中消失。

    终止一个进程需要两个步骤:

    1)先等待操作系统或相关的进程进行善后处理(如抽取信息)。

    2)然后回收占用的资源并被系统删除。

2 进程管理

引起进程状态转换的具体原因如下: ​

NULL→新建态:执行一个程序,创建一个子进程。

​新建态→就绪态:当操作系统完成了进程创建的必要操作,并且当前系统的性能和虚拟内存的容量均允许。 ​

运行态→终止态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结。

​运行态→就绪态:运行时间片到;出现有更高优先权进程。 ​ 运行态→等待态:等待使用资源;如等待外设传输;等待人工干预。

​就绪态→终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。 ​

等待态→终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。 ​

终止态→NULL:完成善后操作。

(4)进程控制块及其作用

  • 进程控制块中的信息

1) 进程标识符

(1) 内部标识符
    操作系统为每一个进程赋予的唯一数字标识符,系统使用
(2) 外部标识符
    有创建者提供,通常有字母与数字组成,往往是由用户(进程)在访问该进程时使用。
    描述进程的家族关系,设置父进程标识及子进程标识,还可设置用户标识,以指示拥有该进程的用户。

2)处理机状态

主要是由处理机的各种寄存器中的内容组成的,处理机被中断时,所有这些信息都必须保存在PCB中,以便在该进程重新执行时,能从断点继续执行。
通用寄存器、指令计数器、程序状态字PSW、用户栈指针

3)进程调度信息

进程状态
进程优先级
进程调度所需的其它信息:与进程调度算法有关事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因

4)进程控制信息

程序和数据的地址
进程同步和通信机制
资源清单:除CPU以外的、进程所需的全部资源及已经分配到该进程的资源
链接指针:了本进程(PCB)所在队列中 的下一个进程的 PCB的首地址

  • 组织方式

(PCB通常是系统内存占用区中的一个连续存区)

1)线性方式

把所有PCB组织在一张线性表中,将该表的首地址存放在内存的一个专用区域中,每次查找是需要扫描全表,
适用于系统中进程数目不多的情况。

2)链接方式

把具有同一状态的 PCB,用其中 的链接字链接成一个队列,PCB存储在一个连续的存区。

​​​​​​​​​​​​​​2 进程管理

                        PCB链接队列示意图

3)索引方式

各个索引表在内存单元中的首地址也记录在内存中的专用单元中,
用添加索引表的方式记录具有相应状态下的某个PCB在PCB表中的地址。

2 进程管理

                         按索引方式组织PCB

  • 进程控制块PCB的作用

使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。

(5)进程组织

进程是一个独立的运行单位,也是操作系统进行资源分配和调度的基本单位。它是由进程控制块、程序段、数据段三部分组成,其中最核心的是进程控制块PCB

组织方式见(6)

(6)进程同步:进程同步的概念和同步原则,临界资源和临界区的概念,信号量及其应用,经典进程同步问题

进程同步​​​​​​​

(7)进程通信的基本概念和方法

  • 进程通信的基本概念

进程通信是指进程之间的信息交换

  • 进程通信的类型

a.共享存储器系统

1)基于共享数据结构的通信方式(低级)

2)基于共享存储区的通信方式(高级)

b.管道(pipe)通信系统

管道:实现读、写进程间通信的一个共享文件(pipe文件)

三方面协调:1.互斥2.同步3.确定对方是否存在

c.消息传递系统

1)直接通信方式

2)间接(信箱📪)通信方式

(8)线程的概念和多线程模型

  • 线程与进程

  • 在OS中引入进程的目的是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量

  • 在OS中再引入线程,是为了减少程序在并发执行时所付出的时空开销,使OS具有良好的并发性

调度的基本单位 并发性 拥有资源 独立性 系统开销 支持多处理机系统
进程 同一进程中的多个线程共享进程中内存地址空间和资源。 传统进程只能运行在一个处理机上
线程 多线程进程,一个进程中的多个线程分配到多处理机上,使其并发执行

线程的状态转换与进程的状态转换一样。

线程控制块TCB

  • 线程的实现方式

a.内核支持线程(KST)(内核支持

b.用户级线程(ULT)(与内核无关

c.组合方式(多线程模型)

1)多对一:将用户线程映射到一个内核控制线程

2)一对一:将每一个用户级线程映射到一个内核支持线程

2)多对多:将许多用户级线程映射到同样的数量或者更少数量的内核线程

                 (用户级线程数量>=内核线程数量)

2 进程管理

今天的文章2 进程管理分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65928.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注