计算机操作系统读书笔记___进程状态的讨论

推荐阅读进程的引入。马克思指出原因与结果是唯物辩证法的一对基本范畴。

 为什么会有这些状态而不是其他状态?换句话说,操作系统设计者提出这些状态的用意是什么?一句话:把CPU(处理机资源)的每一滴潜能都压榨干净。I/O设备可以闲置,内存在系统中进程比较少的时候也会闲置,但是CPU不行,CPU一旦被闲置效率就大大降低。

基本状态

Ready状态:进程已经分配到除CPU资源以外的所有必要资源。为什么不首先分配CPU资源再分配其他资源呢?光有CPU资源,尚需其他资源;在筹措其他资源的时候,CPU资源在你的手上但是处于一种闲置的状态——“浪费”!故而就绪状态要保持一种万事俱备,只欠CPU的状态。特点:不拥有CPU资源。

为什么会有Block状态?或者说为什么阻塞状态不干脆也一起并到执行状态中去呢?个人理解:因为阻塞状态是进程主动放弃CPU资源的,比如进程在等待I/O操作时,即使CPU资源在你手,也没发挥作用,倒不如让出去分给其他进程。另一方面,如果没有阻塞状态,那就不是并发执行了,而是顺序执行了。正因为阻塞状态的引入,才使得进程运行呈现一种走走停停的状态,看起来不是一件好事,但是对操作系统而言,是提高了资源的利用率的。特点:不拥有CPU资源。

高级状态

挂起状态:系统负荷过重时,就有可能把一些就绪或者阻塞状态的进程挂起。特点:不拥有CPU资源而且不参与调度。我们都知道,将内容从内外存之间来回调是很慢的,所以应该通过某种手段挂起那些预计长时间不会被用到的进程。到底以何种手段实现,那另当别论。

计算机操作系统读书笔记___进程状态的讨论

从活动阻塞到执行的箭头画反了,不知道编书的怎么回事,自己知道就好了。在此,我想讨论从静止阻塞到静止就绪这条单行道。理一理流程:某进程在执行时,因某原因变成活动阻塞,随后被挂起;挂了一段时间后也没被**,所以被置为静止就绪,这可能在很长的一段时间都得不到运行了。