(1)前驱图以及程序顺序执行和并发执行的特点
-
前驱图
前驱图,是指一个有向无循环图,记为DAG,用于描述进程之间执行的先后顺序。
【注】前驱图中是不允许有循环的❕❕
-
程序顺序执行
每个程序段按照某种先后次序顺序执行,仅当前一程序段执行完后,才能运行后一段程序段。
特征:顺序性;封闭性;可再现性
-
程序并发执行
输入程序(I)、计算程序(C)和打印程序(P)三者之间,存在->->的前驱关系。对一个作业的输入、计算、打印三个程序必须是顺序执行。对于一批作业进行处理,在和以及之间,可以并发执行。
特征:间断性;失去封闭性;不可再现性
(2)进程的基本概念和思想
进程控制块(PCB),是进程存在的唯一标识。
由程序段、相关数据段和PCB三部分构成了进程实体(进程映像)。
进程的定义:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
(进程是程序的一次执行。)
进程的特征:1)动态性 2)并发性 3)独立性 4)异步性
(3)进程的状态与转换
-
进程的三态模型
按进程在执行过程中的不同情况至少要定义三种状态:
运行(running)态:进程占有处理器正在运行的状态。
进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。
就绪(ready)态:进程具备运行条件,等待系统分配处理器以便运行的状态。
当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。
等待(wait)态:又称阻塞态或睡眠态,指进程不具备运行条件,正在等待某个时间完成的状态。
也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
引起进程状态转换的具体原因如下:
运行态→等待态:等待使用资源;如等待外设传输;等待人工干预。
等待态→就绪态:资源得到满足;如外设传输结束;人工干预完成。
运行态→就绪态:运行时间片到;出现有更高优先权进程。
就绪态—→运行态:CPU 空闲时选择一个就绪进程。
-
进程的五态模型
五态模型在三态模型的基础上增加了新建态(new)和终止态(exit)。
新建态:对应于进程被创建时的状态,尚未进入就绪队列。
创建一个进程需要通过两个步骤:
1)为新进程分配所需要资源和建立必要的管理信息。
2)设置该进程为就绪态,并等待被调度执行。
终止态:指进程完成任务到达正常结束点,或出现无法克服的错误而异常终止,或被操作系统及有终止权的进程所终止时所处的状态。
处于终止态的进程不再被调度执行,下一步将被系统撤销,最终从系统中消失。
终止一个进程需要两个步骤:
1)先等待操作系统或相关的进程进行善后处理(如抽取信息)。
2)然后回收占用的资源并被系统删除。
引起进程状态转换的具体原因如下:
NULL→新建态:执行一个程序,创建一个子进程。
新建态→就绪态:当操作系统完成了进程创建的必要操作,并且当前系统的性能和虚拟内存的容量均允许。
运行态→终止态:当一个进程到达了自然结束点,或是出现了无法克服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结。
运行态→就绪态:运行时间片到;出现有更高优先权进程。 运行态→等待态:等待使用资源;如等待外设传输;等待人工干预。
就绪态→终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。
等待态→终止态:未在状态转换图中显示,但某些操作系统允许父进程终结子进程。
终止态→NULL:完成善后操作。
(4)进程控制块及其作用
-
进程控制块中的信息
1) 进程标识符
(1) 内部标识符
操作系统为每一个进程赋予的唯一数字标识符,系统使用
(2) 外部标识符
有创建者提供,通常有字母与数字组成,往往是由用户(进程)在访问该进程时使用。
描述进程的家族关系,设置父进程标识及子进程标识,还可设置用户标识,以指示拥有该进程的用户。
2)处理机状态
主要是由处理机的各种寄存器中的内容组成的,处理机被中断时,所有这些信息都必须保存在PCB中,以便在该进程重新执行时,能从断点继续执行。
通用寄存器、指令计数器、程序状态字PSW、用户栈指针
3)进程调度信息
进程状态
进程优先级
进程调度所需的其它信息:与进程调度算法有关事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因
4)进程控制信息
程序和数据的地址
进程同步和通信机制
资源清单:除CPU以外的、进程所需的全部资源及已经分配到该进程的资源
链接指针:了本进程(PCB)所在队列中 的下一个进程的 PCB的首地址
-
组织方式
(PCB通常是系统内存占用区中的一个连续存区)
1)线性方式
把所有PCB组织在一张线性表中,将该表的首地址存放在内存的一个专用区域中,每次查找是需要扫描全表,
适用于系统中进程数目不多的情况。
2)链接方式
把具有同一状态的 PCB,用其中 的链接字链接成一个队列,PCB存储在一个连续的存区。
PCB链接队列示意图
3)索引方式
各个索引表在内存单元中的首地址也记录在内存中的专用单元中,
用添加索引表的方式记录具有相应状态下的某个PCB在PCB表中的地址。
按索引方式组织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 进程管理分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65928.html