第二章 UNIX的进程管理.ppt

  1. 1、本文档共187页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 UNIX的进程管理

第二章 UNIX的进程管理 李陶深 tshli@gxu.edu.cn 2.1 UNIX进程管理的几个要点 (1) 进程在一个地址空间上执行单一指令序列。进程地址空间包括可以访问或引用的内存单元的集合,进程控制点通过一个一般称为程序计数器(PC)的硬件寄存器控制和跟踪进程指令序列。许多较新的UNIX版本支持多个控制点(称为线程),因此在一个进程内可以有多个指令序列。 2.1 UNIX进程管理的几个要点 (2) UNIX系统是一个多道程序环境,即几个进程可以同时在系统中并发活动。系统为这些进程提供虚拟机的某些功能。在一个纯虚拟机结构中,操作系统给每个进程一个它是系统唯一进程的假象。程序员在写应用程序时,可以认为系统中只有他的代码在运行。在UNIX系统中,每个进程有自己的寄存器和内存,但必须通过操作系统才能进行I/O和设备控制。 2.1 UNIX进程管理的几个要点 (3) 进程地址空间是虚拟的,通常只有部分映射到物理内存单元上。内核将进程地址空间的内容保存在备种存储对象上,包括物理内存,磁盘上的文件,特别地还可以保存在本地和远程磁盘的交换区上。通常由内核的内存管理子系统完成进程存储页面在这些对象之间的转移。 2.1 UNIX进程管理的几个要点 (4) 每个进程还有一组对应于实际硬件寄存器的寄存器。系统中有许多活动进程,但只有一组硬件寄存器。内核将当前运行进程的寄存器组保存在硬件寄存器中,将其他进程的寄存器组保存在每个进程的数据结构中。 2.1 UNIX进程管理的几个要点 (5) 进程间会竞争系统中的各种资源,例如处理器,内存和外围设备。对于CPU这样的资源,内核限制每个进程在CPU上运行一个小段时间(称为定额,一般为10毫秒左右),然后再切换到另一个进程。通过这种方法,内核给每个进程一种并发运行的假象。这样,每个进程获得一段CPU时间并继续执行。这种操作方法称为时间片。 2.1 UNIX进程管理的几个要点 (6) 应用程序员并不关心设备的功能和结构的底层细节。操作系统拥有对这些设备的完全控制,并提供一个高级抽象编程接口,应用程序可以通过这些接口访问这些部件。这样就隐藏了硬件的所有细节,大大简化了程序员的工作。通过对这些设备的集中控制,还可以提供一些诸如访问同步(若两个用户在同一时刻想访问同一设备)和错误恢复等其他功能。应用编程接口(API)定义了用户程序和操作系统之间的所有交互语义。 2.1 UNIX进程管理的几个要点 内核是一个直接运行在硬件上的特殊程序,它实现了进程模型和其他系统服务。它在磁盘的文件一般是/vmunix或/unix(这取决于UNIX厂商)。当系统启动时,通过一个称为引导程序(bootstrapping)的特殊过程从磁盘上加载内核。内核初始化系统,为运行进程设立环境。然后它创建一系列初始进程,这些进程接着又创建其他进程。一旦被加载后,内核将一直保留在内存中,直到系统关闭为止,它管理所有进程并为它们提供各种服务。 UNIX操作系统借助以下4种方式提供功能: ●用户进程通过UNIXAPI的内核部分,系统调用接口,显式地从内核获得服务。内核以调用进程的身份执行这些请求。 ●进程的某些不正常操作,诸如除数为0,或用户堆栈溢出将引起硬件异常。异常需要内核干预,内核为进程处理这些异常。 ●内核处理外围设备的中断。设备通过中断机制通知内核I/O完成和状态变化。内核将中断视为全局事件,与任何特定进程都不相关。 ●像Swapper和pagedaemon之类的一组特殊的系统进程执行系统级的任务。比如,控制活动进程的数目或维护空闲内存池。 2.2 进程的描述要点 为了实施对进程的有效管理,操作系统为每个进程设置了一个进程控制块(PCB)。 在UNIX 版本六中,将PCB分成Proc结构、User结构、text结构。 在UNIX System V中,将PCB分成进程表项和U区。除进程表项和U区外,管理进程的据结构还有本进程区表和系统区表。 1.进程表项 进程表项中的每个表目主要包含以下信息: UNIX版本6的PROC结构 struct proc { char p_stat; /*进程的运行状态*/ char p_flag; /*进程的标志域*/ char p_pri; /*进程的优先数*/ char p_sig; /*进程接收到的中断号*/ char p_uid; /

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档