- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统进程模型
操作系统进程模型
进程的相关概念
进程是一个程序的一次执行,这是一个动态的过程,一个进程包括了程序计数器、寄存器和变量的当前值。在多道程序中有多个进程同时在运行,从概念上他们有各自的CPU,实际上是一个CPU在各个进程之间快速地切换。每个进程靠自己独有的程序计数器来控制自己的程序执行流程,实际的物理程序计数器只有一个,当某个进程获得物理CPU时它的逻辑程序计数器就被装入实际的程序计数器中。
进程有其从创建到销毁的生命周期。进程存在的意义就是完成一定的任务,通常将进程分为前台进程和后台进程。前台进程负责与用户交互,如用户可以终端上输入命令启动程序;后台进程不与特定的用户关联,负责处理一些专用的事件,比如监听网络端口的请求,后台进程又称为守护进程。进程完成它的工作后就自动退出,释放占用的系统资源。进程并不是在所有情况下都“自愿”退出的,它可能是由另外的进程杀死的,也可能是因为执行期间发生了严重错误被系统强制终止的。有些进程是被操作系统生成的,有些进程是由其他进程创建的(即父进程创建子进程)。在Minix和Linux系统中第一个用户进程--init进程是由操作系统创建的,此后的所有进程都是init进程的子进程或孙进程。进程之间形成一种树状的层次结构。
虽然每个进程都是一个独立的实体,有它自己的程序计数器、堆栈、打开的文件、定时器和内部状态,但进程之间还要进行交互、通信以及其他同步操作。由于进程之间要相互依赖,同步执行,这就决定了进程从创建开始是很难一口气执行到底的,进程调度也要求进程中执行期间必须有间歇。大体上我们把进程的状态分为三种:运行态、就绪态和阻塞态。进程处于运行态是指它正在占用CPU。从运行态转入就绪态仅仅是因为处理机的调度策略使把正在执行的进程换出CPU,转而去执行其他进程,当调度策略又转回来时,处于就绪态的进程就可以立刻执行。从运行态转入阻塞态就由于进程缺少某种必须的资源,如程序要执行必须是等待用户参数的输入,当阻塞的进程获得这种资源后就转入就绪态,只要调度策略允许它随时可以执行。
就像刚刚提到的那样,就绪队列中有多个进程时它们都可以马上运行,那么到底运行哪个呢?这是由调度器来决定的。最简单最直观的调度算法是维持一个单一的就绪队列,谁先到达队列中谁先执行。在实际的系统中往往给进程分配一定的优先级,优先级高的进程虽然后到达就绪队列,但由于它要执行的事情紧急调度器可以让它先执行。系统中优先级数目是有限制的,我们只能把若干个进程统一规为一种优先级,在同一个优先级内部采用先到先运行的法则。为避免那些优先级别低的进程长时间等待甚至是“饿死”,操作系统还采用一定的策略来逐步降低执行频率高的进程的优先级。
在操作系统中协作的进程间要对某块公共存储区进行读写,这个公共存储区可能在主存中(比如是一个内核数据结构),也可能是一个共享文件。由于进程何时运行何时休眠,基于什么时候产生、什么时候终止都是无法预知的,那么不了的进程对同一存储区的读写顺序也是无法预知的,因此我们要有一种机制来实现进程间的同步。我们把不同进程共享的内存区称为临界区,当一个进程进入临界区后,其他进程必须在外面等待,同时还要选择一种策略使在临界区外面等的进程不能无限期的等下去,即要公平地为进程分配进入临界区的机会和时间。
Minix进程模型
系统结构
Minix系统整体采用四层结构,如下图所示:
图1. Minix四层结构
内核负责进程的调度,并负责进程在运行态、就绪态和阻塞态之间切换。内核还负责进程间所有的通信消息,消息需要核实目标的合法性,定位内存中发送和接收的缓存区,并把消息从发送缓存复制到接收缓存。内核的另一部分是支持对I/O端口和中断的访问。
内核以上的其他三层统称为用户层,内核对这三层同等对待。它们都不直接对I/O进行操作,也不能访问分配给他们以外的内存。第2层设备驱动程序层可以请求系统任务任代表它们从I/O端口读数据或向I/O端口写入数据。
第3层上是服务器进程,即向用户进程提供有用的服务。有两个服务必不可少:进程管理器和文件系统。进程管理器执行所有涉及启动或终止进程的Minix系统调用,如fork,exec,wait等,并负责执行与信号有关的系统调用,如alarm,kill。进程管理器还负责内存管理,如brk系统调用。文件系统负责执行文件的系统调用,如read,mount,chdir等。再生服务器启动或重启那些不与内核一起加载到内存中的设备驱动程序。如果驱动程序在操作中失败,再生服务器检测到这一失败,并杀死这个驱动程序(如果它还没有死),重启这个驱动程序的一个新副本,从而提高操作系统的容错能力。
第2层和第3层内的设备驱动程序和服务器统称为系统进程,它是操作系统的一部分,不属于某一特定用户,并且大部分在第一个用户登录前启动。
第4层是所有的用户进程,如sh
您可能关注的文档
- 第30章 JAAS.ppt
- 02_Struts中Action的使用.ppt
- 第06章[Web站点母版页]上机课件]上机课.ppt
- 第5章 Spring与Web应用.ppt
- 第七讲(国际化).ppt
- java.web大学课件 第四章.ppt
- 第3章第1部分MCS-51单片机原理及接口技术(十一五国家规划)[汪德彪主编][电子教案].ppt
- 第19章、使用JSP处理客户端请求.ppt
- 4_Struts2异常处理与国际化.ppt
- 3.MySQL数据库.ppt
- 北师大版五年级数学下册第一单元 分数加减法专项试卷附答案.pdf
- 《圆的周长、面积》练习题【重点】.pdf
- 河南省驻马店市驿城区2022-2023学年七年级下学期期末质量监测数学试卷(含答案).pdf
- 广东省中山市成考专升本2023年艺术概论自考测试卷(含答案).pdf
- 山西 2023年历年真题考试:国际市场营销学历年真题汇编(共186题).pdf
- 古塔区六年级下册数学期末测试卷学生专用.pdf
- 武宁县2023年三年级数学第二学期期末学业水平测试试题含解析.pdf
- 2024年消防安全的管理制度(精选篇).pdf
- 天津市北辰区六年级下册数学期末测试卷标准卷.pdf
- 2024年河南省安阳市中考二模生物试题(含答案).pdf
文档评论(0)