關於一類操作系統——分時操作系統

    縱觀操作系統的發展史,大概可以把操作系統分爲三種大的類型,即多道批處理系統、分時操作系統和實時操作系統。

    分時系統是在70年代中期產生的。馬克思主義哲學認爲事物發展的源泉和動力是矛盾。在分時系統即將誕生的黎明,多道批處理系統本身所固有的矛盾急切要求人們去尋找一種新的、優於多道批處理系統的操作系統。那麼多道批處理系統本身所固有的矛盾是什麼呢?

    大家知道,多道批處理系統是由單道批處理系統發展起來的。所以在講多道批處理系統之前,先讓我們簡單地瞭解一下單道批處理系統。單道批處理系統是將多個用戶的作業形成一批,由衛星機主機之外的計算機將這批作業輸入磁帶中,然後主機再從磁帶中依次地將作業一個個讀入主存進行處理。單道批處理系統的最大特點是在某一時刻主存中只有一個用戶作業在運行。顯然以這種方式處理作業其效率是相當低下的。正如亂世出英雄,因爲英雄可以改造世界,拯救世界!當一種技術被人們認識到存在嚴重缺陷時,另一種新的技術必將應運而生!60年代末伴隨硬件技術的發展,出現了兩種非常重要的技術,分別是通道技術和中斷技術。所謂通道就是一種負責控制I/O設備的專用輸入輸出I/O處理器,它是一種慢速的設備,可以合CPU並行;而中斷技術的應用使得主機擁有了處理異步突發事件的能力。這兩種技術的結合就誕生了一個新的“嬰兒”,那就是多道程序設計。也就是說,在計算機的主存中可以同時存放多個作業,並且讓其處於運行狀態。CPU在執行作業程序時可以不必關心輸入輸出設備的控制問題,因爲它將這個工作交給了通道。當CPU需要在主存和外設之間傳輸數據時,通過發送I/O指令命令通道工作,通道獨立地在主存和外設之間傳輸數據,I/O操作完成以後,通道以中斷的方式通知CPU,從而實現了CPU計算和I/O操作的並行。由於在主存中存放着多道作業,當一個在CPU上運行的作業要求傳輸數據時,CPU就可以轉去運行主存中的其他作業,這樣就節省了CPU的等待時間,大大提高了系統CPU的利用率的吞吐率。

    然而,任何事物都有兩面性。多道批處理系統具有效率較高的優點,但是在多道批處理系統產生以後,程序員和操作員的工作出現了分工。程序員只要負責編制、開發程序,而程序的運行等工作就可以交給操作員去完成。這在很大程度上減少了程序員的工作負擔,但卻讓程序員和系統失去了交互。從而給給程序員的開發工作帶來了極大麻煩。因爲如果開發出來的程序有問題,程序員再去糾錯找錯時顯得極爲不便,大大延緩了程序的開發進度。這時候程序員就想,要是能夠直接控制程序運行,隨時糾正錯誤,以及可以研究改變某些參數所產生的影響就好了!正是這時候,當某一天程序員忍無可忍時,分時系統在麻省理工大學誕生了!

    分時系統,顧名思義就是多個用戶分享使用同一臺計算機,多個程序分時共享硬件和軟件資源。實際上是將計算機的系統資源(如CPU時間)進行時間上的分割,即分成一個個時間段,每一個時間段就叫做時間片。分時操作系統一般是在一臺計算機上連接多個帶有鍵盤和顯示的終端,同時允許多個用戶通過主機終端以交互式的方式使用計算機,共享主機的資源。在多用戶分時系統中,每個用戶通過自己的終端將程序送到機器中,而在機器中形成了多道作業,通過對處理器的分時,而使終端上的用戶可以交互地控制程序的運行,這既保證了交互性,又使效率不致降低,解決了交互性和效率之間的矛盾。多用戶分時系統的交互性體現在用戶宏觀上感覺好像自己獨佔一臺計算機一樣,實際上從微觀來看所有的用戶只有在自己的時間片到來之後才能工作,也就是每個終端輪流地使用時間片。由於人在終端的操作速度很慢,而處理機在很短的時間內就可以給終端分配好幾個時間片,從而保證了終端用戶在感覺上就像自己獨佔一臺計算機一樣,而實際上這只是一個錯覺,只是用戶沒有覺察而已。

     分時系統具有多路性、交互性、“獨佔”性和及時性的特徵。多路性指,允許有多個用戶使用一臺計算機,宏觀上看是多個人同時使用一個CPU,微觀上是多個人在不同時刻輪流使用CPU。交互性是指,用戶根據系統響應結果進一步提出新請求(用戶直接干預每一步)。“獨佔”性是指,用戶感覺不到計算機爲其他人服務,就像整個系統爲他所獨佔。及時性指,系統對用戶提出的請求及時響應。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章