第二章进程课件.ppt

上传人:小飞机 文档编号:1527009 上传时间:2022-12-03 格式:PPT 页数:51 大小:693.50KB
返回 下载 相关 举报
第二章进程课件.ppt_第1页
第1页 / 共51页
第二章进程课件.ppt_第2页
第2页 / 共51页
第二章进程课件.ppt_第3页
第3页 / 共51页
第二章进程课件.ppt_第4页
第4页 / 共51页
第二章进程课件.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《第二章进程课件.ppt》由会员分享,可在线阅读,更多相关《第二章进程课件.ppt(51页珍藏版)》请在三一办公上搜索。

1、2022年12月3日星期六4时19分2秒,计算机操作系统,第二章 进程,2.1 进程2.2 进程的描述2.3 进程控制2.4 UNIX进程管理2.5 PROBLEMS-2,2022年12月3日星期六4时19分2秒,计算机操作系统,2.1 进程,2.1.1进程的定义和特征一、进程(Process) 一个具有一定独立功能的可并发执行的程序,在一个数据集合上的运行过程。二、6个特征 1、动态性:是一次运行过程,有生命周期; 2、并发性:可并发执行; 3、独立性:作为一个独立单位运行; 4、制约性:进程间由于对资源的争用而相互制约; 5、异步性:进程按照各自不可预知的速度向前推进; 6、结构特征:进程

2、=程序+数据+PCB;,2022年12月3日星期六4时19分2秒,计算机操作系统,三、进程和程序的6个区别,1、进程是程序的执行,是动态的概念,有生命周期; 程序是一组指令的有序集合,是静态的永久存在;,2、进程组成:进程=程序+数据+PCB;,3、进程可并发执行;,4、进程可作为一个独立的单位运行,同时也是系统中独立获得资源和独立调度的基本单位;凡未建立进程的程序,都不能作为一个独立的单位运行;,5、一个程序可对应多个进程;,6、一个进程可包含多个程序。主程序进程执行时可调用其它程序,共同组成一次“活动”,2022年12月3日星期六4时19分2秒,计算机操作系统,2.1.2进程控制块PCB,

3、PCB(Process Control Block)是用以记录与进程相关信息的主存区,是进程存在的唯一标志。 1、进程标识信息:进程本身:外标识、内部标识 ;家族信息:父进程、子进程信息; 2、处理机状态信息:中断现场保留区; 3、进程调度信息:状态、优先级、入主存及已执行时间;4、进程控制信息:程序、数据的外存/内存地址; 进程同步和通信机制:消息队列、信号量资源清单(除CPU之外);链接指针;,6,Process Control Block,7,一、两状态进程模型,Process may be in one of two statesRunningNot-running,2.1.3进程状态

4、,8,Not-Running Process in a Queue,2022年12月3日星期六4时19分2秒,计算机操作系统,二、三态模型 运行状态(Running) 就绪状态(Ready) 阻塞状态(Block) 三、五态模型 新建状态(New):刚被创建,尚未进入就绪队列时的状态; 终止状态(Terminated):进程正常/异常结束,移出就绪队列,但尚未撤销时的状态。,10,A Five-State Model,RunningReadyBlockedNewExit,11,Five-State Process Model,12,Process States,13,Using Two Que

5、ues,14,Multiple Blocked Queues,15,四、七态模型(被挂起的进程) Suspended Processes,1、什么是挂起?Blocked state becomes suspend state when swapped to disk2、为什么要挂起进程?3、挂起进程的状态 Blocked/SuspendReadySuspend,16,4、挂起的原因Reasons for Process Suspension,1、交换2、其他os原因3、交互式用户请求4、定时5、父进程请求,17,One Suspend State,18,Two Suspend States,1

6、9,五、进程的创建,1、新的批处理作业2、交互登录3、操作系统因为提供一项服务而创建4、由现有的进程派生,2022年12月3日星期六4时19分2秒,计算机操作系统,进程创建的步骤(Creation of Process),操作系统根据请求,调用进程创建原语Create(),完成进程创建。进程创建的主要步骤: 1、给新进程分配进程标识号; 2、为进程分配空间; 3、初始化PCB; 4、将新进程插入就绪队列; 5、创建或扩充其他数据结构,21,六、进程终止的原因,1、正常完成2、超过时限3、无可用内存4、越界5、保护错误6、算术错误7、时间超出,22,8、I/O失败9、无效指令10、特权指令11、

7、数据错误12、操作员或者操作系统干涉13、父进程终止14、父进程请求,2022年12月3日星期六4时19分2秒,计算机操作系统,进程的终止处理步骤,1、根据终止进程标识符n,找PCB;2、若该进程正在执行,终止,设调度标志为真;3、撤消其所有子孙;4、回收所有资源,归还父进程或系统;5、将PCB移出原所在队列;,2022年12月3日星期六4时19分2秒,计算机操作系统,2.2 进程描述,25,2.2.1操作系统的控制结构,2022年12月3日星期六4时19分2秒,计算机操作系统,2.2.2进程控制结构,一、进程映象 进程的静态组成的统称,包括进程的程序块、数据块、系统/用户栈和进程控制块。,2

8、022年12月3日星期六4时19分2秒,计算机操作系统,二、进程上下文 进程物理实体和支持进程运行的环境合称为进程上下文。 1、用户级上下文:进程的用户地址空间,包括用户正文段、用户数据段和用户栈 2、寄存器级上下文:程序计数器PC、程序状态字寄存器PSW、栈指针、通用寄存器值等 3、系统级上下文:进程的系统地址空间,包括进程控制块、内存管理信息、系统栈等 4、正文段:程序段经过编译后形成的机器指令代码集,什么是程序状态字PSW,计算机中有一个程序状态寄存器,它是用来控制指令执行顺序并保留和指示与程序有关部分的系统状态的。每个程序都有一个程序状态字来刻画本程序的执行状态,只有把程序的程序状态字

9、送到了计算机的程序状态寄存器,该程序才能得到运行。 基本内容包括:(1)程序的基本状态,如指令地址,条件码(包括溢出位、进位标志等)(2)中断码,保存程序执行时当前发生的中断事件;(3)中断屏蔽位,指示程序执行中发生中断事件时,要不要响应中断事件。,30,Pentium II EFLAGS Register,2022年12月3日星期六4时19分2秒,计算机操作系统,三、PCB的作用、保护及组织方式,1、链接方式:将有相同状态的进程PCB用链接指针链成队列;2、索引方式:,就序队列,PCB2,PCB3,等待打印机队列,等待磁带机队列,2022年12月3日星期六4时19分2秒,计算机操作系统,索引

10、方式,执行指针,就绪表指针,阻塞表指针,就绪表索引,阻塞表索引,PCB1,PCB2,PCB3,PCB4,PCB5,PCB6,PCB7,2.3进程控制,2.3.1执行模式 用户模式:User modeLess-privileged modeUser programs typically execute in this mode 系统模式:System mode control mode, or kernel modeMore-privileged modeKernel of the operating system,为什么要设置不同的模式?处理器如何知道它在什么模式下执行? psr如何改变模式?

11、举例:Linux中的psr, cpl,2.3.2模式切换,一、定义 当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内核状态,去执行操作系统例行程序以获得服务,这就是一次模式切换。二、模式切换的步骤1、把程序计数器置成中断处理器的开始地址2、把处理器模式从用户模式切换到内核模式,3、保存被中断的进程上下文。包括所有中断处理可能改变的信息和恢复中断程序所需要的信息。即保存处理器状态信息(程序计数器,其他处理器寄存器和栈信息) 大多数操作系统中,中断的发生并不是必须伴随着进程切换。所以只需要保存处理器状态信息。,2.3.3进程切换,一、什么是进程切换? 进程由于某种原因阻塞或者停止

12、运行,此时进程保存上下文信息并让出处理器,处理器调度其他进程执行,称为进程切换。进程切换必须在核心态而不是用户态下发生。二、何时切换进程(什么事件触发进程的切换?)系统中断: 1、中断:时钟中断 I/O中断 内存失效 2、陷阱:系统调用:调用操作系统函数,三、进程切换的步骤,1、保存处理器上下文2、更新当前处于运行态的PCB3、把进程的PCB移到相应的队列4、选择另一个进程执行5、更新所选择进程的PCB6、更新内存管理的数据结构7、恢复处理器在被选择的进程最近一次切换出运行态时的上下文。,2.3.4进程切换与模式切换的区别 (1)模式切换可以不改变正处于运行态的进程状态,即不一定引起进程状态的

13、变化,在大多数操作系统中,模式切换不一定引起进程切换。 (2)进程切换涉及到进程状态的变化,比模式切换需要做更多的工作。,2.3.5操作系统的执行,1、无进程的内核操作系统恢复被中断进程的上下文完成保存进程环境的功能。切换进程,2、在用户进程中执行在较小的PC机,工作站的操作系统,在用户进程的上下文中执行所有操作系统软件,中断、陷阱或系统调用时,只需要进行模式切换不需要执行进程切换。优点:不用牺牲两次进程切换为代价。如要发生进程切换,控制权转交给进程切换例程。这个例程可能在当前进程中执行,也可能不在当前进程中执行。逻辑上看做所有进程之外的环境中执行。,3、基于进程的操作系统,操作系统作为一组系

14、统进程来实现1)模块化操作系统2)操作系统函数可简单地用独立的进程实现3)在多处理器或多机环境中十分有用。,2.4UNIX SVR4进程管理,大部分操作系统在用户进程环境中执行用户模式 用户进程 用户代码 如用户程序和实用程序内核模式 系统进程 操作系统代码 如内存空间分配和进程交换,中断,异常,系统调用,2.4.1进程状态,2.4.2进程描述,UNIX进程映像 用户级上下文 寄存器上下文 系统级上下文,2.4.3进程控制,Unix fork( ) 创建子进程:1.为新进程在进程表中分配一个空表项。2.为子进程分配一个唯一的进程标识号.3.做一个父进程的上下文副本。4.增加父进程拥有的所有文件

15、的计数,以表示有另一个进程也拥有这些文件。5.把子进程置为就绪状态。6.对父进程返回子进程的进程号,对子进程返回0。,所有这些操作都是在父进程的内核模式下完成,当内核完成这些功能后,可以进行下面三种操作之一:1.保留在父进程中,返回用户模式下父进程的fork调用处。2.控制转交给子进程,子进程开始执行代码,执行点与父进程相同。3.控制转交给另一进程,父进程和子进程都置于就绪状态。,进程的缺陷,只能在一个时间干一件事情,如果想同时干两件或者多件事情,进程就不够用了。 举例:看电影进程如果阻塞,例如等待输入,这个进程就将挂起,即使有部分工作不依赖与输入数据,也无法推进。 引入线程,2022年12月3日星期六4时19分2秒,计算机操作系统,1如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?2. 有没有这样的状态转换,为什么? 等待运行; 就绪等待3. 一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能。4. 举3个日常生活中类似进程的例子,【思考题】,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号