2014操作系统第6章unix进程管理ppt课件.ppt

2014操作系统第6章unix进程管理ppt课件.ppt

ID:59477093

大小:164.00 KB

页数:27页

时间:2020-09-14

2014操作系统第6章unix进程管理ppt课件.ppt_第1页
2014操作系统第6章unix进程管理ppt课件.ppt_第2页
2014操作系统第6章unix进程管理ppt课件.ppt_第3页
2014操作系统第6章unix进程管理ppt课件.ppt_第4页
2014操作系统第6章unix进程管理ppt课件.ppt_第5页
资源描述:

《2014操作系统第6章unix进程管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章UNIX进程管理6.1UNIX进程简介6.2UNIX进程结构6.3进程控制6.4UNIX进程调度与交换6.5进程通信启动过程:引导程序开始系统自举,引导在外存硬盘中的操作系统进入内存。这一过程是一个启动UNIX系统、设置和初始化各种数据结构与表格、建立控制UNIX系统内核运行的控制进程和建立控制终端进程与Shell进程运行的1#进程。最后,系统在建立了0#进程和1#进程等之后,将出现相应的提示符,以等待用户输入命令来执行和处理用户应用程序。核心进程称为0#进程6.1UNIX进程和存储管理简介图6.1UNIX中各进程的关系终端管理进程与Sh

2、ell进程是1#进程的子进程,除了0#进程和1#进程之外,其他进程都是由父进程创建的。人们也称1#进程是所有用户进程的祖先。UNIX操作系统的0#进程在核心态下运行,而1#进程以及由1#进程衍生的其他进程都可在用户态和核心态两种执行模式下执行。在不同的执行模式下执行时,同一进程使用不同的堆栈和不同的管理数据结构。在两种不同模式下执行的程序不能互相访问各自的堆栈,它们之间的参数传递往往需要借助通用寄存器等硬件。两态之间的主要区别是,用户态下的进程能存取它们自己的指令与数据,但不能存取核心指令和数据。然而,核心态下的进程能存取核心和用户地址。另外,

3、某些机器的指令是特权指令,在用户态下执行会引起错误,只能在核心态下执行。0#进程是UNIX系统中唯一只在核心态下执行的进程。三种功能:1.初始化时创建1#进程2.负责调度分配处理器3.负责进程交换UNIX进程的核心态和用户态之间的转换靠中断以及硬件设置等方法完成图6.3进程控制系统进程控制系统在逻辑上由四个模块组成:1.与文件系统的接口部分2.进程本身的控制部分,包括进程的创建、进程调度和进程的撤消等3.进程间控制部分,包括进程间的互斥、同步和通信等,4.存储管理部分。UNIXSystemⅤ中引起进程调度的情况有五种:(1)当前执行进程申请内存

4、等系统资源未得到满足,从而自己调用sleep过程,放弃处理机进入睡眠状态。(2)为了与其他并发进程保持同步,调用了wait或stop过程等,从而主动放弃了处理机而进入睡眠状态。(3)当系统发现系统中某进程的优先级已高于当前执行进程的优先级时(4)时间片用完,且当前进程的优先级低于其他就绪进程。(5)当前进程调用exit,自我终止时。6.2UNIX进程结构6.2.1进程的概念进程的静态描述是由三部分组成的,即进程状态控制块PCB(栈段),进程的程序文本(正文)段以及进程的数据段。进程控制块分为两部分:基本控制块:PROC结构常驻内存,记录进

5、行进程调度时必须使用的一些主要信息.扩充控制块:USER结构非常驻内存,可存放在磁盘的对换区中.所包含内容见书6.2.4进程的状态和状态转换UNIXSystemⅤ中进程共有9个状态,它们是:(1)进程在用户态下的执行态SRUN。(2)进程在核心态下的执行态SRUN。(3)进程处于就绪态SRUN(4)进程处于就绪态SRUN,但交换程序已将其换出内存。(5)进程正在睡眠,且驻留在内存中的状态SSLEEP。(6)进程正在睡眠,已换出内存的状态SSLEEP。(7)进程正从核心态返回用户态。(8)创建状态(9)僵死状态图6.8进程状态转换图图6.9进程树

6、的形成6.3进程控制6.3.1UNIX启动及进程树的形成6.3.2进程控制1.进程的创建fork的功能是创建一个子进程。调用fork的进程称为父进程。系统调用fork的语法格式是:pid=fork();CPU在父进程中时,pid值为所创建子进程的进程号,若在子进程中时,pid的值为零。系统调用fork通过执行核心程序fork过程完成的功能是:(1)为子进程在proc结构表中分配一个空项。(2)为子进程赋一个唯一的进程标识号pid。(3)复制一个父进程上下文的逻辑副本。(4)增加与父进程相关联的有关文件系统的进程引用计数。(5)对父进程返回子进

7、程的进程标识号,对子进程返回零。图6.10fork流程图2.执行一个文件的调用exec()3.父进程和子进程同步Wait()4.进程的终止系统调用exit(rv)自我终止当前进程,使其进入SZOMB僵死状态,等待父进程进行善后处理。图6.11shell执行过程6.4UNIX进程调度与交换UNIX系统的调度与交换都是进程0的两个部分。它们分别由swtch()过程和sched()过程实现。事实上,用于交换的sched过程是把处于外存就绪态的进程换入内存,相当于三级调度中的中级调度(UNIX系统中没有高级调度)。因此,有时也把进程0称为调度进程。6.

8、4.1进程调度1.调度原理UNIX系统的进程调度采用多级反馈轮转调度法(Round Robin with MultipleFeedback)。即系统给

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。