【操作系统③】 | 您所在的位置:网站首页 › 进程处于运行状态表示 › 【操作系统③】 |
🍺 文章目录 一、知识框架总览:二、进程的定义三、进程的类型和特性1、进程的分类2、进程的属性3、程序与进程之间的区别 四、进程的状态和转换1、最基本的三种进程状态2、三种进程状态的切换3、五种进程状态(新增两个状态)4、七种进程状态(再新增两个状态) 五、进程控制块(非常重要的一小节)1、定义2、构成内容3、组织形式 六、进程要素1、构成内容2、进程上下文3、进程上下文切换的主要内容 七、小结(整体的思维导图)八、参考附录:Status ☁️ 同样的,每一个新产生的东西的优点,都是为了优化上一个整体的缺点。 上一篇文章地址链接:【操作系统②】——操作系统的发展与分类、操作系统的结构设计【分时操作系统 整体式 层次式 】. 下一篇文章地址链接:【操作系统④】——进程控制【原语 Linux进程创建 阻塞和唤醒 撤销 挂起和激活】. 一、知识框架总览:◆ 进程是为了描述程序在并发执行时对系统资源的共享,所需的一个 描述程序执行时动态特征 的概念。 ◆ 进程是具有独立功能的程序关于某个数据集合上的一次运动活动,是系统进行资源分配、调度和保护的独立单位。 三、进程的类型和特性 1、进程的分类◆ 系统进程:操作系统的模块在操作系统执行的时候,它所演化出来的一种进程。常常是一些操作系统的服务进程。 ◆ 用户进程:在用户的应用程序运行的时候,系统为这个应用程序创建的进程。 2、进程的属性◆ 结构性:进程是由进程控制块、程序、数据和栈这几个部件构成,它有一个结构性的特征,有几个部分组合而成。 ◆ 共享性:对系统中资源的共享性。即在一个系统中,进程可以共享系统中的种种资源。包括内存、其他的IO设备等。共享有 分时、分空间 共享这两种特征。 ◆ 动态性:进程可以从无到有地创建出来、再运行、然后结束,它即有这样一个动态特征。 ◆ 独立性:多个进程在系统中并发地运行,他们之间不仅在时间上,也在空间上是相互独立的,大家轮流使用CPU。 ◆ 制约性:有一些进程彼此之间有制约关系,比如有些进程在竞争资源的时候。 ◆ 并发性:在多道程序的环境下面,多个进程在系统中并发地运行。(体现了一种宏观上并行,微观上串行的特征) 3、程序与进程之间的区别① 进程能真实地描述并发,而程序不能。(因为程序本质上是由代码构成的,代码无所谓并发还是不并发) ② 进程是由程序、数据和控制块组成。 ③ 程序是静态的,进程是动态的。(因为程序本质上是由代码构成的) ④ 进程有生命周期,程序是相对长久的。(因为程序是保存在硬盘上的) ⑤ 一个程序可对应多个进程,一个进程也可以由多个程序构成。(前者比如登录多个QQ,后者比如开启直播软件) ⑥ 进程具有创建其他进程的功能,但程序没有。 四、进程的状态和转换 1、最基本的三种进程状态◆ 运行态(Runing):进程当前占有CPU,并在在CPU上运行。 ◆ 就绪态(Ready):① 一个进程已经具备运行条件,但没有分配CPU,暂时不能运行。②当调度给该进程CPU时,立即可以运行。 ◆ 等待态(Blocked):① 有时也叫作 “阻塞态、封锁态、睡眠态” 。② 当前进程因等待某事件的发生而暂时不能运行的状态。③ 即使这时CPU空闲,该进程也不能运行。 2、三种进程状态的切换◆ 就绪 一一> 运行:在调度程序时,一旦调度到这个进程的时候,就发生这件事(这个进程就由就绪态切换到了运行态)。 ◆ 运行 一一> 就绪:运行进程用完了CPU分给它的时间片时发生。 ◆ 运行 一一> 等待:发生情况有: ① 操作系统尚未完成某项服务。② 这个进程对某项资源的访问不能得到满足。③ 初始化I/O且须等待结果。④ 等待某一进程提供输入。 ◆ 等待 一一> 就绪:等待的事件得到满足时发生。 3、五种进程状态(新增两个状态)为什么需要新建态呢? 因为就绪态也是需要一个过程,才能达到这样的状态。比如当用户启动一个应用程序,系统为它创建了一个进程。在进程创建的过程中,该进程所需要资源并没有得到满足的时候,这时候就有一个类似于过渡的状态。我们一般就把这种状态叫做新建态。 为什么需要终止态呢? 只有增加了这种状态,才能最终对进程整个生命周期进行一个收尾。 ◆ 无 一一> 新建态:创建子进程 ◆ 新建态 一一> 就绪态:系统完成进程创建操作,且当前系统的性能和内存的容量均允许。 ◆ 运行态 一一> 终止态:进程到达自然结束后自动终结,或出现了无法克服的错误所猝s,或被操作系统所终结,或被其他有终止权的进程所终结。 ◆ 终止态 一一> NULL:完成善后操作 ◆ 就绪态 一一> 终止态:父进程/操作系统 强行地终结 处于就绪态的子进程 ◆ 等待态 一一> 终止态:父进程/操作系统 强行地终结 处于终止态的子进程 4、七种进程状态(再新增两个状态)◆ 新增的两个状态为:就绪挂起态、等待挂起态。 为什么需要挂起态呢?理由如下: ① 进程在不断创建时,系统资源已不再能满足进程所运行的要求。 ② 某些进程挂起,会对换到磁盘镜像区中,暂时不参与进程调度,这样可以平滑操作系统的负荷。 (关键原因:内存空间有限,若现在系统不得不腾出一部分空间来给当前需要的进程使用,而系统中一部分进程就得先“挂起”,让出资源。) ◆ 进程控制块 (Process Control Block,PCB) 是系统为了管理进程而设置的专门的数据结构,用来记录进程的外部特征,描述进程的变化过程。 ◆ 系统利用 PCB 来控制和管理里面的所有进程,PCB是系统感知进程存在的唯一标志。 ◆ 进程与 PCB 一 一 对应。即一个进程只有一个PCB,一个PCB也只对应一个进程。 打个比方:如果把一个操作系统比作“人类社会”,那进程和PCB就像 “人” 和 “身份证” 一样。我们每个人都有一张身份证,身份证上面就有我们个人的基本描述信息(姓名、出生日期、身份证号码等等)。只不过 “人” 的生命周期比系统中的进程长一点,人可以活几十岁。在一个操作系统中,进程只有唯一的标志即PCB,那在 “人类社会”,我们被公安叔叔所认可的在狭义上也只有身份证。 2、构成内容① 进程的描述信息: [1] 进程标识符 (process ID):具有唯一性,通常是一串整数。(就像我们身份证上面的身份证号码,是唯一的)。 [2] 进程名:通常是执行的文件名,不唯一(就像身份证上的姓名)。 [3] 用户标识符 (user ID):记录下这个进程是由哪一个用户所创建的。 [4] 进程的组关系:它有多种表现形式,比如说记录同一个用户创建的进程可以算成一组,记录的就是这样一组关系。
② 进程的控制信息: [1] 当前状态:进程当前所处的状态。 [2] 优先级:进程会定一些优先级,比如说系统进程的优先级一般要高于用户进程。(就像军人优先、有项目实战经验优先考虑等) [3] 代码执行的入口地址 [4] 程序的外存地址 [5] 运行统计信息 [6] 进程同步和通信的信息 [7] 阻塞的原因 [8] 进程的队列指针信息 [9] 进程的消息队列指针信息 ③ 所拥有的资源和使用情况: [1] 虚拟地址空间的现状(即这个进程所在逻辑空间的一个状况) [2] 打开的文件列表 ④ CPU现场保护信息: [1] 寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针) [2] 指向赋予该进程的 段表/页表 的指针 (会在后面操作系统存储的部分内容具体来讲) 3、组织形式◆ 系统把PCB组织在一起,放在内存中,构成PCB表。 ◆ PCB表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。 ◆ 组织方式:①就绪队列。②等待队列(也叫作阻塞队列)。如下图所示
◆ 进程控制块PCB(进程属性)在内存中处于核心段(一般由系统内核直接控制)。用户进程不能直接访问、修改自身的PCB。 2、进程上下文◆ 进程上下文 = 进程本身 + 运行环境 。它是对进程执行活动全过程的静态描述。具体而言,它由进程的用户地址空间内容、硬件寄存器内容及该进程相关的核心数据所构成。 ◆ 进程上下文还可以分成三个部分: ① 寄存器级上下文(主要是进程和CPU相关的内容):PSW寄存器、处理器状态寄存器、栈指针、通用寄存器的值。 ② 系统级上下文(操作系统内核所直接管理的内存内容):静态部分——PCB和资源表格、动态部分——核心栈(核心过程的栈结构,不同进程在调用相同核心过程时有不同核心栈) ③ 用户级上下文:进程的用户地址空间,包括用户正文段、用户数据段和用户栈。 3、进程上下文切换的主要内容① 先保存被中断进程的处理器现场信息。 ② 再修改被中断进程的进程控制块的有关信息,如进程状态等。 ③ 然后把被中断进程的进程控制块加入到有关队列中。 ④ 接着选择下一个占有处理器运行的进程。 ⑤ 再修改被选中进程的进程控制块的有关信息。 ⑥ 然后根据被选中进程,来设置操作系统用到的地址转换和存储保护信息。 ⑦ 最后根据被选中的进程恢复处理器现场。 七、小结(整体的思维导图)[1] 《王道计算机考研 操作系统》 看视频可能快一些,但深刻理解还是需要文字和沉淀 链接: https://www.bilibili.com/video/BV1YE411D7nH?p=2. [2] 《操作系统A》 我们上课用的慕课 链接: https://www.icourse163.org/course/NJUPT-1003219004?from=searchPage. [3] 《操作系统教程》 我们上课用的教材 上一篇文章地址链接:【操作系统②】——操作系统的发展与分类、操作系统的结构设计【分时操作系统 整体式 层次式 】. 下一篇文章地址链接:【操作系统④】——进程控制【原语 Linux进程创建 阻塞和唤醒 撤销 挂起和激活】. 未完待续… ⭐️ ⭐️ |
CopyRight 2018-2019 实验室设备网 版权所有 |