色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

進程的時間片是指什么

黃文隆2年前31瀏覽0評論

進程的時間片是指什么?

在宏觀上:我們可以同時打開多個應(yīng)用程序,每個程序并行不悖,同時運行。但是在微觀上:由于只有一個CPU,一次只能處理程序要求的一部分,如何處理公平,一種方法就是引入時間片,每個程序輪流執(zhí)行。

舉個例子:

你同時輸入兩篇文檔:A.txt和B.txt;

你在A中輸入一個字之后,再在B中輸入一個字,輪流輸入,直至完成??偟目磥砟闼坪踉谕瑫r進行兩篇文章的錄入,你可以說我一邊寫A一邊寫B(tài)。但是具體到某個字時,就是沿著時間的前進,AB交替進行了。而你每個字輸入所占用的這段時間,我們就可以稱之為時間片。

舉個多線程程序的例子,說明時間片是怎樣工作的(java)

如上:

由此可見:兩個線程是交替執(zhí)行的(數(shù)字的變化),從宏觀上(同時輸出)。

以下是搜的資料:

1,什么是時間片輪轉(zhuǎn):

時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法是時間片調(diào)度。每個進程被分配一個時間段,稱作它的時間片,即該進程允許運行的時間。如果在時間片結(jié)束時進程還在運行,則CPU將被剝奪并分配給另一個進程。如果進程在時間片結(jié)束前阻塞或結(jié)束,則CPU當(dāng)即進行切換。調(diào)度程序所要做的就是維護一張就緒進程列表,,當(dāng)進程用完它的時間片后,它被移到隊列的末尾。

時間片輪轉(zhuǎn)調(diào)度中唯一有趣的一點是時間片的長度。從一個進程切換到另一個進程是需要一定時間的--保存和裝入寄存器值及內(nèi)存映像,更新各種表格和隊列等。假如進程切換(process switch) - 有時稱為上下文切換(context switch),需要5毫秒,再假設(shè)時間片設(shè)為20毫秒,則在做完20毫秒有用的工作之后,CPU將花費5毫秒來進行進程切換。CPU時間的20%被浪費在了管理開銷上。

為了提高CPU效率,我們可以將時間片設(shè)為500毫秒。這時浪費的時間只有1%。但考慮在一個分時系統(tǒng)中,如果有十個交互用戶幾乎同時按下回車鍵,將發(fā)生什么情況?假設(shè)所有其他進程都用足它們的時間片的話,最后一個不幸的進程不得不等待5秒鐘才獲得運行機會。多數(shù)用戶無法忍受一條簡短命令要5秒鐘才能做出響應(yīng)。同樣的問題在一臺支持多道程序的個人計算機上也會發(fā)生。

結(jié)論可以歸結(jié)如下:時間片設(shè)得太短會導(dǎo)致過多的進程切換,降低了CPU效率;而設(shè)得太長又可能引起對短的交互請求的響應(yīng)變差。將時間片設(shè)為100毫秒通常是一個比較合理的折衷。

java毫秒轉(zhuǎn)時間,進程的時間片是指什么