- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3-操作系统进程管理
第三章 操作系统进程管理 content 进程概述 进程的管理结构:进程控制块 进程调度算法 进程调度的实例 进程控制的实现 线程及其实现 Linux进程管理概述 (一)进程概述 1-1、 背景和概念 背景:如何描述一个程序的一次运行过程? 进程 程序在一个数据集上的一次运行过程 操作系统进行资源分配和调度的一个可并发执行的独立单位。 从操作系统角度看: 由数据结构以及在其上执行的程序(代码序列)组成 是操作系统进行资源分配和保护的基本单位 1-2 进程的特性: 独立性:进程既是系统中资源分配和保护的基本单位,也是系统调度的独立单位 。凡是未建立进程的程序,都不能作为独立单位参与运行 动态性:进程是程序在数据集合上的一次执行过程,是动态概念,同时,它还有生命周期,由创建而产生,由撤销而消亡 。 并发性:进程可以并发地执行,进程的执行过程可以被中断。CPU对多个进程可以并发执行。 1-3、进程和程序 进程是程序的一次动态执行活动,而程序是进程运行的静态描述文本。 一个进程可以执行一个或多个程序,但同一时刻只能执行一个程序。 同一程序也可被多个进程同时执行。 程序是一种软件资源,它可以长期保存,而进程是一次执行过程,它是暂时存在的,动态地产生和中止的。 令人混淆的程序和进程 “把你的程序给我复制一份”? “启动的程序太多了,系统好慢啊”? “这个程序没响应了,死了”? 1-3、进程的组成 进程映像:或进程执行现场,或进程上下文。具体组成: 代码段:或叫正文段,在多个进程间可以实现共享。 数据上下文: 用户层次: 外部变量和静态变量 工作区,即栈,包含局部变量,函数调用的现场。 操作系统层:执行现场和核心栈。 寄存器层次:控制寄存器和数据寄存器。 管理结构:进程控制块,描述进程的运行状况,资源占用状况,以方便操作系统实现对进程的管理和控制。 进程控制表:用来管理进程及其相关信息。 存储控制表:用来管理一级(主)存储器和二级(虚拟)存储器,主要内容包括:主存储器的分配信息,二级存储器的分配信息,存储保护和分区共享信息,虚拟存储器管理信息。 I/O控制表:用来管理计算机系统的I/O设备和通道,主要内容包括:I/O设备和通道是否可用,I/O设备和通道的分配信息,I/O操作的状态和进展,I/O操作传输数据所在的主存区。 文件控制表:用来管理文件,主要内容包括:被打开文件的信息,文件在主存储器和二级存储器中的位置信息,被打开文件的状态和其他属性信息。 1-4、 进程的状态 一个进程从创建而产生至撤销而消亡的整个生命周期,可以用一组状态加以刻划。 为了便于管理进程,一般来说,按进程在执行过程中的不同状况至少定义三种不同的进程状态: 运行态(running):占有处理器正在运行。对单处理器的系统而言,同一时刻最多只能有一个进程处于执行态,而对有n个CPU的系统呢? 就绪态(ready):具备除处理器外的其它所有运行条件(具备的外设资源,内存资源等),等待系统分配处理器以便运行。 可以有多个进程同时处于就绪态,系统通常将他们排成一个队列,成为就绪队列。 就绪队列仅是保存就绪进程的数据结构,队列上进程的次序并不一定代表获取CPU的先后次序,这要视调度算法而定。 等待/阻塞态(blocked):又称睡眠态,或挂起态。不具备运行条件,正在等待非CPU的资源的完成,如 等待用户输入数据 等待外设空闲 等待其它进程的信号(如完成工作的信号) 有些系统在上述三种的基础上又定义了两种状态: 新建态:并没有被提交执行,而是在等待操作系统完成创建进程的必要操作 终止态:进入终止态的进程以后不再执行,但依然临时保留在操作系统中等待善后 。 1-5、状态转换 处于一个状态的进程,在一定条件下会转变到另外一种状态。 状态转换条件: 运行态—→等待态:等待使用资源;如等待外设传输;等待人工干预。 等待态—→就绪态:资源得到满足;如外设传输结束;人工干预完成。 运行态—→就绪态:运行时间片到;出现有更高优先权进程。 就绪态—→运行态:CPU空闲时选择一个就绪进程。 (二)进程控制块 2-1、进程控制块的基本概念 为了有效的管理进程和资源,操作系统必须掌握每一个进程和使用资源的当前状态; 操作系统为每个进程设置一个数据结构,涵盖进程相关的所有管理信息。该结构称为进程控制块,Process Control Block, PCB; 每个进程有且仅有一个进程控制块,是操作系统用于记录和刻划进程状态及有关信息的数据结构; 进程控制块是操作系统掌握进程的最重要数据结构,它包括了进程执行时的情况,以及进程让出处理器后所处的状态、断点等信息。 正文段属于进程控制块的一部分吗? 数据段属于进程控制块的一部分吗? 2-2进程控制块的主要内容: 标示信息:常用的标识信息
文档评论(0)