多任務操作系統

多任務操作系統

多個任務同時運行的程序系統
所謂多道程序設計是指允許多個程序同時進入一個計算機系統的主存儲器并運行這些程序的方法。這種多道程序系統也稱為多任務操作系統。[1]
    中文名:多任務操作系統 外文名:multitasking operating system 别名:

基本簡介

多任務操作系統,在它内部允許有多個任務同時運行。

早期的UNIX操作系統的多任務是靠分時(Time Sharing)機制實現的,現在有些UNIX除了具有分時機制外,還加入了實時(Real Time)多任務能力,用于象實時控制、數據采集等實時性要求較高的場合。系統在執行多任務時,CPU在某一時刻隻能執行一個任務,但UNIX操作系統将CPU時間分片,并把這些時間片分别安排給多個進程。因為CPU運行很快,在操作者看來,所有程序(進程)都在同時運行。

每個任務 (應用程序)使用由Windows分配的短暫的時間片(Timeslice)輪流使用CPU,由于CPU對每個時間片的處理速度非常快,在用戶看來好像這些任務在同時執行。

但是,在使用Windows 3.X時,可能有不少用戶都有過這樣的經曆,即若遇到某一任務占有 CPU而不釋放,用戶就束手無策了,或者無可奈何地等待,或者重新啟動機器,多任務被迫中止 ,那些正在進行的任務中的信息無法保留,造成工作損失。

主要特點

在Windows 95中,這種情況得到了很大改善,這是因為雖然Windows 3.X和Windows 95都支持多任務,但它們所采的處理方式是不一樣的。

在Windows 3.X中,采用的是協同式多任務方式,運行的是16位應用程序,而這些16位的應用程序在Windows 3.X多任務環境下使用的是同一個虛拟機,在一個時間片結束的時候,系統要求這個任務要"主動"地把計算機控制權交還給Windows的調度程序。

這種多任務工作方式對于符合"協同式運行"規則編寫的程序,一般不會出現什麼問題。但是如果運行的是某些設計得不好的程序,就可能出現某個應用程序不把控制權交還或者需要很長時間才能交還的情況,這時Windows 3.X的調度程序将會等待下去,用戶可以看到沙漏一直出現在屏幕上,用戶此時隻能等待。最壞的情況就是造成死機。

Windows 95則不同,它是一個32位的操作系統,在多任務工作方式時,它是将每個32位應用程序及DOS應用程序分别放在各自的虛拟機中運行,内存中的每台虛拟機都相當于一台完整的微機,由虛拟機管理器(Virtual Machine Manager)負責分配給每個虛拟機一定的資源。

當多個任務同時運行時,Windows能夠根據需要把控制權收回并轉給其它的應用程序而不管當前的應用程序是否釋放CPU,這就是所謂的搶先式多任務工作方式。當Windows95要搶先正在執行的某個應用程序時,它首先挂起處理該程序的虛拟機,使它在後台運行,然後把系統控制權交給其它應用程序的虛拟機,使這個應用程序能夠被優先處理。

使用搶先式多任務工作方式使得32位Windows應用程序和DOS應用程序能夠平等地共享CPU資源,消除了Windows 3.X單個任務執行時獨占系統資源的現象,提高了應用程序的執行效率和速度,也使用戶有可能擺脫前文所提到的困境。在Windows 95運行時,用戶可以根據鼠标指針的變化了解各個任務所處的狀态。

當鼠标指針在某個窗口變成沙漏指針時,用戶不能對該窗口進行操作。但可以把鼠标指針移到該窗口以外,這時鼠标指針有可能變成箭頭或箭頭與沙漏的組合,表示用戶此時可以進行搶先操作而不必像在Windows 3.X中那樣處在無奈的等待中。當發現某個任務意外死鎖或終止時,我們可以利用Windows 95的這種搶先式多任務的特性,先将其它任務正常結束,再想辦法處理出了問題的程序,以減少工作損失。

在Windows 95中,對出現意外錯誤的程序,可以使用Ctrl+Alt+Del組合鍵調出"關閉程序窗口,選中該程序後再用"結束任務"操作将它關閉。但要小心,不可輕易再次擊Ctrl+Alt+D el組合鍵,以避免重新啟動機器造成信息丢失。

上一篇:c語言

下一篇:鬼腳蟹

相關詞條

相關搜索

其它詞條