处理器管理PPT讲稿.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》由会员分享,可在线阅读,更多相关《处理器管理PPT讲稿.ppt(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、处理器管理处理器管理处理器管理处理器管理第1页,共102页,编辑于2022年,星期六处理器管理的地位处理器管理的地位第2页,共102页,编辑于2022年,星期六主要内容主要内容3.1 3.1 进程的引入进程的引入3.23.2进程的概念进程的概念3.33.3进程控制进程控制3.43.4线程线程3.53.5处理器调度处理器调度3.63.6调度算法调度算法3.73.7处理器调度和实时调度处理器调度和实时调度第3页,共102页,编辑于2022年,星期六3.1.13.1.1程序的执行方式程序的执行方式(顺序顺序)顺序执行顺序执行特征:顺序性、封闭性、可再现性特征:顺序性、封闭性、可再现性I1C1P1I2
2、C2P2第4页,共102页,编辑于2022年,星期六3.1.23.1.2程序的执行方式程序的执行方式(并发并发)并发执行并发执行I1I2I3I4C1C2C3C4P1P2P3P4t第5页,共102页,编辑于2022年,星期六3.1.13.1.1程序的执行方式程序的执行方式(并发并发)特征特征第6页,共102页,编辑于2022年,星期六与并发有关的错误与并发有关的错误第7页,共102页,编辑于2022年,星期六3.2 3.2 进程的概念进程的概念问题引入问题引入 程序这个静态概念已不能如实反映程序并发执程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序行过程的特征。为了深刻描述
3、程序动态执行动态执行过过程的性质,人们引入程的性质,人们引入“进程(进程(ProcessProcess)”概念。概念。第8页,共102页,编辑于2022年,星期六3.2 3.2 进程的概念进程的概念程序在处理机上执行时所发生的活动程序在处理机上执行时所发生的活动(Dijkstra)(Dijkstra)。是一个容器,该容器用以聚集相关资源。(是一个容器,该容器用以聚集相关资源。(A.S.TanenbaumA.S.Tanenbaum)进程是一个具有独立功能的进程是一个具有独立功能的程序程序关于某个关于某个数数据集合据集合的的一次运行活动一次运行活动。是系统进行资源分。是系统进行资源分配和调度的单位
4、。配和调度的单位。第9页,共102页,编辑于2022年,星期六3.2 3.2 进程的概念进程的概念操作级操作级:图形窗口界面图形窗口界面:一个窗口就是一个进程一个窗口就是一个进程打开窗口:建立一个进程打开窗口:建立一个进程关闭窗口:一个进程结束关闭窗口:一个进程结束字符命令界面字符命令界面:一条命令一般就是一个进程一条命令一般就是一个进程命令行尾回车命令行尾回车:一个进程开始一个进程开始命令执行结束命令执行结束(下一命令提示符出现下一命令提示符出现):):一个进程结束一个进程结束编程级:编程级:进程建立:进程建立:“建立进程建立进程”函数或系统调用函数或系统调用进程结束:进程结束:“撤消进程撤
5、消进程”函数或系统调用,或者程序的函数或系统调用,或者程序的正常或非正常结束。正常或非正常结束。第10页,共102页,编辑于2022年,星期六进程和程序的区别进程和程序的区别 程序静态的,程序静态的,进程是动态的。进程是动态的。程序和进程的组成不同:进程程序和进程的组成不同:进程=程序程序+数据数据+PCB+PCB 程序的存在是永久的,程序的存在是暂时的。程序的存在是永久的,程序的存在是暂时的。一个程序可以对应多个进程,一个进程可包含多个一个程序可以对应多个进程,一个进程可包含多个程序。程序。第11页,共102页,编辑于2022年,星期六进程的特征进程的特征动态性动态性:进程是个动态的概念,有
6、一定的生命周期,要经历创建、:进程是个动态的概念,有一定的生命周期,要经历创建、执行、撤销过程。执行、撤销过程。结构性结构性 :它由进程控制块、程序段和数据段组成:它由进程控制块、程序段和数据段组成 。并发性并发性 :在一个系统内可以同时存在多个进程,它们通过交:在一个系统内可以同时存在多个进程,它们通过交替使用处理器,从而实现并发执行。替使用处理器,从而实现并发执行。异步性:异步性:指进程之间在交替使用计算机资源时没有强制的顺指进程之间在交替使用计算机资源时没有强制的顺序,按各自独立的、不可预知的速度向前推进序,按各自独立的、不可预知的速度向前推进 。独立性:独立性:进程是系统分配资源和进行
7、调度的独立单位。进程是系统分配资源和进行调度的独立单位。第12页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态 进程从创建而产生至撤销而消亡的整个生命周期,可进程从创建而产生至撤销而消亡的整个生命周期,可用一组状态加以刻画,按进程在执行过程中的状况至少用一组状态加以刻画,按进程在执行过程中的状况至少定义三种不同的进程状态:定义三种不同的进程状态:运行态运行态(RunningRunning)就绪状态就绪状态(ReadyReady)阻塞状态阻塞状态(BlockedBlocked)当前进程已经分配到当前进程已经分配到CPUCPU,它的程,它的程序正在处理机上执行的
8、状态。序正在处理机上执行的状态。已具备运行条件,但因为其他进程已具备运行条件,但因为其他进程正在占用正在占用CPU,CPU,使它暂时不能运行而使它暂时不能运行而处于等待分配处于等待分配CPUCPU的状态。的状态。进程因等待某种事件发生(例如等待进程因等待某种事件发生(例如等待I/OI/O操作完成,等待其他进程发来的信操作完成,等待其他进程发来的信号)而暂时不能运行的状态,也就是说,号)而暂时不能运行的状态,也就是说,处于阻塞状态的进程尚不具备运行条件,处于阻塞状态的进程尚不具备运行条件,即使即使CPUCPU空闲它也无法使用。空闲它也无法使用。第13页,共102页,编辑于2022年,星期六3.2
9、.2 3.2.2 进程的状态进程的状态引起进程状态转换原因引起进程状态转换原因就绪就绪-运行运行时间一到,调度程序选择一个新的进程运行时间一到,调度程序选择一个新的进程运行运行运行-就绪就绪运行进程用完了时间片;运行进程被中断,因为一高优先运行进程用完了时间片;运行进程被中断,因为一高优先级进程处于就绪状态级进程处于就绪状态第14页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态引起进程状态转换原因引起进程状态转换原因运行运行-阻塞阻塞当一进程所需的东西必须等待时当一进程所需的东西必须等待时对一资源的访问尚不能进行对一资源的访问尚不能进行初始化初始化I/O I
10、/O 且必须等待结果且必须等待结果等待某一进程提供输入等待某一进程提供输入阻塞阻塞-就绪就绪当所等待的事件发生时当所等待的事件发生时第15页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态进程三种状态的转换进程三种状态的转换第16页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态 有一个计算机科学家,有一天女儿过生日,想亲手给女有一个计算机科学家,有一天女儿过生日,想亲手给女儿做一个生日蛋糕。所以他就找了一本有关做蛋糕的食谱,儿做一个生日蛋糕。所以他就找了一本有关做蛋糕的食谱,买了一些原料,面粉、鸡蛋、糖、香料等,然后边看边学
11、买了一些原料,面粉、鸡蛋、糖、香料等,然后边看边学边做。边做。食谱程序;科学家食谱程序;科学家CPUCPU;原料数据;做蛋糕进程;原料数据;做蛋糕进程;这时小儿子哭着跑进来,说手被蜜蜂蛰了。教授只好这时小儿子哭着跑进来,说手被蜜蜂蛰了。教授只好把蛋糕先放在一边。他在食谱上做了个标记,把状态信把蛋糕先放在一边。他在食谱上做了个标记,把状态信息记录了起来。然后又去找了一本医疗手册,查到了相息记录了起来。然后又去找了一本医疗手册,查到了相关的内容,按照上面的指令一步步地执行。当伤口处理关的内容,按照上面的指令一步步地执行。当伤口处理完之后,又回到厨房继续做蛋糕。完之后,又回到厨房继续做蛋糕。CPUC
12、PU从一个进程(做蛋糕)切换到另一个进程(医疗从一个进程(做蛋糕)切换到另一个进程(医疗救护)。救护)。第17页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态五状态模型:新建态新建态就绪态:允许进入就绪态:允许进入运行态运行态完成态完成态:执行完:执行完第18页,共102页,编辑于2022年,星期六3.2.2 3.2.2 进程的状态进程的状态问题出现问题出现进程挂起(进程挂起(suspendsuspend)进程不断创建,系统资源已不满足进程运行进程不断创建,系统资源已不满足进程运行的要求,系统就必须把某些进程挂起,即将进的要求,系统就必须把某些进程挂起,即将
13、进程对换到磁盘中,暂时不参与进程调度,已达程对换到磁盘中,暂时不参与进程调度,已达到平衡操作系统负荷的目的。到平衡操作系统负荷的目的。引起进程挂起原因引起进程挂起原因(P45-46(P45-46:(1)-(4)1)-(4)第19页,共102页,编辑于2022年,星期六挂起(挂起(Suspend):Suspend):把一个进程从内存转到外存。把一个进程从内存转到外存。激活(激活(ActivateActivate):把一个进程从外存转到内存。把一个进程从外存转到内存。第20页,共102页,编辑于2022年,星期六引入挂起状态后的七状态模型引入挂起状态后的七状态模型第21页,共102页,编辑于202
14、2年,星期六LinuxLinux进程的状态进程的状态 D D Uninterruptible sleep(usually IO)Uninterruptible sleep(usually IO)R R Running or runnable(on run queue)Running or runnable(on run queue)S S Interruptible sleep(waiting for an event to complete)Interruptible sleep(waiting for an event to complete)T T Stopped,either by a
15、 job control signal or because it is Stopped,either by a job control signal or because it is being traced.being traced.X X dead(should never be seen)dead(should never be seen)Z Z Defunct(zombie)process,terminated but not reaped by its Defunct(zombie)process,terminated but not reaped by its parent.pa
16、rent.high-priority(not nice to other users)high-priority(not nice to other users)N N low-priority(nice to other users)low-priority(nice to other users)L L has pages locked into memory(for real-time and custom IO)has pages locked into memory(for real-time and custom IO)s s is a session leader is a se
17、ssion leaderl l is multi-threaded(using CLONE_THREAD,like NPTL pthreads do)is multi-threaded(using CLONE_THREAD,like NPTL pthreads do)+is in the foreground process groupis in the foreground process group第22页,共102页,编辑于2022年,星期六例题例题 1 1如果系统中有如果系统中有N N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;个进程,运行的进程最多几个,最少几个;
18、就绪进程最多几个最少几个;等待进程最多几个,最少几个?等待进程最多几个,最少几个?解答解答:在单处理机系统中,处于运行状态的进程最多为:在单处理机系统中,处于运行状态的进程最多为1 1个,最少为个,最少为0 0个;处于就绪进程最个;处于就绪进程最多为多为N-1N-1个,最少为个,最少为0 0个;处于阻塞的进程最多为个;处于阻塞的进程最多为N N个,最少为个,最少为0 0个。个。2.2.有没有这样的状态转换,为什么?有没有这样的状态转换,为什么?(1 1)等待等待运行;运行;(2 2)就绪就绪等待等待第23页,共102页,编辑于2022年,星期六3.2.3 3.2.3 进程控制块进程控制块进程描
19、述进程描述进程控制块进程控制块程序和数据组成了进程的实体(静态文本)程序和数据组成了进程的实体(静态文本)需要一个数据结构来描述进程当前状态、本身特性、需要一个数据结构来描述进程当前状态、本身特性、对资源的占用以及调度信息等,即进程控制块对资源的占用以及调度信息等,即进程控制块(Process Control Block,PCBProcess Control Block,PCB)进程进程程序程序+数据数据+PCB+PCB第24页,共102页,编辑于2022年,星期六3.2.3 3.2.3 进程控制块进程控制块第25页,共102页,编辑于2022年,星期六3.2.3 3.2.3 进程控制块进程控
20、制块PCBPCB是进程存在的是进程存在的唯一标志;唯一标志;PCBPCB常驻内存常驻内存pid进程状态进程状态现场现场优先级优先级阻塞原因阻塞原因程序地址程序地址同步机制同步机制资源清单资源清单链接指针链接指针第26页,共102页,编辑于2022年,星期六CPUCPU在进程之间的切换在进程之间的切换第27页,共102页,编辑于2022年,星期六PCBPCB的组织的组织链表:同一状态的进程其链表:同一状态的进程其PCBPCB组成一链表,组成一链表,多个状态对应多个不同的链表。多个状态对应多个不同的链表。各状态的进程形成不同的链表:就绪链各状态的进程形成不同的链表:就绪链表、阻塞链表表、阻塞链表第
21、28页,共102页,编辑于2022年,星期六链表链表链表链表执行指针执行指针就绪队列指针就绪队列指针阻塞队列指针阻塞队列指针1PCB90PCB89PCB77PCB6PCB58PCB40PCB33PCB24PCB1PCBPCBPCBPCB的组织的组织的组织的组织第29页,共102页,编辑于2022年,星期六PCBPCB的组织的组织索引表:同一状态的进程归入一个索引表:同一状态的进程归入一个indexindex表(由表(由indexindex指向指向PCBPCB),多个状态对应多个不同的),多个状态对应多个不同的indexindex表表各状态的进行形成不同的索引表:就绪索引各状态的进行形成不同的索
22、引表:就绪索引表、阻塞索引表表、阻塞索引表第30页,共102页,编辑于2022年,星期六3.2.3 3.2.3 进程控制块进程控制块PCBPCB的组织的组织索引表索引表执行指针执行指针就绪表指针就绪表指针阻塞表指针阻塞表指针PCB7PCB6PCB5PCB4PCB3PCB2PCB1第31页,共102页,编辑于2022年,星期六补充补充PCBPCB和进程的代码数据放在一起吗?和进程的代码数据放在一起吗?系统态和用户态系统态和用户态系统空间和用户空间系统空间和用户空间第32页,共102页,编辑于2022年,星期六3.3 3.3 进程控制进程控制OSOS如何管理和控制进程如何管理和控制进程必须知道必须
23、知道进程的位置进程的位置(依赖于所使用的存储管理方(依赖于所使用的存储管理方案)案)必须知道必须知道进程的属性进程的属性(PCBPCB)必须能够必须能够创建、撤销进程创建、撤销进程必须能够必须能够改变进程的状态改变进程的状态第33页,共102页,编辑于2022年,星期六l 进程控制的职责:l 进程的创建l 进程的撤消l 进程的阻塞与唤醒l 进程控制是通过执行各种原语来实现的。3.3 3.3 进程控制进程控制第34页,共102页,编辑于2022年,星期六原语原语是由若干条机器指令构成的、用于完成特是由若干条机器指令构成的、用于完成特定功能的一段程序。原语在执行过程中是不可定功能的一段程序。原语在
24、执行过程中是不可分割的。(分割的。(P47P47)3.3 3.3 进程控制进程控制第35页,共102页,编辑于2022年,星期六3.3.3 3.3.3 进程的创建进程的创建进程图进程图引起创建进程的事件引起创建进程的事件进程的创建过程进程的创建过程123第36页,共102页,编辑于2022年,星期六3.3.3 3.3.3 进程的创建进程的创建A AB BC CD DE EI IJ JF FHHL LMMKKGGA AB BC CD DE EI IJ JF FHHL LMMKKGG第37页,共102页,编辑于2022年,星期六入口入口查查PCBPCB链表链表有空有空PCBPCB取空表取空表PCB
25、(i)PCB(i)填填PCB(i)PCB(i)相应项相应项PCB(i)PCB(i)入就绪队列入就绪队列PCB(i)PCB(i)入进程家族入进程家族返回返回创建失败创建失败YN第38页,共102页,编辑于2022年,星期六进程创建进程创建#include#include pid_t fork(void);功能:创建一个新的进程。返回值:在子进程中为0,在父进程中为子进程ID,出错为-1第39页,共102页,编辑于2022年,星期六进程创建进程创建该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是子进程的进程ID一般来说,在fork之后是父进程先执行还是子进程先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 处理器 管理 PPT 讲稿
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内