欢迎来到天天文库
浏览记录
ID:36717001
大小:605.81 KB
页数:175页
时间:2019-05-10
《分布式操作系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章.进程管理及并发控制和同步第1节进程的定义和特征第2节进程的状态和进程控制块第3节进程控制第4节进程的同步与互斥第5节并发执行的描述方式第6节基于共享变量的同步操作原理第7节基于消息传递的同步操作原语第8节进程调度进程的定义和特征§1.进程的定义§2.进程的特征§3.进程的结构进程的定义进程(process)或任务(task)这一术语是在六十年代初期,首先在麻省理工学院(MIT)的MULTICS系统和IBM公司的CTSS/360系统中引入的,其后有许多人对进程下过各式各样的定义,下面列举几种比较能反映进程实质的定义:进程的定义⑴进程是程序的一次执行,亦即进程
2、是在指定的内存区域中的一组指令序列的执行过程。⑵进程(或任务task)是可以和别的计算并发(concurrent)执行的计算。⑶进程可以定义为一个数据结构和能在其上进行操作的一个程序。⑷进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位⑸进程(process)是一个具有独立功能的程序关于相关的数据集在处理机上的执行过程。进程的特征进程具有顺序性动态性并发性独立性和异步性等特征。进程的最基本的特征是并发性。顺序性一个进程的顺序性是指每个进程在顺序处理机上的执行是严格按次序进行的,即只有当其中的一个操作结束后,才能开始其后续操作.动态性进程
3、的动态性是指它是程序的一次执行过程,表现为它是由“创建(create)”而产生,由调度程序“调度”而运行,因“等待事件”而阻塞,最后,由“撤消(destroy)”而消亡。可见,进程是有一定生命期的,是动态地产生,运行和消亡的。并发性进程的并发性是指多个进程可以同时在一个系统中并发地执行。独立性进程的独立性是指它可以作为系统进行资源分配和调度的独立单位异步性进程的异步性是指系统中的活动的进程总是按照各自独立的、不可预测的速度运行。进程的结构为了描述进程的运动变化过程并使之能独立地运行,应该为每个进程配置一个进程控制块(processcontrolblock简记为PC
4、B)。进程的结构三部分所组成:一个程序段相应的数据段一个进程控制块在UNIX系统中,把这三部分统称为进程映像(image)。而将进程定义为“进程映像的执行。进程的状态⑴就绪状态(Ready)⑵运行状态(Running)⑶阻塞状态(Blocked)进程的状态进程的状态(UNIX)进程控制块⑴进程标识符(Identification)⑵进程的当前状态(Status)⑶处理机状态保护区⑷进程的起始地址⑸资源清单⑹进程优先数⑺队列指针(pointer)或链接字(link)⑻进程族的联系⑼计账信息为了对于进程进行控制,操作系统内必须设置一个机构,它具有上述进程控制及进程通讯
5、和资源管理等功能。这样的机构称为操作系统的内核(Kernel)原语所谓原语(Primitive)是机器指令的延伸,它由若干条指令组成,用以完成特定功能的一段程序。为了保证原语操作的正确性,原语在执行期间是原子的,亦即原语在执行期间是不可分割的。原语⑴创建原语(CreatePrimitive)⑵悬挂原语(SuspendPrimitive)⑶激活原语(ActivatePrimitive)⑷阻塞原语(BlockPrimitive)⑸唤醒原语(WakeupPrimitive)⑹撤消原语(DestroyPrimitive)对进程之间共享资源的控制必须满足下列要求:安全性(
6、safety)活动性(liveness)公正性(fairness)安全性(safety)在任意一个给定时刻只允许至多一个进程使用一个共享资源,不允许两个及两个以上进程同时使用同样的共享资源。否则,进程对共享资源操作的结果往往是破坏性的。活动性(liveness)活动性表现为两个方面,一方面任意一个进程在使用共享资源时,必须在有限时间内释放,不能无限期地占用而导致其它进程永远无法使用;另一方面当某个进程欲使用共享资源时,则应在有限时间内达到目的,而不应该互相阻止导致彼此永远都不能使用。公正性(fairness)对进程使用共享资源的次序不作不公正的规定。当某个进程欲使
7、用共享资源时,只要其它进程不在使用该共享资源,就应该允许该进程使用。并且任意一个要求使用共享资源的进程不能无限期地等待,总应该在某个公正的时间界限内获得该资源。第4节进程的同步与互斥进程之间常常相互作用,并存在某种彼此依赖或互相制约的关系这些关系按其性质可分为同步(synchronization)和互斥(mutualexclusion)关系。进程的同步一进程运行到某点时,要求另一伙伴进程它提供信息,在未得到这一信息时,该进程等待,直至收到这一信息后,才能继续执行。它们彼此都清楚对方的存在及作用,而且每一进程还可能直接依赖于本组进程中其它成员所产生(或所提供)的数据
8、。这是进程
此文档下载收益归作者所有