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