打印
[资源共享]

进程的状态与转换

[复制链接]
2794|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

进程在其生命周期内,由于系统中各进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断地发生变化(一个进程会经历若干种不同状态)。通常进程有以下五种状态,前三种是进程的基本状态。


  1) 运行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。


  2) 就绪状态:进程已处于准备运行的状态,即进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。


使用特权

评论回复
沙发
powerantone|  楼主 | 2023-4-26 11:01 | 只看该作者
3) 阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。


  4) 创建状态:进程正在被创建,尚未转到就绪状态。创建进程通常需要多个步骤:首先申请一个空白的PCB,并向PCB中填写一些控制和管理进程的信息;然后由系统为该进程分配运行时所必需的资源;最后把该进程转入到就绪状态。


  5) 结束状态:进程正从系统中消失,这可能是进程正常结束或其他原因中断退出运行。当进程需要结束运行时,系统首先必须置该进程为结束状态,然后再进一步处理资源释放和回收等工作。

使用特权

评论回复
板凳
powerantone|  楼主 | 2023-4-26 11:02 | 只看该作者

注意区别就绪状态和等待状态:就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;而等待状态是指进程需要其他资源(除了处理机)或等待某一事件。之所以把处理机和其他资源划分开,是因为在分时系统的时间片轮转机制中,每个进程分到的时间片是若干毫秒。也就是说,进程得到处理机的时间很短且非常频繁,进程在运行过程中实际上是频繁地转换到就绪状态的;而其他资源(如外设)的使用和分配或者某一事件的发生(如I/O操作的完成)对应的时间相对来说很长,进程转换到等待状态的次数也相对较少。这样来看,就绪状态和等待状态是进程生命周期中两个完全不同的状态,很显然需要加以区分。


  图2-1说明了五种进程状态的转换,而三种基本状态之间的转换如下:


使用特权

评论回复
地板
powerantone|  楼主 | 2023-4-26 11:04 | 只看该作者
就绪状态 -> 运行状态:处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。


  运行状态 -> 就绪状态:处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。

使用特权

评论回复
5
powerantone|  楼主 | 2023-4-26 11:04 | 只看该作者
运行状态 -> 阻塞状态:当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。


  阻塞状态 -> 就绪状态:当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。

使用特权

评论回复
6
有何不可0365| | 2024-7-31 14:54 | 只看该作者
进程在运行状态下,说明它正在处理器上执行指令。此时进程可以使用CPU资源,进行计算和处理任务。

使用特权

评论回复
7
有何不可0365| | 2024-7-31 15:02 | 只看该作者
在单处理器系统中,每一时刻只有一个进程能够处于运行状态。如果有多个进程,操作系统通过调度算法在它们之间切换。

使用特权

评论回复
8
yangjiaxu| | 2024-7-31 15:35 | 只看该作者
进程(Process)是操作系统中一个重要的概念,它代表了一个正在执行的程序。进程在其生命周期中会经历不同的状态,这些状态之间可以相互转换

使用特权

评论回复
9
亚瑟| | 2024-7-31 21:56 | 只看该作者
这个跟linux的进程状态很类似

使用特权

评论回复
10
gouguoccc| | 2024-8-1 07:55 | 只看该作者
这个属于操作系统层的范畴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

549

主题

2383

帖子

4

粉丝