第二章进程课件

上传人:txadgkn****dgknqu... 文档编号:242764932 上传时间:2024-09-03 格式:PPT 页数:51 大小:700.34KB
返回 下载 相关 举报
第二章进程课件_第1页
第1页 / 共51页
第二章进程课件_第2页
第2页 / 共51页
第二章进程课件_第3页
第3页 / 共51页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,*,计算机操作系统,第二章 进程,2.,1,进程,2.,2,进程的描述,2.,3,进程控制,2.,4,UNIX进程管理,2.,5,PROBLEMS-2,*计算机操作系统 第二章 进程2.1 进程,1,*,计算机操作系统,2.,1,进程,2.,1,.1进程的定义和特征,一、进程(Process),一个具有一定独立功能的可并发执行的程序,在一个数据集合上的运行过程。,二、6个特征,1、动态性:,是一次运行过程,有生命周期;,2、并发性:,可并发执行;,3、独立性:,作为一个独立单位运行;,4、制约性:,进程间由于对资源的争用而相互制约;,5、异步性:,进程按照各自不可预知的速度向前推进;,6、结构特征:,进程=程序+数据+PCB;,*计算机操作系统2.1 进程2.1.1进程的定义和特征,2,*,计算机操作系统,三、进程和程序的6个区别,1、进程是程序的执行,是,动态,的概念,有生命周期;,程序是一组指令的有序集合,是,静态,的永久存在;,2、进程组成:进程=程序+数据+,PCB,;,3、进程可并发执行;,*计算机操作系统三、进程和程序的6个区别1、进程是程序的执行,3,4、进程可作为一个独立的单位运行,同时也是系统中独立获得资源和独立调度的基本单位;凡未建立进程的程序,都不能作为一个独立的单位运行;,5、一个程序可,对应,多个进程;,6、一个进程可,包含,多个程序。主程序进程执行时可调用其它程序,共同组成一次“活动”,4、进程可作为一个独立的单位运行,同时也是系统中独立获得资源,4,*,计算机操作系统,2.,1,.,2,进程控制块PCB,PCB,(Process Control Block)是用以记录与进程相关信息的主存区,是进程存在的唯一标志。,1、进程标识信息:,进程本身:外标识、内部标识 ;家族信息:父进程、子进程信息;,2、处理机状态信息:,中断现场保留区;,3、进程调度信息:,状态、优先级、入主存及已执行时间,;,4、进程控制信息:,程序、数据的外存/内存地址; 进程同步和通信机制:消息队列、信号量资源清单(除CPU之外);链接指针;,*计算机操作系统2.1.2进程控制块PCB P,5,6,Process Control Block,6Process Control Block,6,7,一、两状态进程模型,Process may be in one of two states,Running,Not-running,2.,1,.,3,进程状态,7一、两状态进程模型Process may be in o,7,8,Not-Running Process in a Queue,8Not-Running Process in a Queu,8,*,计算机操作系统,二,、三,态模型,运行状态(Running),就绪状态(Ready),阻塞状态(Block),三,、,五态模型,新,建,状态,(New):刚被创建,尚未进入就绪队列时的状态;,终止状态,(Terminated):进程正常/异常结束,移出就绪队列,但尚未撤销时的状态。,*计算机操作系统二、三态模型,9,10,A Five-State Model,Running,Ready,Blocked,New,Exit,10A Five-State ModelRunning,10,11,Five-State Process Model,11Five-State Process Model,11,12,Process States,12Process States,12,13,Using Two Queues,13Using Two Queues,13,14,Multiple Blocked Queues,14Multiple Blocked Queues,14,15,四、七态模型(被挂起的进程),Suspended Processes,1、什么是挂起?,Blocked state becomes suspend state when swapped to disk,2、为什么要挂起进程?,3、挂起进程的状态,Blocked/Suspend,ReadySuspend,15 四、七态模型(被挂起的进程) Suspend,15,16,4、挂起的原因,Reasons for Process Suspension,1、交换,2、其他os原因,3、交互式用户请求,4、定时,5、父进程请求,164、挂起的原因Reasons for Process,16,17,One Suspend State,17One Suspend State,17,18,Two Suspend States,18Two Suspend States,18,19,五、进程的创建,1、新的批处理作业,2、交互登录,3、操作系统因为提供一项服务而创建,4、由现有的进程派生,19五、进程的创建1、新的批处理作业,19,*,计算机操作系统,进程创建,的步骤,(Creation of Process),操作系统根据请求,调用进程创建原语Create(),完成进程创建。进程创建的主要步骤:,1、,给新进程分配进程标识号,;,2、为进程分配,空间,;,3、初始化PCB;,4、将新进程插入就绪队列;,5、创建或扩充其他数据结构,*计算机操作系统进程创建的步骤(Creation of P,20,21,六、进程终止的原因,1、正常完成,2、超过时限,3、无可用内存,4、越界,5、保护错误,6、算术错误,7、时间超出,21六、进程终止的原因1、正常完成,21,22,8、I/O失败,9、无效指令,10、特权指令,11、数据错误,12、操作员或者操作系统干涉,13、父进程终止,14、父进程请求,22,22,*,计算机操作系统,进程的终止处理步骤,1、根据终止进程标识符n,找PCB;,2、若该进程正在执行,终止,设调度标志为真;,3、撤消其所有子孙;,4、回收所有资源,归还父进程或系统;,5、将PCB移出原所在队列;,*计算机操作系统进程的终止处理步骤1、根据终止进程标识符n,23,*,计算机操作系统,2.,2,进程描述,*计算机操作系统2.2 进程描述,24,25,2.2.1操作系统的控制结构,252.2.1操作系统的控制结构,25,*,计算机操作系统,2.2.2进程,控制,结构,一、进程映象,进程的静态组成的统称,包括进程的程序块、数据块、系统/用户栈和进程控制块。,*计算机操作系统2.2.2进程控制结构一、进程映象,26,*,计算机操作系统,*计算机操作系统,27,二、进程上下文,进程物理实体和支持进程运行的环境合称为进程上下文。,1、用户级上下文:进程的用户地址空间,包括用户正文段、用户数据段和用户栈,2、寄存器级上下文:程序计数器PC、程序状态字寄存器PSW、栈指针、通用寄存器值等,3、系统级上下文:进程的系统地址空间,包括进程控制块、内存管理信息、系统栈等,4、正文段:程序段经过编译后形成的机器指令代码集,二、进程上下文,28,什么是程序状态字,PSW,计算机中有一个程序状态寄存器,它是用来控制指令执行顺序并保留和指示与程序有关部分的系统状态的。每个程序都有一个程序状态字来刻画本程序的执行状态,只有把程序的程序状态字送到了计算机的程序状态寄存器,该程序才能得到运行。,基本内容包括:(1)程序的基本状态,如指令地址,条件码(包括溢出位、进位标志等)(2)中断码,保存程序执行时当前发生的中断事件;(3)中断屏蔽位,指示程序执行中发生中断事件时,要不要响应中断事件。,什么是程序状态字PSW 计算机中有一个程序,29,30,Pentium II EFLAGS Register,30Pentium II EFLAGS Register,30,*,计算机操作系统,三,、PCB的,作用、保护及,组织方式,1、链接方式:,将有相同状态的进程PCB用链接指针链成队列;,2、,索引方式,:,就序队列,PCB2,PCB3,等待打印机队列,等待磁带机队列,*计算机操作系统三、PCB的作用、保护及组织方式1、链接方式,31,*,计算机操作系统,索引方式,执行指针,就绪表指针,阻塞表指针,就绪表索引,阻塞表索引,PCB1,PCB2,PCB3,PCB4,PCB5,PCB6,PCB7,*计算机操作系统索引方式执行指针就绪表指针阻塞表指针就绪表索,32,2.3进程控制,2.3.1执行模式,用户模式:,User mode,Less-privileged mode,User programs typically execute in this mode,系统模式:,System mode,control mode, or kernel mode,More-privileged mode,Kernel of the operating system,2.3进程控制2.3.1执行模式,33,为什么要设置不同的模式?,处理器如何知道它在什么模式下执行?,psr,如何改变模式?,举例:Linux中的psr, cpl,为什么要设置不同的模式?,34,2.3.2模式切换,一、定义,当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内核状态,去执行操作系统例行程序以获得服务,这就是一次模式切换。,二、模式切换的步骤,1、把程序计数器置成中断处理器的开始地址,2、把处理器模式从用户模式切换到内核模式,2.3.2模式切换一、定义,35,3、保存被中断的进程上下文。包括所有中断处理可能改变的信息和恢复中断程序所需要的信息。即保存处理器状态信息(程序计数器,其他处理器寄存器和栈信息),大多数操作系统中,中断的发生并不是必须伴随着进程切换。所以只需要保存处理器状态信息。,3、保存被中断的进程上下文。包括所有中断处理可能改变的信息和,36,2.3.3进程切换,一、什么是进程切换?,进程由于某种原因阻塞或者停止运行,此时进程保存上下文信息并让出处理器,处理器调度其他进程执行,称为进程切换。进程切换必须在核心态而不是用户态下发生。,二、何时切换进程(什么事件触发进程的切换?),系统中断:,1、中断:时钟中断,I/O中断,内存失效,2、陷阱:,系统调用:调用操作系统函数,2.3.3进程切换一、什么是进程切换?,37,三、进程切换的步骤,1、保存处理器上下文,2、更新当前处于运行态的PCB,3、把进程的PCB移到相应的队列,4、选择另一个进程执行,5、更新所选择进程的PCB,6、更新内存管理的数据结构,7、恢复处理器在被选择的进程最近一次切换出运行态时的上下文。,三、进程切换的步骤1、保存处理器上下文,38,2.3.4进程切换与模式切换的区别,(1)模式切换可以不改变正处于运行态的进程状态,即不一定引起进程状态的变化,在大多数操作系统中,模式切换不一定引起进程切换。,(,2,)进程切换涉及到进程状态的变化,比模式切换需要做更多的工作。,2.3.4进程切换与模式切换的区别,39,2.3.5操作系统的执行,1、无进程的内核,操作系统恢复被中断进程的上下文,完成保存进程环境的功能。切换进程,2.3.5操作系统的执行1、无进程的内核,40,2、在用户进程中执行,在较小的PC机,工作站的操作系统,在用户进程的上下文中执行所有操作系统软件,2、在用户进程中执行在较小的PC机,工作站的操作系统,在,41,中断、陷阱或系统调用时,只需要进行模式切换不需要执行进程切换。,优点:不用牺牲两次进程切换为代价。,如要发生进程切换,控制权转交给进程切换例程。这个例程可能在当前进程中执行,也可能不在当前进程中执行。逻辑上看做所有进程之外的环境中执行。,中断、陷阱或系统调用时,只需要进行模式切换不需要执行进程切换,42,第二章进程课件,43,3、基于进程的操作系统,操作系统作为一组系统进程来实现,1)模块化操作系统,2)操作系统函数可简单地用独立的进程实现,3)在多处理器或多机环境中十分有用。,3、基于进程的操作系统操作系统作为一组系统进程来实现,44,2.4UNIX SVR4进程管理,大部分操作系统在用户进程环境中执行,用户模式 用户进程 用户代码,如用户程序和实用程序,内核模式 系统进程 操作系统代码,如内存空间分配和进程交换,中断,异常,系统调用,2.4UNIX SVR4进程管理大部分操作系统在用户进程环境,45,2.4.1进程状态,2.4.1进程状态,46,2.4.2进程描述,UNIX进程映像,用户级上下文,寄存器上下文,系统级上下文,2.4.2进程描述 UNIX进程映像,47,2.4.3进程控制,Unix fork( ),创建子进程:,1.为新进程在进程表中分配一个空表项。,2.为子进程分配一个唯一的进程标识号.,3.做一个父进程的上下文副本。,4.增加父进程拥有的所有文件的计数,以表示有另一个进程也拥有这些文件。,5.把子进程置为就绪状态。,6.对父进程返回子进程的进程号,对子进程返回0。,2.4.3进程控制Unix fork( ) 创建子进程:,48,所有这些操作都是在父进程的内核模式下完成,当内核完成这些功能后,可以进行下面三种操作之一:,1.保留在父进程中,返回用户模式下父进程的,fork,调用处。,2.控制转交给子进程,子进程开始执行代码,执行点与父进程相同。,3.控制转交给另一进程,父进程和子进程都置于就绪状态。,所有这些操作都是在父进程的内核模式下完成,当,49,进程的缺陷,只能在一个时间干一件事情,如果想同时干两件或者多件事情,进程就不够用了。,举例:看电影,进程如果阻塞,例如等待输入,这个进程就将挂起,即使有部分工作不依赖与输入数据,也无法推进。,引入线程,进程的缺陷只能在一个时间干一件事情,如果想同时干两件或者多件,50,*,计算机操作系统,1如果系统中有,N,个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?,2. 有没有这样的状态转换,为什么?,等待,运行; 就绪,等待,3. 一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能。,4. 举3个日常生活中类似进程的例子,【思考题】,*计算机操作系统1如果系统中有N个进程,运行的进程最多几个,51,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!