浙大08秋冬学期《操作系统原理》课程第二章课堂笔记.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:34 大小:1.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

浙大08秋冬学期《操作系统原理》课程第二章课堂笔记.doc

浙大08秋冬学期《操作系统原理》课程第二章课堂笔记.doc

预览

免费试读已结束,剩余 24 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

奥鹏远程教育中心助学服务部http://www.open.com.cnPageofNUMPAGES34浙大08秋冬学期《操作系统原理》课程第二章课堂笔记第二章进程管理2.1进程的引入和描述2.1.1为什么引入进程为了提高资源利用率,系统采用多道程序设计,程序执行环境由顺序执行变为并发执行。程序顺序执行(SequentialExecution)与特征一个较大的程序通常都由若干个程序段组成,程序在顺序的处理机上执行时,各程序段必须按照先后次序逐个执行。程序各程序段先后执行次序关系可用前趋图表示。前趋图(PredecessorGraph)是一个有向无循环图,图由结点和结点间有向边组成,结点代表各程序段操作,而结点间的有向边表示两程序段操作之间存在的前趋关系(“→”)。两程序段Pi和Pj的前趋关系表示成Pi→Pj,Pi是Pj的前趋,Pj是Pi的后继。(1)程序独占处理机顺序执行时特征顺序性:程序各程序段严格按照规定的顺序执行。封闭性:程序运行时机内各资源只受该程序控制而改变,执行结果不受外界因素影响。可再现性:只要程序执行环境和初始条件相同,程序多次执行,可获得相同结果。程序并发执行(ConcurrentExecution)与特征程序并发执行的前趋图四个上述三个程序段类的作业并发执行的前趋图如下图所示:程序并发执行特征(了解)1)间断性:程序在并发执行时,由于它们共享资源或为完成同一项任务而相互合作,使在并发程序之间形成了相互制约的关系。相互制约将导致并发程序具有“执行-暂仃-执行”这种间断性活动规律。2)失去封闭性:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行已失去了封闭性。3)不可再现性:程序在并发执行时,由于失去了封闭性,也将导致失去结果的可再现性。即程序经过多次运行,虽然其各次的环境和初始条件相同,但得到的结果却各不相同。例:观察者/报告者进程的引入为了提高资源利用率,系统采用多道程序设计,程序执行环境由顺序执行变为并发执行。由于程序在并发执行时,可能会造成执行结果的不可再现,所以用“程序”这个概念已无法描述程序的并发执行,所以必须引入新的概念---进程来描述程序的并发执行,并要对进程进行必要的管理,以保证进程在并发执行时结果可再现。进程这一术语最早由麻省理工学院著名的操作系统MULTICS中提出。进程(Process)定义:“可并发执行的程序在一个数据集合上的运行过程”。(掌握)进程的特征:(重点掌握)1)动态性:动态性是进程的最基本特征,它是程序执行过程,它是有一定的生命期。它由创建而产生、由调度而执行,因得不到资源而暂仃,并由撤消而死亡。而程序是静态的,它是存放在介质上一组有序指令的集合,无运动的含义2)并发性:并发性是进程的重要特征,同时也是OS的重要特征。并发性指多个进程实体同存于内存中,能在一段时间内同时运行。而程序是不能并发执行。3)独立性:进程是一个能独立运行的基本单位,即是一个独立获得资源和独立调度的单位,而程序不作为独立单位参加运行。4)异步性:进程按各自独立的不可预知的速度向前推进,即进程按异步方式进行,正是这一特征,将导致程序执行的不可再现性,因此OS必须采用某种措施来限制各进程推进序列以保证各程序间正常协调运行。5)结构特征:从结构上,进程实体由程序段、数据段和进程控制块三部分组成。2.1.2进程的描述1.进程的三个基本状态(掌握)(1)运行态/执行态(Running):当一个进程在处理机上运行时,则称该进程处于运行状态。(2)就绪态(Ready):一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。(3)阻塞态(Blocked):(又称挂起状态、等待状态):一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。图2-3进程的三个基本状态转换图2.进程状态的转换(掌握)就绪态――>运行态:当处理机空闲时,进程调度程序必将处理机分配给一个处于就绪态的进程,该进程便由就绪态转换为运行态。运行态――>阻塞态:处于运行态的进程在运行过程中需要等待某一事件发生后,才能继续运行,则该进程放弃处理机,从运行态转换为阻塞态。阻塞态――>就绪态:处于阻塞态的进程,若其等待的事件已经发生,于是进程由阻塞态转换为就绪态。运行态――>就绪态:处于运行状态的进程在其运行过程中,因分给它的处理机时间片已用完,而不得不让出(被抢占)处理机,于是进程由运行态转换为就绪态。而阻塞态――>运行态和就绪态――>阻塞态这二种状态转换不可能发生。系统