複製鏈接
請複製以下鏈接發送給好友

搶佔式多任務

鎖定
在以前的操作系統中,如Windows 3.1,多任務方式是“協作式多任務”,意思是説一個任務得到了 CPU 時間,除非它自己放棄使用 CPU ,否則將完全霸佔 CPU ,所以任務之間需要協作——使用一段時間的 CPU ,放棄使用,其它的任務也如此,才能保證系統的正常運行;而在現行使用的操作系統中,如Window 95及之後的Windows版本,使用的就是“搶佔式多任務”了,它的總控制權在操作系統手中,操作系統會輪流詢問每一個任務是否需要使用 CPU ,需要使用的話就讓它用,不過在一定時間後,操作系統會剝奪當前任務的 CPU 使用權,把它排在詢問隊列的最後,再去詢問下一個任務……。這種方式上的不同造成 95 和 3.1 性能上的不同:3.1 中如果有一個任務死鎖,則系統也同樣死鎖;95 中有一個任務死鎖,系統仍能正常運行。
中文名
搶佔式多任務
性    質
多任務
屬    性
搶佔式
除非它自己
放棄使用 CPU
具有最高優先級的線程就是當前正在運行的那個線程。駐留在CPU內正在運行的線程會在什麼時候中止呢?一是屬於它的時間片已經到期,二是加入了另一個優先級更高的線程。通過不斷從一個線程到另一個線程的切換,給人的感覺是線程的執行是同時進行的。線程並非隨時需要運行,經常發生的情況是某個線程需要等待用户的輸入,另一個線程的信息或等待I/O請求,否則便無法執行下去。有些線程也許本來就處於掛起狀態
搶佔式多任務處理(preemptive multitasking)是將同時進行的各項任務(task),依照重要程度來排定優先順序。在搶佔式多任務系統中,操作系統(operating system)必須具有從任何一個運行的程序上取走控制權和使另一個程序獲得控制權的能力。一個搶佔式系統下運行的應用程序不用擔心獨佔系統,因為系統會合理地給每個運行的任務分配時間塊。將這種系統稱做搶佔式系統是因為它不管在所給時間塊內會發生什麼事,都搶佔運行程序的控制權。OS/2和UNIX都是搶佔式系統。 [1] 
參考資料