【操作系统】进程调度的不同层次
進(jìn)程在其生命周期中會(huì)在各種調(diào)度隊(duì)列之間遷移。為實(shí)現(xiàn)調(diào)度,OS必須某種方式從這些隊(duì)列中選擇進(jìn)程,該選擇由調(diào)度程序完成。
- 批處理系統(tǒng)通常提交很多進(jìn)程,它們保存在大容量存儲(chǔ)設(shè)備(通常為磁盤)上的緩沖池中,以便后來執(zhí)行。
- 長期調(diào)度程序或作業(yè)調(diào)度程序:從池中選擇進(jìn)程,并將它們裝入內(nèi)存以執(zhí)行。
- 短期調(diào)度程序或CPU調(diào)度程序:從就緒可執(zhí)行的進(jìn)程中選擇進(jìn)程,并為其中之一分配CPU。
長期調(diào)度和短期調(diào)度的區(qū)別主要在頻率上:
短期調(diào)度頻率高,長期調(diào)度頻率低,且長期調(diào)度控制多道程序設(shè)計(jì)的程度,即內(nèi)存中的進(jìn)程數(shù)量。
短期調(diào)度程序必須頻繁地為CPU選擇新進(jìn)程。進(jìn)程可能執(zhí)行數(shù)毫秒(ms)就會(huì)進(jìn)行IO請求,短期調(diào)度程序通常每100ms 至少執(zhí)行一次。由于每次執(zhí)行之間的時(shí)間較短,短期調(diào)度程序必須要快。如果需要10ms來確定執(zhí)行一個(gè)運(yùn)行100ms 的進(jìn)程,那么10/(100+10)≈9%的CPU時(shí)間會(huì)用于(或浪費(fèi)在)調(diào)度工作上。
長期調(diào)度程序執(zhí)行得并不頻繁,在系統(tǒng)內(nèi)新進(jìn)程的創(chuàng)建之間可能有數(shù)分鐘間隔。長期調(diào)度程序控制多道程序設(shè)計(jì)的程度(內(nèi)存中的進(jìn)程數(shù)量)。如果多道程序的程度穩(wěn)定,那么創(chuàng)建進(jìn)程的平均速度必須等于進(jìn)程離開系統(tǒng)的平均速度。因此,只有
總結(jié)
以上是生活随笔為你收集整理的【操作系统】进程调度的不同层次的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法分析与设计】实验 分治算法解决Gr
- 下一篇: 【计算机网络】为什么一个路由器会有两个w