- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 处理机管理9
第2章 处理机管理2.1 作业2.2 进程2.3 线程2.4 小结习题提高处理机(CPU)的使用率,使它尽可能处于工作状态,是操作系统管理功能的主要目标之一。在Linux系统中,提高处理机使用率的技术措施主要是多道和分时,处理机在进程之间切换,按照一定的规则轮流执行每个进程。对于单个处理机的系统,这些进程宏观上看似并行执行,而微观上来看仍然是串行执行的,这种执行方式被称为并发执行。操作系统通过并发控制机制,对处理机进行分配、调度,在保证每个进程都得到公平合理执行的同时,使系统中的各种资源得到充分的使用。本章主要围绕处理机管理展开,着重介绍进程的概念,同时也包括相关的两个基本概念:作业和线程。2.1作业作业是用户向计算机系统提交一项工作的基本单位,是用户在一次事务处理或计算过程中要求计算机所做工作的总和。作业和程序是两个相互联系而又不同的概念。如果一次业务处理可以由某一个程序完成,就是说这个业务处理只要提交这一个程序就够了,这种情况下,这个程序就是一个作业。通常,完成一次业务需要由多个程序协同完成,这时,多个程序、这些程序需要的数据以及必要的作业说明一起构成一个作业。系统通过作业说明书或者作业控制语句(JCL)控制程序和相应的数据执行,完成整个业务处理。按照对作业的处理方式,可以分为联机、批处理等作业。Linux系统中的shell提供了操作系统和用户之间的联机命令接口。Linux的shell同时提供了程序级接口。用户通过提交一个命令或一个命令序列以批处理方式执行特定的操作(详见本书第2部分)。在Linux分时批处理系统中,也可以根据对作业执行时的响应特征分为前台作业和后台作业。在多用户系统中,多个用户、不同类型的作业可能同时请求执行,控制和管理这些作业,协调它们之间的关系,就是作业调度,作业调度是处理机调度的一部分。2.2进程计算机内存中同时存放多个相互独立的已经开始运行的程序实体,大家按照某种规则轮流使用处理器,这是现代多道操作系统实现资源共享,提高系统资源利用率的主要方式。描述这些程序实体的概念就是进程。在多道情况下,每个进程独立地拥有各种必要的资源,占有处理机,独立地运行。在多道系统中,同时存在多个进程,所以当某个进程进入等待状态时,操作系统将把处理机控制权拿过来并交给其他可以运行的进程。进程之间存在着相互制约、相互依赖的约束关系。一种最糟糕的情况是所有进程都拥有部分资源,同时在等待其他进程拥有的资源,这样,大家都无法运行,进入一种永久等待的状态,这种情况称为死锁,死锁是对系统资源极大的浪费,必须设法避免。本节着重讨论现代多道操作系统中的核心概念——进程,这是理解操作系统工作原理的基础和关键。首先介绍单个进程的状态、状态转换的条件和控制原语、进程在系统中的静态描述等,接着介绍多个进程之间的约束关系,由此引出进程间通信的概念,通信是协调、解决进程间约束关系的惟一手段,这种约束关系处理不当造成的最严重的后果就是死锁。2.2.1 进程的概念进程(process)的概念最早出现在60年代中期,用于多道系统,在Linux系统中,进程也称为任务(task)。简单地讲,进程就是正在运行的程序,更为严谨的表达是,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。进程的概念对于理解操作系统有决定性的意义,而真正理解进程,必须了解它的基本性质。进程是操作系统分配资源和进行调度的独立单位,具有独立性。同时,具有动态性。多道系统中同时存在多个进程,这些进程拥有各自的资源,各自独立地执行,对于单处理机系统,进程宏观上同时运行而微观上是依次执行,这种情况称为并发执行。1. 进程和程序进程和程序是一对相互联系的概念。程序是指令的有序集合,是一个静态的概念,描述完成某个功能的一个具体操作过程,而进程是程序针对某一组数据的一次执行过程,更强调动态特征。一个完整的进程,包括程序、执行程序所需要的数据,同时还必须包括记录进程状态的数据资料。在多道分时操作系统中,按照时间片轮流在各个进程间切换。对于单处理器系统,每一个时刻只能有一个进程在执行,当分配给该进程的时间片用完之后,不管该进程运行到什么程度,都必须立即停止,然后让出处理器资源,下一个进程进入执行状态。让出处理器的进程必须记录好正在运行的状态,包括寄存器、堆栈等各种信息,这些信息保证当处理器下次切换到这个进程的时候,进程能够正确地从上次执行到的位置继续往下执行。一个程序在处理相同或不同的操作数据时可以同时对应于多个进程。一个进程也可以包含多个程序,某个程序在运行过程中,可能同时会调用到多个其他程序,这些具有调用关系的多个程序共同构成一次完整的运行活动,即一个完整的进程。举一个直观的例子。我们在Linux系统下使用编辑器vi进行编辑,同时打开多个窗口,编辑多个不同名称的文件,vi编
您可能关注的文档
最近下载
- 【教学设计】 相交线.pdf VIP
- 期末模拟质量检测卷(试题)2023-2024学年统编版语文五年级上册.docx VIP
- 基于STM32指纹识别密码锁控制系统的设计与实现毕业论文.doc
- 干阑式建筑课件.ppt
- 新生儿早期基本保健(EENC)—新生儿早期基本保健(EENC)概述(儿童保健课件).pptx VIP
- 期末模拟质量检测卷(试题)2023-2024学年统编版语文五年级上册 (1).docx VIP
- 重庆工商大学2021-2022学年《Python程序设计》期末考试试卷(B卷)及标准答案.docx
- 应急管理综合行政执法有关政策解读-2024年云南省执业药师公需课答案.docx VIP
- 中国乙型肝炎病毒母婴传播防治指南(2024年版)解读.pdf
- 小学六年级语文上册各单元(1-8单元)检测试题卷含答案全套(部编版统编教材).doc
文档评论(0)