进程状态入门 |
您所在的位置:网站首页 › 硬盘blocked状态 › 进程状态入门 |
简而言之,进程可以处于以下3种状态之一。 ·运行(running):在运行状态下,进程正在处理器上运行。这意味着它正在执行指令。 ·就绪(ready):在就绪状态下,进程已准备好运行,但由于某种原因,操作系统选择不在此时运行。 ·阻塞(blocked):在阻塞状态下,一个进程执行了某种操作,直到发生其他事件时才会准备运行。一个常见的例子是,当进程向磁盘发起I/O请求时,它会被阻塞,因此其他进程可以使用处理器。 如果将这些状态映射到一个图上,会得到图。如图所示,可以根据操作系统的载量,让进程在就绪状态和运行状态之间转换。从就绪到运行意味着该进程已经被调度(scheduled)。从运行转移到就绪意味着该进程已经取消调度(descheduled)。一旦进程被阻塞(例如,通过发起I/O操作),OS将保持进程的这种状态,直到发生某种事件(例如,I/O完成)。此时,进程再次转入就绪状态(也可能立即再次运行,如果操作系统这样决定)。 我们来看一个例子,看两个进程如何通过这些状态转换。首先,想象两个正在运行的进程,每个进程只使用CPU(它们没有I/O)。在这种情况下,每个进程的状态可能如表所示。
例如,当从磁盘读取数据或等待网络数据包时,进程会被阻塞。OS发现Process0不使用CPU 并开始运行Process1。当Process1运行时,I/O完成,将Process0移回就绪状态。最后,Process1结束,Process0运行,然后完成。 请注意,即使在这个简单的例子中,操作系统也必须做出许多决定。首先,系统必须决定在Process0发出I/O时运行Process1。这样做可以通过保持CPU繁忙来提高资源利用率。其次,当I/O完成时,系统决定不切换回Process0。目前还不清楚这是不是一个很好的决定。 总结 进程三种状态 运行 就绪 阻塞 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |