编写并调试一个单道处理系统的作业调度模拟程序_操作系统系列(2):操作系统发展历史...
用戶需求的提升和硬件技術的發展,是操作系統發展的必要條件和基礎。
計算機的發展經歷了4個階段,電子管計算機(1945-1955)、晶體管計算機(1955-1965)、集成電路計算機(1965-1980)、大規模集成電路計算機(1980-至今)。因此,伴隨著計算機硬件的更新換代,操作系統也經歷了4個階段,分別是手工操作(50年代早期)、單道批處理系統(50年代)、多道批處理系統(60年代初)、分時系統(60年代中)。
1.手工操作(無操作系統)
出現背景:電子管計算機時代(1946-1955)
計算機硬件:電子管、接線面板(按鈕/開關)
程序:二進制程序,用紙帶表示。
流程:
人們先把程序紙帶(或卡片)裝上計算機,然后啟動輸入機把程序和送入計算機,接著通過控制臺開關啟動程序運行。計算完畢,打印機輸出計算結果,用戶卸下并取走紙帶(或卡片)。第二個用戶上機,重復同樣的步驟。
特點:效率低,CPU有效運行時間極低,因為要等待大量手工操作時間,用戶獨占機器,程序運行過程中無法和程序員進行交互。
2.單道批處理系統
為了充分利用CPU資源,通常是把一批作業以脫機方式輸入到磁帶上,并在系統中配上監督程序,在它的控制下使這批作業能一個接一個的連續處理。這種方式便是單道批處理系統。
流程:管理員先將多個作業輸入到磁盤形成作業隊列,操作系統一次自動處理隊列中每個作業。
即:裝入——運行——撤出的一個過程。
程序的裝入和撤出:自動完成,效率高,運行結束通知用戶取結果。
特點:
1)批量:作業隊列
2)自動:識別作業,裝入和撤出
3)單道:依次、串行
一個程序運行過程中有時候使用CPU計算,有時候使用外部設備(如磁盤)進行輸入輸出。
如圖,在單道批處理系統中,一程序A運行過程,從圖中可以看出,外設與CPU交替空閑和忙碌,CPU會在程序進行IO操作的時候空閑下來,CPU資源利用效率低,同理外設利用效率也低。
3.多道批處理系統
在上述單道批處理系統中,在程序A進行IO操作的那段時間里,CPU是處于空閑狀態的,我們能不能把這段CPU空閑時間利用起來,利用此時的CPU去執行程序B的計算過程?
因此,多道批處理系統由此誕生。
流程:內存中有多道程序,某程序放棄CPU的時候,操作系統便調度另一程序投入運行,提高了系統的CPU利用率,也提高了整個系統的吞吐量。
一個程序運行過程中有時候使用CPU計算,有時候使用外部設備(如磁盤)進行輸入輸出。
由此看出,A、B、C三道程序相互穿插執行。在作業A放棄CPU進行IO操作時,分配CPU給作業B執行,作業B放棄CPU進行IO操作,此時A、B都在進行IO操作,系統將CPU分配給C執行任務,因此,CPU的資源利用率大大提高。
特點:
1)多道:內存同時存放多道程序。
2)并行:宏觀(多個程序一同向前)
3)串行:微觀(CPU只有一個,串行)
4.分時系統
在多道批處理系統的時代,用戶對新系統的需求具體表現在兩個方面。
一是人機交互,每當程序員寫好一個程序時,都需要上機調試,由于程序難免存在錯誤,因此用戶希望能像早期使用計算機一樣獨占全機資源并對它進行直接控制,以便能方便地對程序中的錯誤進行修改,意即人機交互。
二是共享主機,在20世紀60年代計算機還十分昂貴,一臺計算機要同時供多個用戶共享使用,每個用戶在共享一臺計算機時都希望能像獨占時一樣,不僅可以隨時與計算機進行交互,而且還不會感覺到其他用戶的存在。
分時系統在這樣的背景下誕生,因此分時系統是指在一臺主機上連接了多個終端并由此組成的系統,該系統允許多個用戶同時通過自己的終端,以交互方式使用計算機,共享主機中的資源。分時操作系統最典型的例子就是UNIX和Linux,它們可以同時連接多個終端,并且每隔一段時間重新掃描進程,重新分配進程的優先級,動態分配系統資源。
原理
分時操作系統將系統處理機時間與內存空間按一定的時間間隔(劃分時間片),采用輪轉運行方式輪流地切換給各終端用戶的程序使用(例如規定每個作業每次只能運行一個時間片)。由于時間間隔很短,每個用戶就感覺像獨占全機一樣,這樣就解決了主機共享問題。
而對于人機交互,為實現用戶鍵入命令后能對自己的作業及其運行及時控制或修改,各個用戶的作業都必須留在內存中(作業在磁盤上是不能運行的),用時間片進行切換管理。
分時操作系統的特點是可有效增加資源的使用率,支持人機交互與資源共享。例如UNIX系統就采用了剝奪式動態優先的CPU調度以支持分時操作。
簡而言之,分時操作系統的核心原理在于將作業直接放入內存,并引入了時間片的概念,采用輪轉運行的方式,規定每個作業每次只能運行一個時間片,然后就暫停該作業并立即調度下一個作業運行。在不長的時間內使所有的作業都執行一個時間片的時間,便可以使每個用戶都能及時地與自己的作業進行交互,從而使用戶的請求得到及時響應。這樣就解決了在分時系統中最重要的及時接收、及時處理問題。
特征
與其前輩批處理系統相比,分時系統有如下幾個特點:
1)多路性:系統允許將多臺終端同時連接到一臺主機上,并按分時原則為每個終端分配系統資源,提高資源利用率,降低使用費用。
2)獨立性:各終端之間相互獨立,互不干擾,每個用戶都感覺像一人獨占主機一樣。
3)及時性:用戶的請求能在很短的時間內就得到響應。
4)交互性:用戶可通過終端與系統進行人機對話,例如請求多方面的服務。
更多內容,請關注微信公眾號:IT界的泥石流
總結
以上是生活随笔為你收集整理的编写并调试一个单道处理系统的作业调度模拟程序_操作系统系列(2):操作系统发展历史...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android phone xp 华为3
- 下一篇: 基于android的考勤定位算法,基于移