



免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)發(fā)展史 收藏 操作系統(tǒng)發(fā)展史譯自An Operating Systems Vade Mecu 作者:Raphael A. Finkel劉建文略譯(/keminlau )KEY:操作系統(tǒng) 發(fā)展歷史 發(fā)展史3.1 Open shop早期的計(jì)算機(jī)體積龐大、價(jià)值昂貴,并且難以使用。計(jì)算機(jī)用戶必須是專業(yè)人員,而且用戶既是程序員,又是操作員,使用前必須先預(yù)約一段(blocks )時(shí)間(KEMIN:意思是說時(shí)間到了沒計(jì)算完必須再次預(yù)約)。會(huì)話情形大似如下: 我們看看1964年時(shí)使用計(jì)算機(jī) IBM 1620一個(gè)會(huì)話情況,這臺(tái)計(jì)算機(jī)執(zhí)行程序需要多步的編譯:首先,用戶首輪載入FORTRAN的編譯器,操作包括:通過控制臺(tái)命令按鈕清空主存; 把編譯器(用穿孔卡片保存的)放入讀卡器; 把待編譯的源程序(穿孔卡片)放在編譯器的后面,與編譯器一起讀入; 按下讀卡器的“l(fā)oad”按鈕; 首輪計(jì)算輸出的卡片叫“中間輸出(intermediate output)”。如果有任何編譯錯(cuò)誤,控制臺(tái)的燈會(huì)閃,錯(cuò)誤信息出顯示在控制臺(tái)的打字機(jī)上(typewriter)。假設(shè)一切完好,接著第二輪載入編譯器和“中間輸出”,并且成功的話輸出第二組卡片,叫“executable deck”。第三步,用戶會(huì)調(diào)整“executable deck”的順序,并與子程序庫(另一十寸長的卡片)一起載入計(jì)算機(jī),細(xì)心觀察計(jì)算機(jī)運(yùn)行。計(jì)算的結(jié)果會(huì)輸出到卡片或打印紙上。計(jì)算結(jié)果常常是不正確的,為了調(diào)錯(cuò),用戶一般通過直接查看主存內(nèi)容,或通過控制臺(tái)的開關(guān)(console switches)對(duì)程序進(jìn)行修改。如果時(shí)間不夠用,挫敗的用戶會(huì)把主存內(nèi)容打印出來(所謂的轉(zhuǎn)儲(chǔ) dump of store),閑暇時(shí)再分析。如果用戶在申請(qǐng)的時(shí)間段用完前提早完成了計(jì)算任務(wù),那么計(jì)算機(jī)會(huì)一直閑置,直到下一個(gè)預(yù)約的時(shí)間段。KEMIN:這種早期的單道程序單用戶的計(jì)算機(jī)沒有操作系統(tǒng)的需要,因?yàn)橛脩舄?dú)占所有資源,無須“管理”;用戶操作原語很原始,幾乎在裸機(jī)上操作,沒有虛擬機(jī)的概念。3.2 Operator-driven shop從上面預(yù)約式單道單用戶的計(jì)算機(jī)使用方式來看,計(jì)算機(jī)的資源利用率是很低的。在用戶不同的操作階段都有部分計(jì)算機(jī)資源被閑置,如手工裝入卡片時(shí)CPU被閑置,打印機(jī)在裝卸卡片和計(jì)算過程中被閑置等。商業(yè)計(jì)算機(jī)不能容忍這種浪費(fèi),為了提高資源利用率,一種人工提速的使用方式被提出專門雇用一位操作員負(fù)責(zé)管理計(jì)算機(jī)操作,包括加載作業(yè)(jobs)、開啟計(jì)算機(jī)和收集計(jì)算輸出等,會(huì)話情形如下: 專職的操作員在一些繁雜的操作上(如裝卸卡片或磁帶)比新舊計(jì)算用戶都要來的迅速,這樣作業(yè)或各步驟間切換的時(shí)間被降低了。如果程序出錯(cuò),操作員代為轉(zhuǎn)儲(chǔ)主存內(nèi)容,用戶不能再直接監(jiān)視主存并對(duì)程序進(jìn)行修補(bǔ)。不過因?yàn)樽鳂I(yè)加快了,用戶可以很快的將修改好的程序提交再運(yùn)行。這種方式,每個(gè)用戶只需耗費(fèi)作業(yè)運(yùn)行所需的時(shí)間,不必預(yù)先約定一個(gè)固定時(shí)間而造成浪費(fèi)。操作員是個(gè)人,當(dāng)然要比后來的資源管理者操作系統(tǒng)一般多甚至更多的智能。例如,操作員通過批處理同類的作業(yè)來降低處理時(shí)間,如一批相似的作業(yè)只需兩輪的載入編譯器,無須一份作業(yè)兩輪;操作員也可以根據(jù)作業(yè)的優(yōu)先級(jí)或作業(yè)時(shí)間的長短來按排作業(yè)的順序,如一長時(shí)間作業(yè)可按排到晚上運(yùn)行。KEMIN:這一階段軟件硬件功能沒有改進(jìn) KEMIN: 資源管理的本質(zhì)是多道程序的引入,多道并發(fā)爭(zhēng)用資源。被雇用的操作員本身可以說是操作系統(tǒng)的始祖,因?yàn)樗缲?fù)著部分操作系統(tǒng)職責(zé)。但操作員本身不是程序。KEMIN: 換個(gè)角度看,操作系統(tǒng)的本質(zhì)是多道程序嗎?在沒有多道的計(jì)算環(huán)境還有操作系統(tǒng)的必須要嗎,直接控制資源不可以了?光提供虛擬機(jī)功能(比如子程序庫)還叫操作系統(tǒng)嗎?KEMIN:發(fā)展到這階段,如果把操作員算作操作系統(tǒng),那么這個(gè)操作系統(tǒng)也是單道的(CPU當(dāng)前作業(yè)不可以被打斷),它只是窄取作業(yè)內(nèi)各步驟間或作業(yè)之間可能提速的空間罷了。3.3 Offline transput操作員的大部分工作都是機(jī)械化的,所以下一步的發(fā)展很自然是自動(dòng)化這些工作步驟,如下圖。首先作業(yè)的輸入被離線收集,使用一臺(tái)獨(dú)立的被稱為衛(wèi)星機(jī)的機(jī)器將卡片數(shù)據(jù)轉(zhuǎn)儲(chǔ)到磁帶上(tape)。當(dāng)磁帶滿了后,操作員把它掛接(mount)到主計(jì)算機(jī)上。從磁帶上讀入作業(yè)比卡片快很多,這樣傳輸(transput)資源被省下很多。計(jì)算輸出也是輸出到磁帶上,然后再到衛(wèi)星機(jī)離線打印出結(jié)果。 從上圖可以看到還是有一個(gè)操作員在計(jì)算機(jī)和用戶之間,那么這時(shí)的操作員與之前的操作員有什么區(qū)別?還有磁帶在掛接入主計(jì)算后和卸下輸出磁帶進(jìn)行離線輸出前,計(jì)算機(jī)的具體計(jì)算過程如何?為了實(shí)現(xiàn)作業(yè)的自動(dòng)執(zhí)行,一段小的監(jiān)控程序會(huì)駐留在主存,負(fù)責(zé)協(xié)調(diào)作業(yè)的運(yùn)行,比如在一道作業(yè)執(zhí)行完后重置主存或加載另一道作業(yè)。為了分隔磁帶上的不同作業(yè)和為滿足作業(yè)的不同需要,必須建立某種監(jiān)控程序的控制約定(conventions),這些約定就是命令語言的雛形(rudiments)。比如約定在卡片的第一列標(biāo)有星號(hào)的是控制卡片,用以與數(shù)據(jù)卡片進(jìn)行區(qū)分。參考一下如下摘自現(xiàn)代操作系統(tǒng)的一幅圖: 監(jiān)控程序有以下一些職責(zé)或功能:解釋命令語言 記錄日記 提供設(shè)備獨(dú)立的輸入輸出功能(用卡片代替磁帶作輸入) 被執(zhí)行的程序本身可直接處理輸入輸出,但是為了方便性,輸入輸出功能轉(zhuǎn)移到監(jiān)控程序,這也是設(shè)備驅(qū)動(dòng)程序的始祖。KEMIN:發(fā)展到脫機(jī)批處理階段,監(jiān)控程序可以說是名正言順的操作系統(tǒng)始祖。但是它不是現(xiàn)代意思的操作系統(tǒng)。因?yàn)橛?jì)算機(jī)主存內(nèi)還是單道程序的,監(jiān)控程序只接管大部分由操作員管理的工作,把單道步驟的時(shí)間壓縮到了極限(看當(dāng)時(shí)的硬件速度)。 KEMIN:這一階段軟件引入了監(jiān)控程序,加快了單道各步驟間的速度;硬件引入了磁帶機(jī),加快了數(shù)據(jù)的輸入速度。 3.4 Spooling systems發(fā)展的下一階段聯(lián)機(jī)系統(tǒng)Spooling systems,功能改進(jìn)包括中斷的引入,輸入輸出單元被設(shè)計(jì)成與計(jì)算機(jī)同時(shí)間運(yùn)行。輸入輸出單元在完成讀寫操作后向主機(jī)發(fā)一個(gè)中斷信號(hào),主機(jī)接到信號(hào)后會(huì)保存一些重要信息(比如當(dāng)前作業(yè)的程序計(jì)數(shù)器),并且跳轉(zhuǎn)指定位置設(shè)備服務(wù)程序進(jìn)行對(duì)中斷處理。設(shè)備服務(wù)程序就是設(shè)備驅(qū)動(dòng)程序,它被集成入監(jiān)控程序,用以處理中斷請(qǐng)求。 這一階段有了磁盤用作計(jì)算機(jī)的輔助存儲(chǔ)介質(zhì)。這時(shí)候的計(jì)算機(jī)可以一邊計(jì)算一道作業(yè),一邊把第二道個(gè)作業(yè)讀入磁盤,還可以同時(shí)打印保存在磁盤的第三道作業(yè)的計(jì)算結(jié)果。不像磁帶,磁盤是隨機(jī)訪問的,作業(yè)數(shù)據(jù)可以放在磁盤的任意位置,因此計(jì)算機(jī)無需按照作業(yè)載入的順序執(zhí)行任務(wù)。這個(gè)階段的監(jiān)控程序還集成了一個(gè)功能很原始的調(diào)度程序(scheduler),調(diào)度的根據(jù)是作業(yè)的優(yōu)先級(jí)和執(zhí)行時(shí)間,兩個(gè)參數(shù)都是通過控制卡片指定的。這個(gè)階段的操作員還需參與部分管理工作:掛接磁帶,載入作業(yè)數(shù)據(jù); 對(duì)作業(yè)進(jìn)行優(yōu)先級(jí)分配等策略決定; 監(jiān)控程序意外死機(jī)時(shí)重啟機(jī)器。 這種運(yùn)行模式的計(jì)算工被稱為“spooling system”,這它的監(jiān)控程序是現(xiàn)代操作系統(tǒng)的開端。Spooling systems是共享式的計(jì)算機(jī),沒有為用戶單獨(dú)提供調(diào)試程序的機(jī)會(huì),這也是下步發(fā)展的需求。KEMIN: Spooling systems引了中斷概念,實(shí)現(xiàn)了一定并發(fā)功能,提高資源的使用率,但是Spooling systems依然是單道的,主存一份作業(yè)獨(dú)占。Spooling systems的監(jiān)控程序雖然說是現(xiàn)代操作系統(tǒng)的開端,但它的更像是一個(gè)功能不多的自動(dòng)機(jī)。體系結(jié)構(gòu)有了一項(xiàng)重大的改變引入中斷機(jī)制,實(shí)現(xiàn)計(jì)算機(jī)的異步操作功能;還有隨機(jī)訪問的磁盤的發(fā)明增強(qiáng)計(jì)算機(jī)的功能。個(gè)人認(rèn)為Spooling systems更多的是功能量的變化,沒多少質(zhì)的變化。 KEMIN:這一階段軟件改進(jìn) 3.5 Batch multiprogrammingSpooling systems并沒有發(fā)揮計(jì)算機(jī)所有資源的最大效率。并不是所有單道作業(yè)需要占用全部主存。作業(yè)在進(jìn)行輸入輸出時(shí),CPU依然是閑置的。多道技術(shù)是下一步自然的發(fā)展。如下圖(圓圈代表作業(yè))。當(dāng)一道作業(yè)在等待輸入輸出時(shí),另一道作業(yè)可進(jìn)行計(jì)算。由于作業(yè)的性質(zhì)不一,多道技術(shù)還會(huì)有一些問題需要特別處理的。比如,計(jì)算集中的作業(yè)可能一直占用CPU,迫使數(shù)據(jù)處理集中的作業(yè)等好久而沒法前進(jìn)。時(shí)間資源的爭(zhēng)奪和分配策略是進(jìn)程管理一章的主要內(nèi)容。 多道技術(shù)也會(huì)引發(fā)空間資源的競(jìng)爭(zhēng)。計(jì)算機(jī)一次能運(yùn)行幾道作業(yè)程序取決于主存容量和硬件劃分空間的能力。此外,必須引入某種保護(hù)機(jī)制防止作業(yè)程序間相互影響。在第三章的內(nèi)存管理,我們將討論空間分配策略和安全機(jī)制。在主存內(nèi)的各道程序基本上是互相獨(dú)立的,監(jiān)控程序能區(qū)分它們并對(duì)它們獨(dú)立地應(yīng)用策略(比如調(diào)度策略)。每道程序都有自己的時(shí)間、空間和數(shù)據(jù)傳輸?shù)男枨蟆_M(jìn)程的概念被引入用以代替作業(yè)的單一步驟的概念。操作系統(tǒng)(用以代替監(jiān)控程序的稱呼)負(fù)責(zé)跟蹤控制進(jìn)程活動(dòng)。這一階段的操作系統(tǒng)結(jié)構(gòu)里,進(jìn)程已經(jīng)不可以直接控制輸入輸出設(shè)備了,進(jìn)程必須向操作系統(tǒng)內(nèi)核發(fā)出服務(wù)請(qǐng)求,輸入輸出也是競(jìng)爭(zhēng)的資源。為進(jìn)程分配資源并不是一件簡單的工作。因?yàn)檫M(jìn)程會(huì)在運(yùn)行過程的不同階段申請(qǐng)各種資源,這是沒法預(yù)測(cè)的。如果資源不可用,進(jìn)程會(huì)被阻塞,之后又如何處理呢?這是第四章的內(nèi)容。隨著多道技術(shù)的發(fā)展,操作系統(tǒng)發(fā)展出內(nèi)核結(jié)構(gòu)的思想。操作系統(tǒng)內(nèi)核由一組管理子例程組成,負(fù)責(zé)管理計(jì)算機(jī)時(shí)間、空間和信息傳送資源。管理的一種理解是對(duì)進(jìn)程的各種資源請(qǐng)求作出響應(yīng)。如上圖中,來自上層的進(jìn)程對(duì)服務(wù)的請(qǐng)求和下層的設(shè)備中斷處理請(qǐng)求。內(nèi)核的各種不同活動(dòng)會(huì)共享一些數(shù)據(jù),這些數(shù)據(jù)不能被修改,必須保持前后一致性。并發(fā)控制的機(jī)制被添加到操作系統(tǒng),防止這些活動(dòng)互相干擾。第八章介紹互斥鎖和同步問題。(KEMIN:并發(fā)控制只對(duì)內(nèi)核活動(dòng)嗎?)3.6 Interactive multiprogramming操作系統(tǒng)發(fā)展的下一階段是交互式多道(interactive multiprogramming)。如下圖。面向用戶的主要傳輸設(shè)備改用交互式終端,代替過去的卡片或磁帶機(jī)。現(xiàn)在用戶可直接與程序交互,輸入任何程序需要的數(shù)據(jù),不像過去只能在程序運(yùn)行之前打包好所有數(shù)據(jù)。 交互式計(jì)算常常是被添加到現(xiàn)有的批處理多道環(huán)境。比如,TSO(timesharing option)是 OS/360 操作系統(tǒng)的擴(kuò)展模塊。另一方面,批處理則被添加到現(xiàn)有的交互式環(huán)境。比如,Unix 操作系統(tǒng)就提供批處理服務(wù)。交互式計(jì)算(也稱為分時(shí)計(jì)算)對(duì)計(jì)算機(jī)的使用方式的改變是革命性的。計(jì)算機(jī)從數(shù)字?jǐn)囁闄C(jī)演變成了真正的信息處理機(jī)。用戶可以通過交互式文本編輯軟件在線的編纂數(shù)據(jù)文件。這些文件可以是程序、文檔或純數(shù)據(jù)。作業(yè)或作業(yè)步驟的概念沒有了,取而代之是互交式會(huì)話(sessions ),會(huì)話是指從登錄(通過終端鏈接到主機(jī))到登出(斷開主機(jī)的鏈接)的一段時(shí)間。在登錄的時(shí)候,用戶一般需要提供用戶名和密碼。這些數(shù)據(jù)會(huì)被轉(zhuǎn)換成一個(gè)用戶標(biāo)識(shí),用戶標(biāo)識(shí)用來關(guān)聯(lián)主機(jī)上所有用戶開的進(jìn)程和創(chuàng)建的文件。用戶標(biāo)識(shí)也用于操作系統(tǒng)內(nèi)核實(shí)現(xiàn)一些控制功能,比如判定是否有權(quán)修改文件。在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔醫(yī)學(xué)技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育??疲?025修訂
- 2025年中國菠蘿深加工行業(yè)市場(chǎng)運(yùn)行現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 2.6 營銷問題及平均變化率問題與一元二次方程 教學(xué)設(shè)計(jì) -2024-2025學(xué)年北師大版數(shù)學(xué)九年級(jí)上冊(cè)
- 中國MicroLED 行業(yè)市場(chǎng)深度調(diào)查及發(fā)展前景研究預(yù)測(cè)報(bào)告
- 2025年 中式烹調(diào)師中級(jí)考試練習(xí)試題附答案
- 2025-2030年中國恒溫循環(huán)器項(xiàng)目投資可行性研究分析報(bào)告
- 郟縣君正商貿(mào)有限公司新建加油站安全設(shè)施施工情況報(bào)告-圖文
- 2025年 赤峰市巴林左旗招聘社區(qū)工作者考試試題附答案
- 2025年 巴彥淖爾市公安局招聘警務(wù)輔助人員筆試試題附答案
- 中國壓縮機(jī)制冷飲水機(jī)行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 2024年河南省蘭考縣教育局公開招聘試題含答案分析
- 2025年北京市高考英語試卷真題(含答案解析)
- 招商運(yùn)營筆試題目及答案
- 湟水河河湟新區(qū)段北岸防洪生態(tài)綜合治理項(xiàng)目 社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估報(bào)告
- JG/T 272-2010預(yù)制高強(qiáng)混凝土薄壁鋼管樁
- JG/T 266-2011泡沫混凝土
- 雜屋轉(zhuǎn)讓合同協(xié)議書
- 國際壓力性損傷-潰瘍預(yù)防和治療臨床指南(2025年版)解讀課件
- 模具工廠MES項(xiàng)目技術(shù)方案
- 貨梯使用安全培訓(xùn)
- 船舶建造項(xiàng)目管理-全面剖析
評(píng)論
0/150
提交評(píng)論