IO消耗和处理器消耗
linux操作系統(tǒng)博大精深,對操作系統(tǒng)的掌握的掌握程度對編寫代碼非常有幫助。下面看一下IO消耗和處理器消耗的不同。
I/O消耗型進(jìn)程:程序運行時的大部分時間都在提交或者等待I/O請求,因此這樣的進(jìn)程要經(jīng)常處于運行狀態(tài),但通常都是短短的一會兒,所以處理器傾向于優(yōu)先調(diào)度I/O消耗型的進(jìn)程。該類進(jìn)程優(yōu)先級高,時間片長。而優(yōu)先調(diào)度該類進(jìn)程是為了讓該類進(jìn)程是為了盡可能地消耗其所需要的處理器資源,從而讓該進(jìn)程阻塞住,這樣只要用戶一完成I/O操作,該進(jìn)程就會被喚醒,從而立刻處理I/O操作,那么在用戶看來,該進(jìn)程響應(yīng)非常快,體現(xiàn)出了很好的用戶友好性
處理器消耗型進(jìn)程:該類進(jìn)程在把時間都發(fā)在了執(zhí)行代碼上,即在該進(jìn)程執(zhí)行期間,馬不停蹄的使用處理器資源。所以除非被搶占,否則它們通常都一直不停地運行,因此從系統(tǒng)響應(yīng)速度考慮,調(diào)度器不應(yīng)該經(jīng)常讓它們運行。該類進(jìn)程優(yōu)先級低,時間邊短。
1)如果處理器消耗型進(jìn)程的優(yōu)先級高,時間片長,那么它就是實打?qū)嵉叵耐晁臅r間片后,系統(tǒng)才會為其他低優(yōu)先級的進(jìn)程服務(wù)
2)而如果I/O消耗型進(jìn)程的優(yōu)先級高,時間片長,則因為頻繁的IO操作并等待完成,需要處理器處理的時間其實很少,這樣系統(tǒng)會自動將其等待的時間片分配給其他需要服務(wù)的進(jìn)程
顯然2更合理,不只讓I/O消耗型進(jìn)程的響應(yīng)速度更快,而且讓其它進(jìn)程不用等太久就會被再次調(diào)度到
?
總結(jié)
以上是生活随笔為你收集整理的IO消耗和处理器消耗的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++几种智能指针比较
- 下一篇: 分布式基础理论