进程管理及并发控制和同步..doc

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

进程管理及并发控制和同步 在本章中,我们研究实现进程管理及并发控制和同步。 进程的定义和特征 进程的定义 进程(process)或任务(task)这一术语是在六十年代初期,首先在麻省理工学院(MIT)的MULTICS系统和IBM公司的CTSS/360系统中引入的,其后有许多人对进程下过各式各样的定义,下面列举几种比较能反映进程实质的定义: ⑴进程是程序的一次执行,亦即进程是在指定的内存区域中的一组指令序列的执行过程。 ⑵进程(或任务)是可以和别的计算并发(concurrent)执行的计算。 ⑶进程可以定义为一个数据结构和能在其上进行操作的一个程序。 ⑷进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 ⑸进程(process)是一个具有独立功能的程序关于相关的数据集在处理机上的执行过程。⑹ 进程的特征 进程具有顺序性、动态性、并发性、独立性和异步性等特征,进程的最基本的特征是并发性。 一个进程的顺序性是指每个进程在顺序处理机上的执行是严格按次序进行的,即只有当其中的一个操作结束后,才能开始其后续操作。 进程的动态性是指它是程序的一次执行过程,表现为它是由“创建(create)”而产生,由调度程序“调度”而运行,因“等待事件”而阻塞,最后,由“撤消(destroy)”而消亡。可见,进程是有一定生命期的,是动态地产生,运行和消亡的。 进程的并发性是指多个进程可以同时在一个系统中并发地执行。 进程的独立性是指它可以作为系统进行资源分配和调度的独立单位。 进程的异步性是指系统中的活动的进程总是按照各自独立的、不可预测的速度运行。 进程的结构 为了描述进程的运动变化过程并使之能独立地运行,应该为每个进程配置一个进程控制块(process control block 简记为PCB)。这样,从结构上看,每个进程都是由一个程序段和相应的数据段以及一个进程控制块三部分所组成。在UNIX系统中,把这三部分统称为进程映像(image)。而将进程定义为“进程映像的执行”。 进程的状态和进程控制块 进程的状态 前面已经介绍过,进程有着“运行-暂停-运行-撤消”的活动规律,它并非一直处于运行状态。事实上,在运动中的进程至少具有三个基本状态: ⑴就绪状态(Ready):一旦进程分配到除处理机(CPU)以外运行所需的必要资源,就处于准备运行的状态,但是由于进程数多于处理机数,使得未分配到处理机的进程处于等待处理机的状态,一旦进程分配到处理机它就立即变成运行状态,并且立即运行。 ⑵运行状态(Running):进程已经分配到包括处理机(CPU)在内运行所需的一切必要资源,并且正在处于运行的状态,即进程正在运行。 ⑶阻塞状态(Blocked):正在运行中的进程,由于某一事件(例如等待输入/输出操作的完成)而使之暂时无法运行而处于暂停的状态,或者说进程的执行受到了阻塞,所以称这种暂停状态为阻塞状态。有时又称为等待状态。 进程并非固定地处于某个状态,它将随着自身的执行和外界环境的变化而发生变化。图2-1表示了三个基本状态之间的演变及其典型的演变原因。实际的操作系统常常把上述的三个基本状态进一步细化。例如,图2-2显示了典型的UNIX操作系统进程状态之间的演变及其演变原因。 图2-1 基本进程状态演变图 图 2-2 UNIX进程状态演变图 进程控制块 为了描述进程的运动变化过程并使之能独立地运行,采用了为每个进程配置一个进程控制块(Process Control Block 简记为PCB),或称进程描述符(Process Descriptor)。操作系统根据进程控制块对该进程进行控制和管理。当系统创建一个进程时,同时为它设置一个进程控制块。当进程完成时,系统收回它的进程控制块,进程也随之消亡。为了充分描述进程,使之便于操作系统进行控制和管理。进程控制块通常包含下列信息: ⑴进程标识符(Identification):进程标识符是以字母或数字形式表示的进程名称。每个进程只能有且仅有唯一的进程标识符,不同的进程不可以用相同的名称。在创建一个进程时,系统必须给出该进程的进程标识符,并填入进程控制块中。在有些系统中,为了方便起见,每个进程具有两个标识符,一个是在创建进程时,系统所提供的内部名称,一个是由创建者给予的外部名称。 ⑵进程的当前状态(Status):说明进程目前处于何种状态,作为进程调度时分配处理机的主要依据,只有当进程处于活动就绪状态,并且具有最高优先数时才可以分配到处理机。当进程处于阻塞状态时,要在进程控制块中说明阻塞原因。 ⑶处理机状态保护区:当进程由于某个事件从运行状态变为阻塞状态时,处理机现场信息被保存在进程控制块内部一个区域中,以便在进程重新获得处理机时,该进程能够恢复处理机现场继续执行。通常被保护的信息有各种

文档评论(0)

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

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

1亿VIP精品文档

相关文档