【精品】进程管理(c语言)

【精品】进程管理(c语言)

ID:45749578

大小:427.68 KB

页数:78页

时间:2019-11-17

【精品】进程管理(c语言)_第1页
【精品】进程管理(c语言)_第2页
【精品】进程管理(c语言)_第3页
【精品】进程管理(c语言)_第4页
【精品】进程管理(c语言)_第5页
资源描述:

《【精品】进程管理(c语言)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第2章进程管理教学要点:本章主要内容是程序的并发执行及进程的概念,进程的状态及其转换,进程的同步与互斥,进程通信与调度,进程死锁的概念及解决死锁的方法,线程的概念及其实现,Linux中进程的实现。读者应重点掌握进程及线程的概念及其状态转换,实现进程同步与互斥的方法以及进程的各种调度策略。掌握进程通信、死锁的概念及其解决方法,了解Linux中进程的实现技术。操作系统屮最核心的概念是进程,进程是对正在运行的程序的一种抽象,是资源分配和独立运行的基木单位,操作系统的所有内容都是围绕进程展开的,操作系统的四人特征也是基于进程而形成的。所以操作系统的学习者和设计者都要尽早地理解进程。本章

2、就來阐述有关进程的问题2.1进程的概念2.1.1程序的并发执行现在所冇的计算机都能同时做儿件事悄。在我们使用计算机运行程序的时候,时常会一边听着光盘上的音乐,一边从网上下载着软件,一边还编辑着文本文件。在某一时段同时发牛儿件事的现象称为并发。我们知道,计算机为我们自动地做某事,实际上是CPU自动执行存放在内存中的程序,同时做几件事就是同时执行几道不同的程序。如果这几道程序同时在不同的CPU上执行,则称之为“并行”,如果它们分时地运行在同一个CPU±则称之为“并发”。在单CPU条件下同时运行儿道程序,从宏观上看,这儿道程序是同时向前推进,但从微观上观察则是由单CPU按照时间段轮流

3、执行每个程序的一小段,使每个程序都运行到程序的开始与结朿之间的某一处。从逻辑上讲,这儿道程序都在运行,但从CPU的执行轨迹上观察,却是轮流地为每个程序执行一段时间,循坏往复,直到所有程序依次完成。我们目前使用的计算机几乎都是单CPU的机器,但是都能为我们同时完成几件不同的工作,就是采用的CPU分时原理。因此,逻辑上的并行称为“并发”程序的并发执行是在多道程序环境下完成的,而在单道程序工作环境中,程序是顺序执行的。程序的这两种不同的执行方式,体现出不同的特性。1.程序的顺序执行及其特性一个具何独立功能的程序独占CPU运行,肓至得到最终结果的过程称为程序的顺序执行。例如,用户耍求计

4、算机完成一道程序的运行时,通常先输入川户的程序和数据,然后运行程序进行计算,最后将结果打印出来。假设系统中有2个程序,而每个程序都由三个程序段I、C、P组成,其中,I表示从输入机上读入程序的信息,C表示执行程序的计算过程,P表示在打印机上打印出程序的计算结果。在单道环境下,每一程序的这三个程序只能是一个接一个地顺序执行,也就是输入、计算和打印三者串行工作,并且前一个程序结束后,才能执行下一个程序。执行顺序如图2.1所示。图2.1程序的顺序执行由上述顺序程序的执行情况可以看出,程序的顺序执行貝有如下特点:①顺序性。当顺序程序在CPU上执行时,CPU严格地顺序执行程序规定的动作,每

5、个动作都必须在前一动作结束后才能开始。除了人为的干预造成机器暂时停顿外,前一动作的结束就意味着后一动作的开始。程序和计算机执行程序的活动严格一一对应。②独占资源。程序在执行过程小,独占全部资源,除了初始状态外,只有程序本身规定的动作才能改变这些资源的状态。③结果无关性。程序的执行结果与其执行速度无关。也就是说,CPU在执行程序的两个动作Z间如有停顿不会影响程序的执行结果,如果程序的初始条件不变,当重复执行时,—•定能得到相同的结果。上述特点概括起來就是程序的顺序性、封闭性和可再现性。所谓顺序性指的是程序的各部分能够严格地按程序所确定的逻辑次序顺序地执行。所谓封闭性指的是程序一旦

6、开始执行,具计算结果就只取决于程序本身,除了人为改变机器运行状态或机器故障外,不受外界因素的影响。所谓对再现性是指当该程序重复执行时,必将获得相同的结果。这给程序的调试带来了很大的方便。1.程序的并发执行及其特性现代计算机在物理设计和逻辑设计中采川并行操作技术,使多种硬件设备能并行工作。哽件的并行操作技术为程序的并发执行提供了物质基础。在多道程序操作系统支持下,不但在多机系统中它可同时执行多个不同的程序,即使是在单机系统中,从逻辑上或宏观上看,多个程序也能并发执行0对于任何一个程序i,其输入操作Ii、计算操作Ci、打印操作Pi这三者必须顺序执行,但对n个程序來说,则冇可能并发执

7、行。例如:输入程序在完成第i个程序的输入操作后,计算程序在对第i个程序进行计算的同时,可再启动输入程序,进行第i+1个程序的输入操作,这就使得第i+1个程序的输入操作和第i个程序的计算操作能并发执行。图2.2给出了输入、计算、打印程序对一批程序进行处理的执行顺序。在该例屮II先于C1和12,C1先于P1和C2,P1先于P2,12先于C2和13,……。这说明有些操作必须在其它操作之后执行,另外冇些操作却可以并行地执行。此外从图中可以看出:12与C1、13与C2与P1、14与C3与P2是重叠的。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。