进程状态的内容

如题所述

第1个回答  2016-06-04

进程状态分为五个状态,即初始状态,就绪状态,执行状态,等待状态和终止状态。
初始状态:表示该进程初步准备占有处理机。
就绪状态:表示该进程已准备好占有处理机。
执行状态:表示该进程占有处理机。
等待状态:表示进程因为某种原因而暂时不能占有处理机。
终止状态:表示进程已经执行结束。 进程和处理机管理的一个重要任务是进程控制。
进程控制就是系统使用一些具有特定功能的程序段来创建、撤销进程以及完成进程各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。
进程创建和撤销
进程的创建方式有:
由系统程序模块统一创建。
由父进程创建。
进程撤销:
导致进程撤销的原因有几种,无论哪一种情况导致进程被撤销,进程都必须释放它所占用的各种资源和PCB结构本身,以利于资源的有效利用。撤销的原因如下:
该进程已完成其本身具有的功能。
该进程的祖先要求撤销该进程。
由于某种错误导致不正常的结束。
阻塞
进程的阻塞指当进程期待着某事的发生时,但其又不具备发生的条件,被该进程自己调来阻塞自己。 进程具有独立性和异步性等并发特征,但是由于计算机中资源是有限的,所以进程间存在竞争和共享。故此,进程的并发执行不仅是用户程序的执行开始时间的随机性和提高资源利用率的结果,也是资源有限性导致资源的竞争与共享对进程的执行过程进行制约所造成的。
在一并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。也就是说,不允许两个以上的共享该资源的并发进程同时进入临界区称为互斥。 进程通信意味着进程间的数据传输。一般来说进程间的通信根据通信内容可分为两种:控制信息的传送与大批量数据传送。进程间控制信息的交换有时也称为低级通信,而进程间大批量数据的交换称为高级通信。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用;高级通信则要传送大量数据,其目的不是为了控制进程的执行速度,而是为了交换信息。进程的通信方式有:主从式、会话式、消息或邮箱机制、共享存储区方式。
主从式通信的特点有:主进程可自由地使用从进程的资源或数据、从进程的动作受主进程的控制、主进程和从进程的关系是固定的。
在会话系统中,通信进程双方可分别称为使用进程和服务进程。其中,使用进程调用服务进程提供的服务并且具有如下特点:a.使用进程在使用服务进程所提供的服务之前,必须得到服务进程的许可;b.服务进程根据使用进程的要求提供服务,但对所提供的服务的控制由服务进程自由完成。c.使用进程和服务进程在进行通信时有固定连接关系。
消息或邮箱机制则无论接受进程是否已准备好接受消息,发送进程都将把多要发送的消息送入缓冲区或邮箱。并具有如下特点:a.只要存在空缓冲区或邮箱,发送进程就可以发送消息。b.与会话系统不同,发送进程和接收进程之间无直接连接关系,接收进程可能在收到某个发送进程发来的消息之后,又转去接收另一个发送进程发来的消息;c.发送进程和接收进程之间存在缓冲区或邮箱用来存放被传送消息。
共享存储区方式不要求数据移动。两个需要互相交换信息的进程通过对同一共享数据区的操作来达到互相通信的目的。这个共享数据区是每个互相通信进程的一个组成部分。
消息缓冲机制
发送进程和接收进程采用消息缓冲机制进行数据传送时,发送进程在发送消息前,先在自己的内存空间设置一个发送区,把欲发送的消息填入其中,然后再用发送过程将其发送出去。接收进程则在接收消息前,在自己的内存空间内设置相应的接收区,然后用接收过程接收消息。
注:在发送进程把消息写入缓冲区和把缓存区挂入消息队列时,应禁止其他进程对该缓冲区消息队列的访问。否则,将引起消息队列的混乱。同理,当接收进程正从消息队列中取消息缓冲时,也应禁止其他进程对该队列的访问。当缓冲区中无消息存在时,接收进程不能接收到任何消息。
邮箱通信:邮箱通信就是由发送进程申请建立一个与接收进程链接的邮箱。 死锁:所谓的死锁是指各并发进程互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又得不到资源,各并发进程不能继续向前推进的状态。
起因:并发进程的资源竞争是引起死锁的起因。因为系统提供的资源个数少于并发进程所要求的该类资源数。可以根据死锁产生的条件来适当的做出资源分配,以达到消除死锁的目的。
产生的必要条件:互斥条件、不剥夺条件、部分分配、环路条件。
死锁预防:一种方法是打破资源的互斥和不可剥夺这两个条件。另外一种方法是打破资源的部分分配这个死锁产生的必要条件,即预先分配各并发进程所需要的全部资源。
死锁避免:死锁避免也称为动态预防,因为系统采用动态分配资源,在分配过程中预测出死锁发生的可能性并加以避免的方法。避免的一种基本模式是把进程分为多个步,其中每个步所使用的资源是固定的,且在一个步内,进程所保持的资源数不变。即进程的资源请求、使用与释放要依靠不同的步完成。
死锁的检测和恢复:当进程进行资源请求时,死锁检测算法检查并发进程组是否构成资源的请求和保持环路。有限状态转移图和PertriNet等技术都可以用来有效地判断死锁发生。死锁的恢复方法有:终止各锁住进程、按一定的顺序终止进程序列、从被锁进程强迫剥夺资源以解除死锁。

相似回答