计算机操作系统教程(第三版)左万历_课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机操作系统教程(第三版)左万历_课件.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统教程(第三版)左万历_课件.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、导航导航结束结束第二章第二章 进程、线程与作业进程、线程与作业2.1 多道程序设计多道程序设计Multi-programming2.2 进程的引入进程的引入Process 2.3 线程与轻进程线程与轻进程Thread and light-weighted process2.4 作业作业JobActive objects1导航导航结束结束2.1 多道程序设计多道程序设计 Multi-programming全部全部处部时间处部时间作作业道数业道数吞吐量吞吐量=提高系统效率提高系统效率(吞吐量吞吐量)多道程序设计目标多道程序设计目标2导航导航结束结束2.1.1 单道程序设计的缺点单道程序设计的缺点2
2、.1.2 多道程序设计的提出多道程序设计的提出2.1.3 多道程序设计的问题多道程序设计的问题3导航导航结束结束2.1.1 单道程序设计的缺点单道程序设计的缺点处理机利用率低处理机利用率低设备利用率低设备利用率低内存利用率低内存利用率低运行程序运行程序ACPU设备设备1运行程序运行程序Att1t2t5t6设备设备24导航导航结束结束2.1.2 多道程序设计的提出多道程序设计的提出CPU设备设备1程序程序Att1t2t5t6设备设备2程序程序B提高处理机、设备、内存等各种资源的提高处理机、设备、内存等各种资源的利用率,从而提高系统效率。利用率,从而提高系统效率。程序程序At3t45导航导航结束结
3、束2.1.2 多道程序设计的提出多道程序设计的提出(Cont.)增加同时运行程序的道数可以提高资源增加同时运行程序的道数可以提高资源利用率,从而提高系统效率,但道数应利用率,从而提高系统效率,但道数应与系统资源数量相当。与系统资源数量相当。道数过少,系统资源利用率低。道数过少,系统资源利用率低。道数过多,系统开销道数过多,系统开销(system overhead)增大,程序响应速度下降。增大,程序响应速度下降。6导航导航结束结束2.1.3 多道程序设计的问题多道程序设计的问题处理机资源的管理处理机资源的管理程序个数程序个数 处理机个数处理机个数(如何分配如何分配?)存储资源的管理存储资源的管理
4、地址空间的相对独立性、共享性地址空间的相对独立性、共享性内存、外存内存、外存(swap space)的分配与去配的分配与去配设备资源管理设备资源管理分配策略分配策略IO控制控制7导航导航结束结束程序的并序执行程序的并序执行程序的顺序执行程序的顺序执行8导航导航结束结束2.2 进程的引入进程的引入2.2.1 进程的概念进程的概念2.2.2 进程状态及状进程状态及状态转换态转换2.2.3 进程控制块进程控制块2.2.4 进程的组成与进程的组成与上下文上下文2.2.5 进程的队列进程的队列2.2.6 进程的类型与特征进程的类型与特征2.2.7 进程间相互联系与进程间相互联系与相互作用相互作用2.2.
5、8 进程的创建与撤销进程的创建与撤销2.2.9 进程与程序间的联进程与程序间的联系与差别系与差别9导航导航结束结束多道系统中的程序:多道系统中的程序:推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,推进,暂停,.暂停:保存现场暂停:保存现场(PSW+PC,寄存器)寄存器)推进:恢复现场推进:恢复现场(寄存器,寄存器,PSW+PC)暂停原因:暂停原因:(1)自身原因:等待资源,启动自身原因:等待资源,启动IO (2)剥夺剥夺CPU给其它程序运行机给其它程序运行机会会2.2 进程的引入(Cont.)10导航导航结束结束2.2.1 进程的概念进程的概念定义:定义:
6、可参与并发执行的程序称为进程。可参与并发执行的程序称为进程。进程是具有一定独立功能的程序关于一个数进程是具有一定独立功能的程序关于一个数据集合的一次运行活动。据集合的一次运行活动。定义强调两个方面:定义强调两个方面:动态:执行中的程序动态:执行中的程序;并发:可与其他进程同时执行。并发:可与其他进程同时执行。11导航导航结束结束并发并发 vs.并行并行并发:并发:concurrent宏观同时,宏观同时,“交替执行交替执行”,不要求多个,不要求多个CPU并行:并行:parallel微观同时,要求多个微观同时,要求多个CPU“并行算法并行算法”12导航导航结束结束2.2.2 进程状态及状态转换进程
7、状态及状态转换2.2.2.1 进程状态进程状态(基本状态基本状态)运行态运行态(RUN):占有占有CPU正在向前推进正在向前推进就绪态就绪态(READY):可以运行可以运行,但,但未未得到得到CPU等待态等待态(WAIT):等待某一事件发生等待某一事件发生2.2.2.2 状态转换状态转换就绪就绪运行:获得处理机运行:获得处理机运行运行就绪:剥夺处理机就绪:剥夺处理机运行运行等待:申请资源未得到,启动等待:申请资源未得到,启动IO等待等待就绪:得到资源,就绪:得到资源,IO中断中断13导航导航结束结束就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生
8、2.2.2.2 进程状态转换图进程状态转换图演示演示14导航导航结束结束2.2.2.2 进程状态转换图就绪就绪等待等待运行运行获得处理机获得处理机剥夺处理机剥夺处理机等待事件等待事件事件发生事件发生初创初创终止终止创建创建结束结束15导航导航结束结束2.2.3 进程控制块进程控制块(PCB)标志进程存在的数据结构,其中保存系标志进程存在的数据结构,其中保存系统管理进程所需的全部信息统管理进程所需的全部信息PCB内容内容:(不同系统不尽相同不同系统不尽相同)进程标识进程标识(pid)家族联系家族联系进程状态进程状态 地址信息地址信息现场信息现场信息 打开文件打开文件调度参数调度参数 消息指针消息
9、指针所属用户所属用户(uid)队列指针队列指针PCB是进程存在的唯一是进程存在的唯一标志。进程的创建,进标志。进程的创建,进程的撤销程的撤销请见教材请见教材29页分析页分析Process Control Block16导航导航结束结束2.2.4 进程的组成与上下文进程的组成与上下文进程的组成进程的组成进程控制块进程控制块(process control block)建立进程建立进程建立建立PCB撤销撤销PCB撤销进程撤销进程程序程序代码代码(code)数据数据(data)堆栈堆栈(stack+heap)n栈:保存返回点、参数、返回值、局部变量栈:保存返回点、参数、返回值、局部变量n堆:动态变量
10、堆:动态变量17导航导航结束结束2.2.4 进程的组成与上下文进程的组成与上下文进程的表记进程的表记PCB程序程序PCB代码代码数据数据+堆栈堆栈表记表记1表记表记2系统空间系统空间用户空间用户空间18导航导航结束结束2.2.4 进程的组成与上下文进程的组成与上下文l进程上下文(进程上下文(process context)进程的物理实体与支持进程运行的物理环境统称为进程的物理实体与支持进程运行的物理环境统称为进程上下文进程上下文lPCB+程序程序l系统环境:地址空间,系统栈,打开文件表,系统环境:地址空间,系统栈,打开文件表,l上下文切换(上下文切换(context switch)由一个进程的
11、上下文转到另外一个进程的上下文由一个进程的上下文转到另外一个进程的上下文l系统开销(系统开销(system overhead)运行操作系统程序完成系统管理工作所花费的时间运行操作系统程序完成系统管理工作所花费的时间和空间和空间19导航导航结束结束2.2.5 进程的队列PCBPCBPCBhead1.就绪队列:系统一个或若干个(根据调度算法确定)就绪队列:系统一个或若干个(根据调度算法确定)2.等待队列:每个等待事件一个等待队列:每个等待事件一个3.运行运行 队列:每个处理机一个队列:每个处理机一个PCB构成的队列:(不一定构成的队列:(不一定FIFO,单向或双向)单向或双向)20导航导航结束结束
12、进程队列模型就绪队列就绪队列等待队列等待队列1等待队列等待队列2等待队列等待队列nCPU创建创建完成完成时间片用完时间片用完等待事件等待事件1等待事件等待事件2等待事件等待事件n事件事件1发生发生事件事件2发生发生事件事件n发生发生21导航导航结束结束2.2.6 进程的类型与特征进程的类型与特征进程类型进程类型系统进程系统进程运行操作系统程序,完成系统管理运行操作系统程序,完成系统管理(服务服务)功能功能.用户进程用户进程运行用户运行用户(应用应用)程序,为用户服务。程序,为用户服务。22导航导航结束结束2.2.6 进程的类型与特征进程的类型与特征(Cont.)进程的特征进程的特征并发性并发性
13、:可以与其它进程一道向前推进;:可以与其它进程一道向前推进;动态性动态性:动态产生、消亡,生存期内状态动:动态产生、消亡,生存期内状态动态变化;态变化;独立性独立性:一个进程是可以调度的基本单位;:一个进程是可以调度的基本单位;交互性交互性:同时运行的进程可能发生相互作用;:同时运行的进程可能发生相互作用;异步性异步性:进程以各自独立,不可预知的速度:进程以各自独立,不可预知的速度向前推进;向前推进;结构性结构性:每个进程有一个:每个进程有一个PCB。23导航导航结束结束2.2.7 进程间相互联系与相互作用进程间相互联系与相互作用相互联系相互联系相关进程相关进程同一家族的进程同一家族的进程可以
14、共享文件,需要相互通讯,协调推进速度可以共享文件,需要相互通讯,协调推进速度父进程可以监视子进程,子进程完成父进程交给父进程可以监视子进程,子进程完成父进程交给的任务。的任务。无关进程无关进程没有逻辑关系、同时执行的进程。没有逻辑关系、同时执行的进程。有资源竞争关系,互斥、死锁、饿死。有资源竞争关系,互斥、死锁、饿死。24导航导航结束结束2.2.7 进程间相互联系与相互作用相互作用1.1.直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间直接相互作用:发生在相关进程之间2.2.间接相互作用:发生在任何进程之间间接相互作用:发生在任何进程之间间接相互
15、作用:发生在任何进程之间间接相互作用:发生在任何进程之间RP2P1syncsendreceiveP1:P2:holdwait25导航导航结束结束2.2.8 进程的创建与撤销进程的创建与撤销进程的创建进程的创建建立建立PCB,分配内存,加载程序,入就绪链分配内存,加载程序,入就绪链UNIX:pid=fork()进程的撤销进程的撤销去配资源,撤销去配资源,撤销PCB,通知父进程通知父进程UNIX:exit()除初始进程外,其它进程由除初始进程外,其它进程由(父父)进程创建,并进程创建,并形成进程家族。形成进程家族。演示演示26导航导航结束结束 操作系统一旦发现了要求创建进程的事件后,操作系统一旦发
16、现了要求创建进程的事件后,便调用进程创建原语按以下过程创建一新进程:便调用进程创建原语按以下过程创建一新进程:申请一个空闲的申请一个空闲的PCBPCB为新进程分配资源为新进程分配资源对对PCBPCB初始化初始化将将PCBPCB插入就绪队列插入就绪队列返回一个进程标识号返回一个进程标识号27导航导航结束结束在运行?在运行?NYNY由标识符在由标识符在PCBPCB集中找集中找PCBPCB并读状态并读状态归还占有资源归还占有资源从所在队列从所在队列(索引表索引表)撤消撤消PCBPCB中止运行重置调度标志中止运行重置调度标志终止所有子孙进程终止所有子孙进程有子孙进程?有子孙进程?进程的终止过程进程的终
17、止过程28导航导航结束结束2.2.9 进程与程序的联系与差别进程与程序的联系与差别进程与程序的联系进程与程序的联系进程包括一个程序进程包括一个程序进程存在的目的就是执行这个程序进程存在的目的就是执行这个程序进程与程序的差别进程与程序的差别程序静态,进程动态程序静态,进程动态程序可长期保存,进程有生存期程序可长期保存,进程有生存期一个程序可对应多个进程,一个进程只能执行一个一个程序可对应多个进程,一个进程只能执行一个程序程序29导航导航结束结束2.3 线程与轻进程线程与轻进程2.3.1 线程的引入线程的引入2.3.2 线程的概念线程的概念2.3.3 线程的结构线程的结构2.3.4 线程控制块线程
18、控制块2.3.5 线程的实现线程的实现2.3.6 线程的应用线程的应用2.3.7 Java线程线程ThreadLight-weighted process30导航导航结束结束2.3.1 线程的引入线程的引入进程切换进程切换上下文涉及内容多,开销大,上下文涉及内容多,开销大,“笨重笨重”PCB+程序程序系统环境:地址空间,系统栈,打开文件表,系统环境:地址空间,系统栈,打开文件表,相关进程之间耦合关系差相关进程之间耦合关系差解决方案解决方案Multi-threading同一进程中包含多个线程同一进程中包含多个线程上下文只涉及寄存器和用户栈,切换速度快上下文只涉及寄存器和用户栈,切换速度快相关线程
19、之间通讯方便、快捷相关线程之间通讯方便、快捷31导航导航结束结束2.3.2 线程的概念线程的概念进程中一个相对独立的执行流。进程中一个相对独立的执行流。进程中一个相对独立的执行流。进程中一个相对独立的执行流。进程进程进程进程 vs.vs.线程线程线程线程进程是资源分配单位进程是资源分配单位进程是资源分配单位进程是资源分配单位线程是执行单位线程是执行单位线程是执行单位线程是执行单位多线程优点多线程优点多线程优点多线程优点切换速度快(地址空间不变)切换速度快(地址空间不变)切换速度快(地址空间不变)切换速度快(地址空间不变)(light weightedlight weighted)系统开销小系统
20、开销小系统开销小系统开销小通讯容易(共享数据空间)通讯容易(共享数据空间)通讯容易(共享数据空间)通讯容易(共享数据空间)322.3.3 线程结构线程结构寄存器寄存器静态数据静态数据程序代码程序代码 栈栈寄存器寄存器进程进程2动动 态态 堆堆内存内存多进程结构(用户视图)多进程结构(用户视图)静态数据静态数据程序代码程序代码 栈栈进程进程1动动 态态 堆堆内存内存寄存器寄存器332.3.3 线程结构线程结构静态数据静态数据程序代码程序代码 栈栈栈栈寄存器寄存器寄存器寄存器线程线程1:线程线程2:进程进程动动 态态 堆堆内存内存多线程多线程结构(用户视图)结构(用户视图)34导航导航结束结束2.
21、3.3 线程结构(另一种表示)text segmentdata segmentProgram counterTask:35导航导航结束结束2.3.4 线程控制块线程控制块nTCB(Thread control block)n标志线程存在的数据结构,标志线程存在的数据结构,其中包含对线程管理需要的全部其中包含对线程管理需要的全部信息信息n内容内容n线程标识线程标识n线程状态线程状态n调度参数调度参数n现场现场(通用寄存器通用寄存器,PC,SP)n链接指针链接指针n存放位置存放位置n用户级线程:目态空间(运行系统)用户级线程:目态空间(运行系统)n核心级线程:系统空间核心级线程:系统空间36导航导
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 教程 第三 万历 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内