- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 进程管理 对于进程管理,站在不同的角度来看,所看到的内容是不一样的。如果站在操作系统原理的角度来看待进程管理,则是分析进程的组成、进程的状态及其转换、如何通过互斥与同步措施实现进程的并发执行、如何解决进程的死锁问题、进程调度的算法及性能、处理器如何分配来提高其利用率等等。如果站在操作系统使用的角度来看待进程管理,则是用户如何启动进程、如何通过操作系统的程序接口创建进程、如何查看系统中有哪些运行的进程、如何改变进程的优先级、如何终止一个进程等等。本书是Linux操作系统的应用教程,所以是从操作系统应用的角度来讨论进程管理的。 7.1进程概述 Linux是多用户、多任务的操作系统,它允许多个用户登录系统,使用系统中的各种资源,由操作系统为每个登录用户建立相应的管理进程并可以执行用户要求的多个程序。简单地说每个执行中的程序就是进程,在操作系统中,有时也把进程称为任务。进程可以说是无处不在,从操作系统开始启动到出现图形用户桌面或系统终端提示符时,系统中已经有了许多进程;这些进程在Linux系统中一般称为守护进程,它们担负运行和管理系统的职能。用户在桌面上、目录窗口中或终端提示符下运行的程序或命令也构成进程。 7.1.1进程的概念 在早期的单用户、单任务操作系统中一直只使用程序这样的概念,那是因为在这样的系统中资源是独占的,任何时候系统中只有一个用户、一个执行的用户程序,我们随时可以描述出该用户程序在系统中所处的状态;但是在多用户、多任务的操作系统中,同时会有多个用户和多个执行中的程序,如果仍然沿用程序这样的概念,有时会出现无法描述某个执行中程序状态的情况;例如,系统中有一个编译程序,操作系统为了提高系统资源的利用率,让它共享、为多个用户服务,某个时刻它从A点开始为甲用户编译程序,到时刻B由于访问磁盘操作而被阻塞,操作系统让编译程序为乙用户服务,假设也是从A点开始编译,那么在这种情况下如何描述编译程序的状态呢?如果说它正在B点等待磁盘操作,但它又正在A点开始为乙用户编译;如果说它在A点编译程序,但它又确实在B点等待磁盘操作。因此,在多任务的情况下,如果再使用程序作为占用处理器的单位,已经无法满足系统日益发展的需要了。 为此,我们把程序与程序所处理的数据集合(即它的加工对象)结合起来考虑,引入了进程的概念,当一个程序在某个数据集合上运行时就称为Px进程,当该程序在另一个数据集合上运行时就称为Py进程;这样不再是孤立地看待程序,而是把程序和它的加工对象作为一个整体来看待,以进程为单位来描述程序的运行情况。在前面编译程序的例子中,我们可以说编译程序在为甲用户服务时构成P甲进程,并在B点等待磁盘操作;在为乙用户服务时构成P乙进程,并从A点开始编译。对于进程有许多种定义,其中主要有:进程是程序的一次执行;进程是能分配给处理器并在其上执行的实体等等。目前对于进程比较正式的定义是:进程是程序在某个数据集合上的运行活动,是系统进行资源分配和调度的一个独立单位。从这个定义来看,任何在Linux系统中运行的程序都是进程。 7.1.2 进程与程序的区别进程与程序是两个不同的概念。进程是由一个可执行的程序、该程序所需的相关数据集合和进程控制块(PCB)组成的。进程控制块是进程存在的惟一标志,在PCB中包含进程标识(PID);处理器状态信息;进程控制信息,操作系统通过进程控制块对进程加以管理。进程具有动态性,它是程序的一次执行活动,有一个从创建到消亡的过程,是有“生命”周期的;进程具有并发性,即不同进程的动作在时间上可以重叠,或者说在一个时间段内系统中有多个进程是“同时”执行的;进程具有独立性,它是一个可以独立运行的基本单位,也是申请拥有资源的独立单位;进程具有异步性,即进程间以各自独立的、不可预知的速度向前推进。 进程与程序的主要区别是: 第一、进程是程序处理数据的过程,而程序只是一组指令的有序集合。 第二、进程具有动态性、并发性、独立性和异步性,而程序只是静态的代码不具有这 些特性。 第三、进程与程序并非一一对应的,一个进程可能对应一个程序,也可能多个进程对应一个程序;例如,一个编译程序为多个用户程序编译,构成多个进程。 7.1.3多任务的实现 对于单处理机的计算机系统而言CPU只有一个,而需要运行的进程可能有许多个。Linux系统采用多级反馈队列实现处理机的调度,每个进程都有优先级,当它被创建时加入到相应优先级的队列中,对于实时和系统进程采用优先级和先来先服务相结合的调度算法,对于普通的用户进程采用优先级与时间片轮转相结合的调度算法。在Linux系统中,一般使用优先数来表示进程的优先级,优先数越小,优先级越高。 系统将一段时间(例如1秒)划分为若干个时间片段,每个时间片段称为一个时间片。每个普通用户进程在分配到的时间片内
您可能关注的文档
- Linux系统案例精解 教学课件 作者 978 7 302 22524 9 WJ 17 NAS&SAN设备的安装与配置.pdf
- Linux系统管理 教学课件 作者 董良 宁方明 1.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 2.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 3.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 4.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 5.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 6.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 7.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 8.ppt
- Linux系统管理 教学课件 作者 董良 宁方明 9.ppt
- Linux系统应用基础教程 教学课件 作者 张小进 第08章 shell编程.ppt
- Linux系统应用基础教程 教学课件 作者 张小进 第09章 网络应用.ppt
- Linux系统应用基础教程 教学课件 作者 张小进 第10章 系统内核的裁剪与编译.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch1.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch2.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch3.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch4.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch5.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch6.ppt
- Linux系统应用与开发教程 教学课件 作者 邝颖杰 ch7.ppt
最近下载
- 家电采购售后服务计划.docx VIP
- DB65 红枣果树越冬冻害等级划分.docx VIP
- 全过程造价咨询服务方案(1).docx VIP
- DB65森林生态系统服务功能监测与评估数据管理规范.docx VIP
- 最新-《注册岩土工程师执业资格考试基础考试复习教程》.pdf VIP
- DB65 干旱区砂土枣树井式节水灌溉技术规程.docx VIP
- DB65 农业机械卫星导航自动驾驶技术应用规范.docx VIP
- 合同纠纷的法律意见书(3篇).docx
- GGS54301-2015景观工程类供方管理标准.pdf VIP
- QCR 749.3-2020铁路桥梁钢结构及构件保护涂装与涂料 第3部分:附属钢结构(OCR).pdf VIP
文档评论(0)