嵌入式系统教学课件:操作系统2-进程基本描述.ppt
-
资源ID:80482897
资源大小:529.50KB
全文页数:39页
- 资源格式: PPT
下载积分:11.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
嵌入式系统教学课件:操作系统2-进程基本描述.ppt
第三章第三章 进程管理进程管理本章要点本章要点基础:进程描述及控制基础:进程描述及控制实现:互斥与同步实现:互斥与同步避免:死锁与饥饿避免:死锁与饥饿解决:几个经典问题解决:几个经典问题关于:进程通信关于:进程通信引申:进程与线程引申:进程与线程 第一章第一章 绪论绪论 第二章第二章 操作系统用户界面操作系统用户界面 第三章第三章进程管理进程管理第四章第四章 处理机调度处理机调度第五章存储管理第五章存储管理 第六章第六章 进程与存储管理示例进程与存储管理示例 第七章第七章 WindowsWindows的进程与内存管理的进程与内存管理第八章文件系统第八章文件系统 第九章设备管理第九章设备管理第十章第十章 LinuxLinux文件系统文件系统 第十一章第十一章 WindowsWindows的设备管理和文件系统的设备管理和文件系统主要内容主要内容本章主要内容本章主要内容第三章第三章 进程管理进程管理3.1 3.1 进程的概念进程的概念3.2 3.2 进程的描述进程的描述3.3 3.3 进程状态及其转换进程状态及其转换 3.4 3.4 进程控制进程控制3.5 3.5 进程互斥进程互斥3.6 3.6 进程同步进程同步3.7 3.7 进程通信进程通信3.8 3.8 死锁问题死锁问题3.9 3.9 线程的概念线程的概念3.10 3.10 线程分类与执行线程分类与执行3.1 3.1 进程概念进程概念o程序的顺序执行及其特征o程序的并发执行及其特征o进程的定义程序的顺序执行程序的顺序执行程序:源代码程序、目标程序和可执行程序程序:源代码程序、目标程序和可执行程序程序执行:编辑、编译、链接、执行程序执行:编辑、编译、链接、执行程序的结构:顺序结构、分支结构和循环结构程序的结构:顺序结构、分支结构和循环结构程序的顺序执行程序的顺序执行程序顺序执行的特征:程序顺序执行的特征:顺序性、封闭性、可再现性顺序性、封闭性、可再现性 程序顺序执行流程图程序顺序执行流程图数据输入进行计算输出结果程序的顺序执行程序的顺序执行o顺序执行例1n输入I,计算C,打印P程序并发执行程序并发执行o多道程序设计技术:多个程序并发执行多道程序设计技术:多个程序并发执行o程程序序并并发发执执行行时时的的特特征征:间间断断性性、非非封封闭闭性性、不可再现性不可再现性程序并发执行引发的问题程序并发执行引发的问题o协调各程序的执行顺序协调各程序的执行顺序o多多个个执执行行程程序序共共享享系系统统资资源源,程程序序之之间间可可能能会会相相互互影响,甚至影响输出结果影响,甚至影响输出结果o选择哪些、多少个程序进入内存执行?选择哪些、多少个程序进入内存执行?o内存中的执行程序谁先执行?内存中的执行程序谁先执行?o内存如何有效分配?内存如何有效分配?3.1.2 3.1.2 进程的定义进程的定义o定义:定义:n可可并并发发执执行行的的程程序序,在在一一个个数数据据集集合合上上的的运运行行过过程程o申请申请/拥有资源拥有资源o程程序序:静静态态概概念念,是是指指令令和和数数据据的的集集合合,可可长期存储长期存储o进程与程序的对应关系:进程与程序的对应关系:n一个程序可以对应一个进程或多个进程一个程序可以对应一个进程或多个进程n一个进程可以对应一个程序,或者一段程序一个进程可以对应一个程序,或者一段程序进程的特征进程的特征o动态性动态性o并发性并发性o独立性独立性o异步性异步性引入进程带来的问题引入进程带来的问题 o增加了空间开销:为进程建立数据结构增加了空间开销:为进程建立数据结构o额外的时间开销:管理和协调、跟踪、填写和更新有额外的时间开销:管理和协调、跟踪、填写和更新有关数据结构、切换进程、保护现场关数据结构、切换进程、保护现场o更难控制:更难控制:n协调多个进程竞争和共享资源如何预防协调多个进程竞争和共享资源如何预防n解决多个进程因为竞争资源而出现故障解决多个进程因为竞争资源而出现故障o处理机的竞争尤为突出处理机的竞争尤为突出PCBPCBo进程标识信息:进程的内部和外部标识符进程标识信息:进程的内部和外部标识符o处理机状态信息:通用寄存器值、指令计数器值、处理机状态信息:通用寄存器值、指令计数器值、程序状态字程序状态字PSWPSW值、用户栈指针值值、用户栈指针值o进程调度信息:进程状态、进程优先权、进程调度进程调度信息:进程状态、进程优先权、进程调度的其他信息的其他信息o其它信息:程序及数据地址、进程同步和通讯机制、其它信息:程序及数据地址、进程同步和通讯机制、资源清单、链接指针资源清单、链接指针进程上下文进程上下文 概念:概念:进进程程物物理理实实体体和和支支持持进进程程运运行行的的环环境境合合称为进程上下文称为进程上下文(Context)(Context)。进程上下文进程上下文 进程上下文包括:进程上下文包括:程程序序段段在在经经过过编编译译之之后后形形成成的的机机器器指指令令代代码码集(或称正文段);集(或称正文段);数据集;数据集;PCBPCB结构;结构;与与执执行行该该进进程程有有关关的的各各种种寄寄存存器器的的值值(例例如如通通用用寄寄存存器器、程程序序计计数数器器PCPC、程程序序状状态态字字寄寄存存器器PSPS等)等);各种堆栈值。各种堆栈值。进程上下文进程上下文所所以以,进进程程上上下下文文实实际际上上是是进进程程执执行行活活动动全全过过程程的静态描述。的静态描述。(程序、状态、通用寄存器程序、状态、通用寄存器)PCBPCB表表各种指针各种指针各种寄存器各种寄存器程序代码程序代码数据数据 堆栈堆栈进程上下文进程上下文在在UNIXUNIX系系统统中中,进进程程的的上上下下文文由由3 3部部分分组组成成:用用户户级级上上下下文文,系系统统级级上上下下文文,寄寄存存器器上上下下文文。(1)(1)用户级上下文用户级上下文 (2)(2)系统级上下文系统级上下文 (3)(3)寄存器上下文寄存器上下文 进程上下文进程上下文关于进程上下文需注意如下两点:关于进程上下文需注意如下两点:1 1、进进程程上上下下文文可可按按一一定定的的执执行行层层次次进进行行组组合合,例如可分为用户级上下文、系统级上下文等。例如可分为用户级上下文、系统级上下文等。2 2、一一个个进进程程的的执执行行是是在在该该进进程程的的上上下下文文中中进进行行,而而当当系系统统调调度度新新进进程程占占有有处处理理机机时时,新新老老进进程的上下文发生转换。程的上下文发生转换。3.3 3.3 进程状态及其转换进程状态及其转换为了刻画整个进程,可将一个进程的生命周期划分为一组状态:为了刻画整个进程,可将一个进程的生命周期划分为一组状态:1 1、进程的、进程的5 5种状态(三种基本状态)种状态(三种基本状态)nnewnew新建新建/创建创建(初始态初始态):):进程正在创建中的状态进程正在创建中的状态nreadyready就绪就绪:进程已获得了除处理机以外的所有资源,等进程已获得了除处理机以外的所有资源,等待分配处理机执行的等待状态。待分配处理机执行的等待状态。nrunningrunning运行运行/执行执行:当一个进程获得必要的资源并正在处当一个进程获得必要的资源并正在处理机上执行的状态。理机上执行的状态。nwaitingwaiting等待等待/阻塞阻塞:正在执行的进程由于发生某事件而暂正在执行的进程由于发生某事件而暂时无法执行下去,此时进程所处的状态。时无法执行下去,此时进程所处的状态。nterminatedterminated终止终止/撤消撤消/退出:进程执行完毕,释放所占资退出:进程执行完毕,释放所占资源的状态。源的状态。3.3 3.3 进程状态及其转换进程状态及其转换就绪状态:就绪状态:该进程运行所需的该进程运行所需的一切条件都得到满足,一切条件都得到满足,但因处理机资源个数少但因处理机资源个数少于进程个数,所以该进于进程个数,所以该进程不能运行,而必须等程不能运行,而必须等待分配处理机资源,一待分配处理机资源,一旦获得处理机就立即投旦获得处理机就立即投入运行。入运行。3.3 3.3 进程状态及其转换进程状态及其转换执行状态:执行状态:进程正在处理机进程正在处理机上运行的状态,该进上运行的状态,该进程已获得必要的资源,程已获得必要的资源,也获得了处理机,用也获得了处理机,用户程序正在处理机上户程序正在处理机上运行。运行。3.3 3.3 进程状态及其转换进程状态及其转换阻塞状态;阻塞状态;进程等待某种事进程等待某种事件完成(例如,等待件完成(例如,等待输入输入/输出操作的完成)输出操作的完成)而暂时不能运行的状而暂时不能运行的状态,处于该状态的进态,处于该状态的进程不能参加竞争处理程不能参加竞争处理机,此时,即使分配机,此时,即使分配给它处理机,它也不给它处理机,它也不能运行。能运行。3.3 3.3 进程状态及其转换进程状态及其转换状态变化:状态变化:就绪状态就绪状态 执行状态执行状态 执行状态执行状态 就绪状态就绪状态 执行状态执行状态 阻塞状态阻塞状态 阻塞状态阻塞状态 就绪状态就绪状态3.3 3.3 进程状态及其转换进程状态及其转换o挂起状态:进程被交换到外存挂起状态:进程被交换到外存o产生原因:产生原因:n终端用户的请求终端用户的请求n父进程请求父进程请求n负荷调节的需要负荷调节的需要n操作系统的需要操作系统的需要被挂起进程的特征被挂起进程的特征o不能立即执行不能立即执行o可能是等待某事件发生,若是,则阻塞条件独可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也立于挂起条件,即使阻塞事件发生,该进程也不能执行不能执行o使之挂起的进程:自身、其父进程、使之挂起的进程:自身、其父进程、OSo只有挂起它的进程才能使之由挂起状态转换为只有挂起它的进程才能使之由挂起状态转换为其他状态其他状态挂起与阻塞挂起与阻塞o区分两个概念:区分两个概念:o进程是否等待事件:阻塞与否进程是否等待事件:阻塞与否o进程是否被换出内存:挂起与否进程是否被换出内存:挂起与否o4种状态组合:种状态组合:o就绪:进程在内存,准备执行(活动就绪)就绪:进程在内存,准备执行(活动就绪)o阻塞:进程在内存,等待事件(活动阻塞)阻塞:进程在内存,等待事件(活动阻塞)o就绪就绪/挂起:进程在外存,只要调入内存即可执行(静止就绪)挂起:进程在外存,只要调入内存即可执行(静止就绪)o阻塞阻塞/挂起:进程在外存,等待事件(静止阻塞)挂起:进程在外存,等待事件(静止阻塞)3.3 3.3 进程状态及其转换进程状态及其转换o活动状态与静止状态活动状态与静止状态o活动就绪活动就绪 静止就绪静止就绪o活动阻塞活动阻塞 静止阻塞静止阻塞o静止就绪静止就绪 活动就绪活动就绪o静止阻塞静止阻塞 活动阻塞活动阻塞3.4 3.4 进程控制进程控制进程控制原语:进程控制原语:1.1.创建与撤销创建与撤销2.2.阻塞与唤醒阻塞与唤醒3.3.挂起与激活挂起与激活进程创建:原因进程创建:原因o提交新的批处理作业提交新的批处理作业o交互式用户注册交互式用户注册o操作系统提供服务操作系统提供服务o父进程创建子进程父进程创建子进程进程创建:步骤进程创建:步骤1.1.为为进进程程分分配配一一个个唯唯一一标标识识号号IDID:主主进进程程表表中中增增加加一一个个新新的的表表项项2.2.为为进进程程分分配配空空间间:用用户户地地址址空空间间、用用户户栈栈空空间间、PCBPCB空空间间。若若共享已有空间,则应建立相应的链接共享已有空间,则应建立相应的链接3.3.初始化初始化PCBPCB:进程标识、处理机状态信息、进程状态:进程标识、处理机状态信息、进程状态3.3.建建立立链链接接:若若调调度度队队列列是是链链表表,则则将将新新进进程程插插入入到到就就绪绪或或就就绪绪/挂起链表挂起链表5.5.建立或扩展其他数据结构建立或扩展其他数据结构进程终止:原因进程终止:原因o批处理作业执行到批处理作业执行到“结束结束”语句语句o交互式用户交互式用户“注销注销”o停止进程(应用程序)的执行停止进程(应用程序)的执行o遇到错误或故障遇到错误或故障进程终止:具体原因进程终止:具体原因o正常结束正常结束o超时终止,执行时间超过预计时间超时终止,执行时间超过预计时间o内存不足,无法为进程分配所需的内存空间内存不足,无法为进程分配所需的内存空间o越界访问越界访问o企图使用未允许用的数据,或操作方式错企图使用未允许用的数据,或操作方式错o计算错,如除零,或企图存储硬件允许的最大数计算错,如除零,或企图存储硬件允许的最大数o超时等待某事件发生超时等待某事件发生进程终止:具体原因进程终止:具体原因oI/OI/O失失败败,如如找找不不到到文文件件或或多多次次重重试试仍仍无无法法读读写写文文件件,或无效操作或无效操作o无效指令,企图执行不存在的指令无效指令,企图执行不存在的指令o特权指令,企图执行特权指令特权指令,企图执行特权指令o数据类型不符,或未初始化数据类型不符,或未初始化o操作员或操作员或OSOS干预,如发生死锁的时候干预,如发生死锁的时候o父进程终止父进程终止o父进程请求父进程请求进程终止:步骤进程终止:步骤1.1.根据被终止进程的标识符根据被终止进程的标识符IDID,找到其,找到其PCBPCB,读出该进程的状态,读出该进程的状态2.2.若该进程未执行状态,则终止其执行,调度新进程执行若该进程未执行状态,则终止其执行,调度新进程执行3.3.若该进程有子孙进程,则立即终止其所有子孙进程若该进程有子孙进程,则立即终止其所有子孙进程3.3.将该进程的全部资源,或归还给其父进程,或归还给系统将该进程的全部资源,或归还给其父进程,或归还给系统5.5.将将被被终终止止进进程程(的的PCBPCB)从从所所在在队队列列中中衣衣橱橱,等等待待其其他他程程序序来来收集信息收集信息进程的阻塞和唤醒进程的阻塞和唤醒o阻阻塞塞原原因因:请请求求系系统统服服务务;启启动动某某种种操操作作,如如I/OI/O;新新数数据据尚未到达;暂时无新工作可做等尚未到达;暂时无新工作可做等o当当出出现现阻阻塞塞事事件件,进进程程调调用用阻阻塞塞原原语语将将自自己己阻阻塞塞。并并将将其其状状态变为态变为“阻塞状态阻塞状态”,并进入相应时间的阻塞队列;,并进入相应时间的阻塞队列;o当当阻阻塞塞进进程程期期待待的的事事件件发发生生,有有关关进进程程调调用用唤唤醒醒原原语语,将将等等待待该该事事件件的的进进程程唤唤醒醒。并并将将其其状状态态变变为为“就就绪绪状状态态”,插插入就绪队列入就绪队列o一一般般,进进程程可可以以自自己己阻阻塞塞自自己己;而而唤唤醒醒操操作作则则由由操操作作系系统统,或其他相关进程来完成,进程无法自己唤醒自己。或其他相关进程来完成,进程无法自己唤醒自己。进程的挂起与激活进程的挂起与激活o当当出出现现挂挂起起事事件件,系系统统利利用用挂挂起起原原语语将将指指定定进进程程或或一一个个阻阻塞塞进程挂起。进程从内存换出到外存,其状态转换:进程挂起。进程从内存换出到外存,其状态转换:就绪就绪 就绪就绪/挂起挂起 或阻塞或阻塞阻塞阻塞/挂起挂起o当当激激活活事事件件发发生生,系系统统利利用用激激活活原原语语将将指指定定进进程程激激活活。将将相相应进程从外存换入到内存,可能的状态转换;应进程从外存换入到内存,可能的状态转换;就绪就绪/挂起挂起就绪就绪 或阻塞或阻塞/挂起挂起阻塞阻塞