第二章进程课件_第1页
第二章进程课件_第2页
第二章进程课件_第3页
第二章进程课件_第4页
第二章进程课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*计算机操作系统

第二章进程2.1进程2.2进程的描述2.3进程控制2.4

UNIX进程管理2.5

PROBLEMS-2*计算机操作系统2.1

进程2.1.1进程的定义和特征一、进程(Process)一个具有一定独立功能的可并发执行的程序,在一个数据集合上的运行过程。二、6个特征

1、动态性:是一次运行过程,有生命周期;

2、并发性:可并发执行;

3、独立性:作为一个独立单位运行;

4、制约性:进程间由于对资源的争用而相互制约;

5、异步性:进程按照各自不可预知的速度向前推进;

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

PCB(ProcessControlBlock)是用以记录与进程相关信息的主存区,是进程存在的唯一标志。

1、进程标识信息:进程本身:外标识、内部标识;家族信息:父进程、子进程信息;2、处理机状态信息:中断现场保留区;3、进程调度信息:状态、优先级、入主存及已执行时间;4、进程控制信息:程序、数据的外存/内存地址;进程同步和通信机制:消息队列、信号量资源清单(除CPU之外);链接指针;6ProcessControlBlock7

一、两状态进程模型ProcessmaybeinoneoftwostatesRunningNot-running2.1.3进程状态8Not-RunningProcessinaQueue*计算机操作系统二、三态模型

运行状态(Running)

就绪状态(Ready)

阻塞状态(Block)三、五态模型

新建状态(New):刚被创建,尚未进入就绪队列时的状态;

终止状态(Terminated):进程正常/异常结束,移出就绪队列,但尚未撤销时的状态。10AFive-StateModelRunningReadyBlockedNewExit11Five-StateProcessModel12ProcessStates13UsingTwoQueues14MultipleBlockedQueues15四、七态模型(被挂起的进程)

SuspendedProcesses1、什么是挂起?Blockedstatebecomessuspendstatewhenswappedtodisk2、为什么要挂起进程?3、挂起进程的状态

Blocked/SuspendReadySuspend164、挂起的原因

ReasonsforProcessSuspension1、交换2、其他os原因3、交互式用户请求4、定时5、父进程请求17OneSuspendState18TwoSuspendStates19五、进程的创建

1、新的批处理作业2、交互登录3、操作系统因为提供一项服务而创建4、由现有的进程派生*计算机操作系统进程创建的步骤(CreationofProcess)

操作系统根据请求,调用进程创建原语Create(),完成进程创建。进程创建的主要步骤:

1、给新进程分配进程标识号;

2、为进程分配空间;3、初始化PCB;

4、将新进程插入就绪队列;5、创建或扩充其他数据结构21六、进程终止的原因1、正常完成2、超过时限3、无可用内存4、越界5、保护错误6、算术错误7、时间超出228、I/O失败9、无效指令10、特权指令11、数据错误12、操作员或者操作系统干涉13、父进程终止14、父进程请求*计算机操作系统进程的终止处理步骤1、根据终止进程标识符n,找PCB;2、若该进程正在执行,终止,设调度标志为真;3、撤消其所有子孙;4、回收所有资源,归还父进程或系统;5、将PCB移出原所在队列;

*计算机操作系统2.2

进程描述252.2.1操作系统的控制结构*计算机操作系统2.2.2进程控制结构一、进程映象

进程的静态组成的统称,包括进程的程序块、数据块、系统/用户栈和进程控制块。*计算机操作系统二、进程上下文

进程物理实体和支持进程运行的环境合称为进程上下文。

1、用户级上下文:进程的用户地址空间,包括用户正文段、用户数据段和用户栈

2、寄存器级上下文:程序计数器PC、程序状态字寄存器PSW、栈指针、通用寄存器值等

3、系统级上下文:进程的系统地址空间,包括进程控制块、内存管理信息、系统栈等

4、正文段:程序段经过编译后形成的机器指令代码集什么是程序状态字PSW

计算机中有一个程序状态寄存器,它是用来控制指令执行顺序并保留和指示与程序有关部分的系统状态的。每个程序都有一个程序状态字来刻画本程序的执行状态,只有把程序的程序状态字送到了计算机的程序状态寄存器,该程序才能得到运行。

基本内容包括:(1)程序的基本状态,如指令地址,条件码(包括溢出位、进位标志等)(2)中断码,保存程序执行时当前发生的中断事件;(3)中断屏蔽位,指示程序执行中发生中断事件时,要不要响应中断事件。30PentiumIIEFLAGSRegister*计算机操作系统三、PCB的作用、保护及组织方式1、链接方式:将有相同状态的进程PCB用链接指针链成队列;2、索引方式:就序队列PCB2PCB3等待打印机队列等待磁带机队列*计算机操作系统索引方式执行指针就绪表指针阻塞表指针就绪表索引阻塞表索引PCB1PCB2PCB3PCB4PCB5PCB6PCB72.3进程控制2.3.1执行模式用户模式:UsermodeLess-privilegedmodeUserprogramstypicallyexecuteinthismode系统模式:Systemmodecontrolmode,orkernelmodeMore-privilegedmodeKerneloftheoperatingsystem为什么要设置不同的模式?处理器如何知道它在什么模式下执行?psr如何改变模式?举例:Linux中的psr,cpl2.3.2模式切换一、定义当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内核状态,去执行操作系统例行程序以获得服务,这就是一次模式切换。二、模式切换的步骤1、把程序计数器置成中断处理器的开始地址2、把处理器模式从用户模式切换到内核模式3、保存被中断的进程上下文。包括所有中断处理可能改变的信息和恢复中断程序所需要的信息。即保存处理器状态信息(程序计数器,其他处理器寄存器和栈信息)大多数操作系统中,中断的发生并不是必须伴随着进程切换。所以只需要保存处理器状态信息。2.3.3进程切换一、什么是进程切换?进程由于某种原因阻塞或者停止运行,此时进程保存上下文信息并让出处理器,处理器调度其他进程执行,称为进程切换。进程切换必须在核心态而不是用户态下发生。二、何时切换进程(什么事件触发进程的切换?)系统中断:1、中断:时钟中断I/O中断内存失效2、陷阱:系统调用:调用操作系统函数三、进程切换的步骤

1、保存处理器上下文2、更新当前处于运行态的PCB3、把进程的PCB移到相应的队列4、选择另一个进程执行5、更新所选择进程的PCB6、更新内存管理的数据结构7、恢复处理器在被选择的进程最近一次切换出运行态时的上下文。2.3.4进程切换与模式切换的区别(1)模式切换可以不改变正处于运行态的进程状态,即不一定引起进程状态的变化,在大多数操作系统中,模式切换不一定引起进程切换。

(2)进程切换涉及到进程状态的变化,比模式切换需要做更多的工作。2.3.5操作系统的执行1、无进程的内核操作系统恢复被中断进程的上下文完成保存进程环境的功能。切换进程2、在用户进程中执行

在较小的PC机,工作站的操作系统,在用户进程的上下文中执行所有操作系统软件

中断、陷阱或系统调用时,只需要进行模式切换不需要执行进程切换。优点:不用牺牲两次进程切换为代价。如要发生进程切换,控制权转交给进程切换例程。这个例程可能在当前进程中执行,也可能不在当前进程中执行。逻辑上看做所有进程之外的环境中执行。3、基于进程的操作系统

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

所有这些操作都是在父进程的内核模式下完成,当内核完成这些功能后,可以进行下面三种操作之一:1.保留在父进程中,返回用户模式下父进程的fork调用处。2.控制转交给子进程,子进程开始执行代码,执行点与父进程相同。3.控制转交给另一进程,父进程和子进程都置于就绪状态。进程的缺陷只能在一个时间干一件事情,如果想同时干两件或者多件事情,进程就不够用了。举例:看电影进程如果阻塞,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论