- 1、本文档共168页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 进程管理;2.1 进程的基本概念
2.2 进程控制
2.3 进程的互斥与同步
2.4 进程的调度
2.5 进程通信
2.6 死锁
2.7 线程
2.8 Linux中的进程管理 ;2.1 进程的基本概念;2.1.1 程序的顺序执行和并发执行;在多道程序设计出现以前,程序的最大特性是“顺序性”,即程序的顺序执行。一个程序通常由若干个程序段组成,它们必须按照某种先后次序执行,前一个操作执行完后,才能执行后继操作,这种计算过程即程序的顺序执行过程。
;程序顺序执行时的特性:
(1) 顺序性
处理机严格按照程序所规定的顺序执行,即每个操作必须在下一个操作开始之前结束。
(2) 封闭性
独占全部资源,程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。
(3) 可再现性
程序执行的结果与初始条件有关,而与执行时间无关。即只要程序的初始条件相同,它的执行结果是相同的,不论它在什么时间执行,也不管计算机的运行速度。
;2. 多道程序设计的引入;3. 程序的并发执行;程序的并发执行提高了系统的吞吐量,也产生了一些与顺序执行不同的新特点:
制约性
“走走停停”,原因:a、共享资源(硬件资源or软件资源,如同一自变量等);b、相互制约
失去封闭性
共享资源,受其他程序的控制逻辑的影响。
不可再现性
失去封闭性 -失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。;2.1.2 进程的定义与特征 ;此定义包含有如下的含义:
(1)进程是一个动态的概念,而程序是静态的;
(2)进程包含了一个数据集合和运行其上的程序;
(3)同一程序运行于若干不同的数据集合上时,它将属于若干个不同的进程,或者说,两个不同的进程可包含相同的程序;
(4)系统分配资源是以进程为单位的,所以只有进程才可能在不同的时刻处于几种不同的状态,即等待、就绪、运行。
(5)从微观上看,进程是轮换地占有处理机而运行的,从宏观上看,进程是并发地运行的。;2.进程的特征;3. 进程的结构;进程控制块;进程控制块的组成;(1) 进程标识符;(2) 处理机状态信息;(3) 进程调度信息;(4) 进程控制信息;
在一个系统中,通常存在许多进程,为了有效地进行管理,应该用适当的方法将PCB组织起来。目前常用的PCB组织方式有链接方式和索引方式。;;图2.4 PCB索引方式示意图
;4. 进程和程序的区别;2.1.3 进程的状态及其转换;运行态(Running):
当进程由调度/分派程序(Dispatcher)分派后,进程占有CPU,并在CPU上运行。(注意:在系统中,总只有一个进程处于此状态)
就绪态(Ready):
一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)。
阻塞态(Blocked):
指进程因等待某种事件的发生(请求I/O、申请缓冲空间等)而暂时不能运行的状态。;图2.5 进程状态之间的转换;就绪 -- 运行
调度程序选择一个新的进程运行
运行 -- 就绪
运行进程用完了时间片
运行进程被中断,因为一高优先级进程处于就绪状态
运行 -- 等待
当一进程必须等待时
OS尚未完成服务
对一资源的访问尚不能进行
初始化I/O 且必须等待结果
等待某一进程提供输入 (IPC)
等待 -- 就绪
当所等待的事件发生时;进程三状态模型的内存跟踪示意图;进程之间的状态转换并非都是可逆的,进程既不能从等待变为运行,也不能从就绪变为等待;
进程之间的状态转换并非都是主动的,在很多情况下是“它动的”,事实上,只有运行到等待的转换是进程的主动行为(主动调用调度管理程序),其它都是它动的,如,从执行到就绪,通常是时钟中断引起的,从等待到就绪,是一个进程把另一个进程唤醒。 ;2.2 进 程 控 制;基本概念;2、原语:primitive,是一种特殊的系统调用命令,是由若干条指令构成的用以完成特定功能的一段程序,必须在管态下执行,常驻内存,特点是原子性(不可中断性)。原语的作用是为了实现进程的通信和控制。
进程控制原语包括进程创建原语、进程撤销原语及进程阻塞与唤醒原语等。
;1. 进程创建;创建原语完成以下工作:
(1)建立一个PCB(申请一个空PCB)。
(2)为进程分配内存等必要资源(进程的工作区,存放程序处理的数据集)。
(3)初始化PCB中各项目,如,标识、初始状态为“就绪态”。
(4)PCB插入进程就绪队列。
;2. 进程撤销;撤消原语的工作:
(1)根据ID,从PCB链中查找对应PCB,并检查进程状态;
(2)若处于执行态,则立即终止;
(3)若还有子进程,则先终止
文档评论(0)