进程的状态切换

唉 但是你家里事情很多呀,你们家的操作系统很头疼,每个人都能同时做好多事情
每个事情的进度不太一样,资源又是有限的,到底要怎么样才能让每件事情都合理的完成呢?
比如烧水的时候,不需要人看着,这个时候人就可以去做别的事情了
家里有一个生活管家,负责解决这件事情 后来,终于想出了一个好的方法,既然事情太多了,事情状态也多。 那么就总结一下这些事情一共有几种,分类一下,然后解决它 后来总结就发现,这些事情一共有5种状态 (
1)创建状态:管家准备材料,把说明书放到厨房桌子上,准备厨具到爸爸依赖就可以马上做蛋糕的这个过程 (2)就绪状态:所有的东西都准备好啦,所以现在是准备就绪状态,随时可以运行,也就是爸爸随时可以做蛋糕 也会因为中途去做别的事情了而展示停止运行 (比如爸爸中途去给弟弟包扎伤口) (3)运行状态:正在认真做蛋糕的时候,爸爸被做蛋糕这件事情占用了 (4)阻塞状态:做蛋糕的过程中,爸爸问女儿,想吃什么口味的蛋糕 要等到女儿回复了他才能进行下一步 (5)结束状态:蛋糕做好了,管家打扫卫生,收拾厨房,这个过程就处于结束状态

 

 

 

 

家里的事情真的太多了,客厅的黑板空间有限,放不下那么多纸条。
后来,管家又头脑风暴了一下,发现其实可以再额外挂两个小篮子在黑板旁边
如果一个事情处于阻塞状态,那就把它放到小篮子里,需要运行的时候再从小篮子里取出来
放到黑板上
放到篮子里的纸条有一个共同的特点:就是他们不在黑板上
(也就是没有占用实际的物理内存空间)

两个小篮子里的纸条的状态是挂起状态
(1)篮子1,阻塞挂起,事情在等待某个事件的出现,
比如爸爸等待女儿回复要吃什么口味的蛋糕
(2)篮子2,就绪挂起,管家把厨房状态以及原材料准备好了
只要到黑板上,就能马上运行了

在上面的例子里,挂起是因为物理内存不是很大,所以把会有就绪挂起和阻塞挂起。
实际上,如果用户希望进程休眠10分钟再运行,这个也可以挂起,就是放到挂起小篮子里去
或者用户希望主动挂起一个程序的执行,就是现在不执行他,我就把它放到挂起小篮子里

  

 

 

 

 

 

 

 

 

 

 

posted @ 2022-05-09 18:04  今天也是开心的一天呀  阅读(42)  评论(0)    收藏  举报