首页 > 编程知识 正文

画出进程状态转换图,进程管理转换图

时间:2023-05-03 20:48:05 阅读:167116 作者:1184

一.进程状态

1 .创建状态

流程由创建生成。 创建流程是一个非常复杂的过程,通常需要通过多个步骤来完成。 例如,最初申请过程是空白的过程控制块(PCB ),并向PCB写入控制和管理过程的信息。 然后,为进程分配执行所需的资源。 最后,将进程转换到就绪状态,并将其插入就绪队列。

2 .准备完毕状态

这是指进程准备运行的状态,即进程分配给除CPU以外的所有必需资源后,重新获得CPU即可立即运行。 当系统中有许多处于就绪状态的进程时,它们通常根据一个称为就绪队列的策略进行排队。 有执行资格,没有执行权的进程。

3 .运行状态

其中是指进程已经获取了CPU,并且进程正在运行的状态。 在任何时刻,在单处理器系统中,只有一个进程处于运行状态,并且在多处理器系统中,多个进程处于运行状态。 同时具有执行资格和执行权限的进程。

4 .阻塞状态

这里指的是正在运行的进程由于发生I/O请求、缓冲区请求失败等事件而暂时无法继续执行的状态,即进程的执行被阻止的状态。 此时,发生进程调度,操作系统将处理器分配给准备就绪的其他进程,使被屏蔽的进程暂时停止的状态一般称为暂时停止状态

5 .结束状态

过程的结束也有两个步骤。 首先,等待操作系统进行善后处理,最后清除PCB,将PCB空间返还给系统。 当一个进程到达自然端点、出现无法克服的错误、由操作系统终止或由其他具有终止权限的进程终止时,将进入终止状态。 进入退出状态的进程以后不能再运行,但操作系统中的xxdls存储并记录了状态代码和一些计时统计数据,以供其他进程收集。 当其他进程完成信息提取后,操作系统将删除该进程。 也就是说,清除PCB并将空白的PCB返回给系统。

为什么要划分准备完成和封锁状态呢

a )就绪状态只需要等待处理器,屏蔽状态有可能在等待输入输出,即使分配给处理器也没有用,所以两种状态图是不合适的。 对于计划进程,阻塞状态可以迁移到就绪队列,因此您只需等待就绪队列中的进程。

流程5状态

新状态:进程已创建,但不被操作系统接受为可执行进程。 (还没有申请相应的资源。

准备完毕(流程已准备好,准备运行) (只需等待处理机。

运行状态:此进程正在运行(单处理器,在某个时刻只有一个进程占用处理器)。

阻塞状态在事件发生之前无法执行,例如等待I/O完成。

结束状态。

问题:多个进程的争用内存资源l内存资源紧张

没有l就绪队列。 处理器处于空闲状态。 I/O速度比处理器慢得多,所有进程都可能被阻止并等待I/O。

解决方法

l交换技术:将暂时无法执行的部分进程交换到外部存储器(仅交换程序和数据,不交换PCB ),以释放内存空间,并允许调用新进程执行。

l虚拟存储技术:每个进程只能加载部分程序和数据

挂起:进程被交换到外部存储器并进入挂起状态的4.1进程挂起的原因(p91 ) ) ) ) )。

l进程全部被阻止,处理器处于空闲状态。

l系统负荷过重,内存空间紧张。 (让其他进程先执行)

l操作系统的必要性。 操作系统可能需要挂起后台进程、服务进程或可能导致故障的进程。

l最终用户请求。

l父流程需求。

4.2保留程序的特点

l不能马上执行

l有可能正在等待某个事件的发生,如果是这样的话,阻断条件与暂停条件是独立的,即使发生阻断事件,其进程也无法执行。

n个屏蔽和锁定没有连接。

如果现在a进程请求输入数据,那么此时a进程处于阻塞状态,在选择挂起进程时,有可能首先选择阻塞进程(a进程)。 此时,a进程正在挂起,输入数据,并输入内存缓冲区。 输入数据后,命令数据将发送到处理器,阻塞事件将被解除,但实际上已锁定,因此仍处于挂起状态。

l挂起的进程是自身、父进程、OS。

只有挂起l进程,才能从挂起状态更改为其他状态。

4.3阻塞和锁定

l进程是否等待时间:是否阻止。

l进程是否已从内存中移除:是否已挂起。

4 .四种状态的组合

l就绪:进程位于内存中,准备运行。

l块:进程在内存中,等待事件。

lready/suspend :进程存储在外部,只需传输到内存即可运行。

l块/挂起—进程保存在外部并等待事件。

4.5处理器可以调度执行的进程有两种

l新创建的流程

l或切换到以前挂起的进程

通常,系统运行时会替换以前挂起的进程,以避免增加系统负载。

4.6存在挂起状态的进程状态转移

l块-块/挂起:操作系统通常交换块进程以释放内存空间

l阻止/挂起就绪/挂起:如果发生阻止/挂起进程正在等待的事件,可以转换为就绪/挂起。

l就绪/挂起就绪:操作系统需要转入一个进程运行。

l就绪就绪/挂起:操作系统通常会挂起块进程。 但是,准备进程可能会挂起,从而释放足够的内存空间。

L就绪/挂起(新就绪) )创建新进程后,可以将其插入就绪队列或就绪、挂起队列。 如果没有足够的内存分配给新进程,则需要新就绪/挂起。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。