第二章 进程管理

上传人:aa****6 文档编号:50954857 上传时间:2018-08-11 格式:PPT 页数:90 大小:498.50KB
返回 下载 相关 举报
第二章  进程管理_第1页
第1页 / 共90页
第二章  进程管理_第2页
第2页 / 共90页
第二章  进程管理_第3页
第3页 / 共90页
第二章  进程管理_第4页
第4页 / 共90页
第二章  进程管理_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《第二章 进程管理》由会员分享,可在线阅读,更多相关《第二章 进程管理(90页珍藏版)》请在金锄头文库上搜索。

1、第二章UNIX的进程管理李陶深 2.1 UNIX进程管理的基本概念 (一)进程的引入 (1)程序顺序执行(Sequential Execution)与特 征顺序性:程序各程序段严格按照规定的顺 序执行。 封闭性:程序运行时机内各资源只受该程 序控制而改变,执行结果不受外界因素影响。 可再现性:只要程序执行环境和初始条件 相同,程序多次执行,可获得相同结果。 2 程序并发执行(Concurrent Execution)与特征 在计算机系统支持并行操作时,如采用多道程序设 计技术,则内存中多道程序处于并发执行状态。 间断性:程序在并发执行时,由于它们共享资 源或为完成同一项任务而相互合作,使在并发

2、程序之 间形成了相互制约的关系。相互制约将导致并发程序 具有“执行-暂仃-执行”这种间断性活动规律。 失去封闭性:程序在并发执行时,是多个程序 共享系统中的各种资源,因而这些资源的状态将由多 个程序来改变,致使程序的运行已失去了封闭性。 不可再现性:程序在并发执行时,由于失去了封 闭性,也将导致失去结果的可再现性。即程序经过多 次运行,虽然其各次的环境和初始条件相同,但得到 的结果却各不相同。例:观察者/报告者 观察者: 报告者: begin begin repeat repeat wait a car go through deley a time N=N+1; Print N ; N=0

3、; until until end end 初始N=n时不同执行序列: N=N+1; Print N; Print N ; Print N ; N=0 ; N=N+1 ; N=0 ; N=N+1 ; N=0 ; 结果各不相同: 打印n+1,N=0; 打印n,N=1; 打印n,N=0; 进程(Process)定义:“可并发执行的程序在一个数 据集合上的运行过程”。 3 进程的特征: 动态性:动态性是进程的最基本特征,它是程序 执行过程,它是有一定的生命期。它由创建而产生、 由调度而执行,因得不到资源而暂仃,并由撤消而死 亡。而程序是静态的,它是存放在介质上一组有序指 令的集合,无运动的含义。 并

4、发性:并发性是进程的重要特征,同时也是OS 的重要特征。并发性指多个进程实体同存于内存中, 能在一段时间内同时运行。而程序是不能并发执行。 独立性:进程是一个能独立运行的基本单位,即是 一个独立获得资源和独立调度的单位,而程序不作为 独立单位参加运行。 异步性:进程按各自独立的不可预知的速度向前推 进,即进程按异步方式进行,正是这一特征,将导致 程序执行的不可再现性,因此OS必须采用某种措施 来限制各进程推进序列以保证各程序间正常协调运行 。 结构特征:从结构上,进程实体由程序段、数据段和 进程控制块三部分组成,UNIX中称为“进程映象”。 2.1 UNIX进程管理的几个要点 (1) 进程在一

5、个地址空间上执行单一指令 序列。进程地址空间包括可以访问或引用的内 存单元的集合,进程控制点通过一个一般称为 程序计数器(PC)的硬件寄存器控制和跟踪进 程指令序列。许多较新的UNIX版本支持多个 控制点(称为线程),因此在一个进程内可以 有多个指令序列。2.1 UNIX进程管理的几个要点 (2) UNIX系统是一个多道程序环境,即几 个进程可以同时在系统中并发活动。系统为 这些进程提供虚拟机的某些功能。在一个纯虚 拟机结构中,操作系统给每个进程一个它是系 统唯一进程的假象。程序员在写应用程序时, 可以认为系统中只有他的代码在运行。在 UNIX系统中,每个进程有自己的寄存器和内 存,但必须通过

6、操作系统才能进行I/O和设备 控制。 2.1 UNIX进程管理的几个要点 (3) 进程地址空间是虚拟的,通常只有部 分映射到物理内存单元上。内核将进程地址空 间的内容保存在备种存储对象上,包括物理内 存,磁盘上的文件,特别地还可以保存在本地 和远程磁盘的交换区上。通常由内核的内存管 理子系统完成进程存储页面在这些对象之间的 转移。2.1 UNIX进程管理的几个要点 (4) 每个进程还有一组对应于实际硬件寄 存器的寄存器。系统中有许多活动进程,但只 有一组硬件寄存器。内核将当前运行进程的寄 存器组保存在硬件寄存器中,将其他进程的寄 存器组保存在每个进程的数据结构中。 2.1 UNIX进程管理的几

7、个要点 (5) 进程间会竞争系统中的各种资源,例 如处理器,内存和外围设备。对于CPU这样的 资源,内核限制每个进程在CPU上运行一个小 段时间(称为定额,一般为10毫秒左右),然 后再切换到另一个进程。通过这种方法,内核 给每个进程一种并发运行的假象。这样,每个 进程获得一段CPU时间并继续执行。这种操 作方法称为时间片。2.1 UNIX进程管理的几个要点 (6) 应用程序员并不关心设备的功能和结 构的底层细节。操作系统拥有对这些设备的完 全控制,并提供一个高级抽象编程接口,应用 程序可以通过这些接口访问这些部件。这样就 隐藏了硬件的所有细节,大大简化了程序员的 工作。通过对这些设备的集中控

8、制,还可以提 供一些诸如访问同步(若两个用户在同一时刻 想访问同一设备)和错误恢复等其他功能。应 用编程接口(API)定义了用户程序和操作系 统之间的所有交互语义。核心系统调用接口设备访问接口用 户 进 程系统进程终端打印机各种外部设备存储设备 图2.1 内核号进程及设备间的交互 2.1 UNIX进程管理的几个要点 内核是一个直接运行在硬件上的特殊程序, 它实现了进程模型和其他系统服务。它在磁盘 的文件一般是/vmunix或/unix(这取决于 UNIX厂商)。当系统启动时,通过一个称 为引导程序(bootstrapping)的特殊过程从 磁盘上加载内核。内核初始化系统,为运行进 程设立环境。

9、然后它创建一系列初始进程, 这些进程接着又创建其他进程。一旦被加载后 ,内核将一直保留在内存中,直到系统关闭为 止,它管理所有进程并为它们提供各种服务。UNIX操作系统借助以下4种方式提供功能:用户进程通过UNIXAPI的内核部分,系统 调用接口,显式地从内核获得服务。内核以调 用进程的身份执行这些请求。进程的某些不正常操作,诸如除数为0,或 用户堆栈溢出将引起硬件异常。异常需要内核 干预,内核为进程处理这些异常。内核处理外围设备的中断。设备通过中断机 制通知内核I/O完成和状态变化。内核将中断 视为全局事件,与任何特定进程都不相关。像Swapper和pagedaemon之类的一组特 殊的系统

10、进程执行系统级的任务。比如,控制 活动进程的数目或维护空闲内存池。2.2 进程的描述要点为了实施对进程的有效管理,操作系统为每 个进程设置了一个进程控制块(PCB)。在UNIX 版本六中,将PCB分成Proc结构、 User结构、text结构。在UNIX System V中,将PCB分成进程 表项和U区。除进程表项和U区外,管理进程 的据结构还有本进程区表和系统区表。1进程表项进程表项中的每个表目主要包含以下信息:UNIX版本的PROC结构 struct proc char p_stat; /*进程的运行状态*/char p_flag; /*进程的标志域*/char p_pri; /*进程的优

11、先数*/char p_sig; /*进程接收到的中断号*/char p_uid; /*进程拥有者的用户ID*/char p_time; /*进程在内存中的驻留时间*/char p_cpu: /*进程的使用cpu时间*/char p_nice; /*计算进程优先数的偏置量*/int p_ttyp; /*控制终端*/int p_pid; /*当前进程的进程ID */int p_ppid; /*当前进程父进程的进程ID*/int p_addr; /*交换区的地址*/int p_size; /*进程文件的大小*/int p_wchan; /*进入睡眠的原因*/int *p_textp; /*指向文本区

12、的指针*/ procNPROC;UNIX System V的进程表项(1)标识进程状态的状态域。UNIX System V 中共有9个状态。(2)若干用户标识号,简称UID或用户ID。这些 用户标识号指出该进程属于哪一用户,具有何种 特权,如是否可以互相发送救中断信号等。(3)若干进程标识号,简称PID或进程ID,说明 进程间的相互关系。(4)存储区位置和长度,指明进程在内存或外存 中的位置及大小。这些信息在进程换入换出及状 态转换时用到。(5)调度参数,包括优先数等。核心利用它 们决定进程转换到核心态和用户态的次序 ,以及占有处理机的次序。(6)软中断信号域,记录发向一个进程的 所有未处理的

13、软中断信号。(7)各种计时域,给出进程执行时间和系 统资源的利用情况。这些信息用来为进程 记账、计算调度优先数以及发送闹钟信号 等。(8)指向U区的指针。(9)事件描述域,记录使进程进入睡眠状 态的事件。2UNIX System V 的U区U区中的各个域进一步刻画了进程的特性, U区主要包含以下信息:(1)指向进程表项的指针,指出对应于该U区 的进程表项。(2)真正用户标识符(real user ID)及有效 用户标识符(effec -tive user ID),决定进 程的各种特权,如文件存取权限等。(3)用户文件描述符表,记录该进程已打开的 文件。(4)当前目录和当前根,描述进程的文件系统

14、 环境。(5)计时器域,记录进程及其后代在核心态和 用户态运行所用的时间。(6)一些输人脑出参数,描述要传输的数据量 ,在用户空间的源(或目的)数据的地址,文 件的输入输出偏移量等。(7)限制域,指出进程的大小及它能“写”的文 件大小限制。(8)出错域,记录系统调用执行期间所发生的 错误。(9)返回值域,它指出系统调用的返回结果。(10)信号处理数组,指出进程接收到软中断 信号时的处理方式。 UNIX版本的User结构Struct user int u_rsav2; /*当进程不执行时保存r5,r6,不代表不在运行状态 */char u_segflg; /*进程所处的运行状态,0表示用户态,1表示核心态 */char u_error; /*运行错误编号*/int u_procp; /*进程指针,指向U区对应的进程表项*/int *u_cdir; /*当前目录i节点地址*/int *u_pdir; /*父目录i节点地址*/int u_uisa16; /*段寄存器中的页地址寄存器*/int u_uisd16; /*段寄存器中的页说明寄存器*/int u_arg5; /*系统调用时传递的参数*/int u_tsize; /*正文区的大小*/int u_dsize; /*数据区的大小*/int u_ssize; /*栈区的大小*/int u_sep; /*正

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号