操作系统--多进程管理CPU
一.cpu管理直觀做法
最只管想法cpu循環(huán)取址執(zhí)行,所以只需要設(shè)好pc初值即可
存在問題:io會占用時間長,導(dǎo)致cpu利用率低.
所以需要不停切換,執(zhí)行多個程序,也就是并發(fā).
但是在切換的時候,除了記錄返回地址,還要記錄當(dāng)前執(zhí)行程序運行時刻(也就引入進程),就像人看書一樣有人打擾,需要做個記號,下次接著看.使用的是PCB(Process Control Block)的數(shù)據(jù)結(jié)構(gòu)來記錄進程信息,這是操作系統(tǒng)中最重要的結(jié)構(gòu).
總結(jié):用多進程管理cpu.
二.多進程圖像
? ? ? ? ? ? ? ? ? ?
1.多進程組織:
?采用的是PCB+狀態(tài)+隊列的方式(類似銀食堂排隊,阻塞狀態(tài)類比忘記帶飯卡了,就將阻塞態(tài)放入就緒態(tài)).
??
2.多進程交替:
2.1進程調(diào)度
比如FIFO(就像食堂排隊),存在問題就是優(yōu)先級怎么設(shè)定?后面在具體介紹.
2.2進程切換
利用PCB存儲信息與恢復(fù)信息.
2.3.多進程影響:
由于同時放在內(nèi)存中,可能導(dǎo)致不同進程內(nèi)存共用,導(dǎo)致程序崩潰.
解決辦法:需要對進程進行內(nèi)存管理,采用映射表,將不同進程地址對應(yīng)的物理地址區(qū)分開.
3.多進程合作:
將進程放入隊列里,按需索取.
存在問題:由于交替執(zhí)行,可能同一位置,被不同進程看見,典型例子:生產(chǎn)者和消費者進程.所以在多進程合作時,需要給某些屬性上鎖,不能被任意進程訪問.
參考:
操作系統(tǒng)_哈爾濱工業(yè)大學(xué)_中國大學(xué)MOOC(慕課)
總結(jié)
以上是生活随笔為你收集整理的操作系统--多进程管理CPU的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSAPP--信息的表示与处理
- 下一篇: 吴恩达《机器学习》学习笔记十三——机器学