操作系统中 进程状态的概念以及变迁

进程的基本状态

运行状态(running):

  • 该进程已获得运行所必需的资源,它的程序正在处理机上执行。
  • 在单处理机上,任一时刻只能有一个进程处于运行状态。

等待状态(wait):

  • 又称挂起(suspend)态阻塞(block)态睡眠(sleep)态
  • 进程正等待着某一事件的发生而暂时停止执行。这时,即使给它CPU控制权,它也无法执行,则称该进程处于等待态。

就绪状态(ready):

  • 进程本身具备运行条件,但是由于处理器的数量少于可运行进程的数量,暂时未投入运行,等待处理器资源。
  • 进程已获得除CPU之外的运行所必需的资源,一旦得到CPU控制权,立即可以运行。

运行、就绪、等待是进程最基本的3种状态;
为了实现某种设计目标,进程状态数量可能多于3个,但是不会少于3个;

基本状态的区别

等待态 & 就绪态

  • 就绪态在等待CPU的控制权;而等待态在等待事件;
  • 就绪态获得CPU后可立即进入运行态运行程序;而就绪态获得CPU也无法运行程序;

就绪态 & 运行态

  • 就绪态与运行态受限于硬件设备;
  • 运行态正在占用CPU;就绪态没有占用CPU;

进程状态的变迁

01

1. 运行态 → 等待态

  • 当一个运行程序因某件时间受阻时,如申请资源被占用、启动数据传输未完成等,其状态会变迁;
  • 详细点就是请求外部传输:一个程序在运行时需要进行打印,提出外部请求使用打印机,然后从运行态变迁为等待态;

2. 等待态 → 就绪态

  • 当所等待的事件发生时,如得到被申请资源、数据传输完成,其状态会由等待变为就绪;

3. 就绪态 → 运行态

  • 当一个就绪程序获得CPU时,其状态就由就绪态变为运行态;

4. 运行态 → 就绪态

  • 运行进程被剥夺处理器资源;
  • 在分时操作系统中,该程序用完了系统分配的时间片;
  • 出现高优先级别的其他进程;

就绪态 → 等待态

  • 不是全错,还是有可能的;
  • 可能有,只是现在的OS一般都没有这个变迁;

等待态 → 运行态

  • 全错;
  • 这个变迁是绝对没有的;

参考资料

发布了29 篇原创文章 · 获赞 42 · 访问量 8501

猜你喜欢

转载自blog.csdn.net/qq_43068326/article/details/104689963