



免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(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ī)體積龐大、價值昂貴,并且難以使用。計(jì)算機(jī)用戶必須是專業(yè)人員,而且用戶既是程序員,又是操作員,使用前必須先預(yù)約一段(blocks )時間(KEMIN:意思是說時間到了沒計(jì)算完必須再次預(yù)約)。會話情形大似如下: 我們看看1964年時使用計(jì)算機(jī) IBM 1620一個會話情況,這臺計(jì)算機(jī)執(zhí)行程序需要多步的編譯:首先,用戶首輪載入FORTRAN的編譯器,操作包括:通過控制臺命令按鈕清空主存; 把編譯器(用穿孔卡片保存的)放入讀卡器; 把待編譯的源程序(穿孔卡片)放在編譯器的后面,與編譯器一起讀入; 按下讀卡器的“l(fā)oad”按鈕; 首輪計(jì)算輸出的卡片叫“中間輸出(intermediate output)”。如果有任何編譯錯誤,控制臺的燈會閃,錯誤信息出顯示在控制臺的打字機(jī)上(typewriter)。假設(shè)一切完好,接著第二輪載入編譯器和“中間輸出”,并且成功的話輸出第二組卡片,叫“executable deck”。第三步,用戶會調(diào)整“executable deck”的順序,并與子程序庫(另一十寸長的卡片)一起載入計(jì)算機(jī),細(xì)心觀察計(jì)算機(jī)運(yùn)行。計(jì)算的結(jié)果會輸出到卡片或打印紙上。計(jì)算結(jié)果常常是不正確的,為了調(diào)錯,用戶一般通過直接查看主存內(nèi)容,或通過控制臺的開關(guān)(console switches)對程序進(jìn)行修改。如果時間不夠用,挫敗的用戶會把主存內(nèi)容打印出來(所謂的轉(zhuǎn)儲 dump of store),閑暇時再分析。如果用戶在申請的時間段用完前提早完成了計(jì)算任務(wù),那么計(jì)算機(jī)會一直閑置,直到下一個預(yù)約的時間段。KEMIN:這種早期的單道程序單用戶的計(jì)算機(jī)沒有操作系統(tǒng)的需要,因?yàn)橛脩舄?dú)占所有資源,無須“管理”;用戶操作原語很原始,幾乎在裸機(jī)上操作,沒有虛擬機(jī)的概念。3.2 Operator-driven shop從上面預(yù)約式單道單用戶的計(jì)算機(jī)使用方式來看,計(jì)算機(jī)的資源利用率是很低的。在用戶不同的操作階段都有部分計(jì)算機(jī)資源被閑置,如手工裝入卡片時CPU被閑置,打印機(jī)在裝卸卡片和計(jì)算過程中被閑置等。商業(yè)計(jì)算機(jī)不能容忍這種浪費(fèi),為了提高資源利用率,一種人工提速的使用方式被提出專門雇用一位操作員負(fù)責(zé)管理計(jì)算機(jī)操作,包括加載作業(yè)(jobs)、開啟計(jì)算機(jī)和收集計(jì)算輸出等,會話情形如下: 專職的操作員在一些繁雜的操作上(如裝卸卡片或磁帶)比新舊計(jì)算用戶都要來的迅速,這樣作業(yè)或各步驟間切換的時間被降低了。如果程序出錯,操作員代為轉(zhuǎn)儲主存內(nèi)容,用戶不能再直接監(jiān)視主存并對程序進(jìn)行修補(bǔ)。不過因?yàn)樽鳂I(yè)加快了,用戶可以很快的將修改好的程序提交再運(yùn)行。這種方式,每個用戶只需耗費(fèi)作業(yè)運(yùn)行所需的時間,不必預(yù)先約定一個固定時間而造成浪費(fèi)。操作員是個人,當(dāng)然要比后來的資源管理者操作系統(tǒng)一般多甚至更多的智能。例如,操作員通過批處理同類的作業(yè)來降低處理時間,如一批相似的作業(yè)只需兩輪的載入編譯器,無須一份作業(yè)兩輪;操作員也可以根據(jù)作業(yè)的優(yōu)先級或作業(yè)時間的長短來按排作業(yè)的順序,如一長時間作業(yè)可按排到晚上運(yùn)行。KEMIN:這一階段軟件硬件功能沒有改進(jìn) KEMIN: 資源管理的本質(zhì)是多道程序的引入,多道并發(fā)爭用資源。被雇用的操作員本身可以說是操作系統(tǒng)的始祖,因?yàn)樗缲?fù)著部分操作系統(tǒng)職責(zé)。但操作員本身不是程序。KEMIN: 換個角度看,操作系統(tǒng)的本質(zhì)是多道程序嗎?在沒有多道的計(jì)算環(huán)境還有操作系統(tǒng)的必須要嗎,直接控制資源不可以了?光提供虛擬機(jī)功能(比如子程序庫)還叫操作系統(tǒng)嗎?KEMIN:發(fā)展到這階段,如果把操作員算作操作系統(tǒng),那么這個操作系統(tǒng)也是單道的(CPU當(dāng)前作業(yè)不可以被打斷),它只是窄取作業(yè)內(nèi)各步驟間或作業(yè)之間可能提速的空間罷了。3.3 Offline transput操作員的大部分工作都是機(jī)械化的,所以下一步的發(fā)展很自然是自動化這些工作步驟,如下圖。首先作業(yè)的輸入被離線收集,使用一臺獨(dú)立的被稱為衛(wèi)星機(jī)的機(jī)器將卡片數(shù)據(jù)轉(zhuǎn)儲到磁帶上(tape)。當(dāng)磁帶滿了后,操作員把它掛接(mount)到主計(jì)算機(jī)上。從磁帶上讀入作業(yè)比卡片快很多,這樣傳輸(transput)資源被省下很多。計(jì)算輸出也是輸出到磁帶上,然后再到衛(wèi)星機(jī)離線打印出結(jié)果。 從上圖可以看到還是有一個操作員在計(jì)算機(jī)和用戶之間,那么這時的操作員與之前的操作員有什么區(qū)別?還有磁帶在掛接入主計(jì)算后和卸下輸出磁帶進(jìn)行離線輸出前,計(jì)算機(jī)的具體計(jì)算過程如何?為了實(shí)現(xiàn)作業(yè)的自動執(zhí)行,一段小的監(jiān)控程序會駐留在主存,負(fù)責(zé)協(xié)調(diào)作業(yè)的運(yùn)行,比如在一道作業(yè)執(zhí)行完后重置主存或加載另一道作業(yè)。為了分隔磁帶上的不同作業(yè)和為滿足作業(yè)的不同需要,必須建立某種監(jiān)控程序的控制約定(conventions),這些約定就是命令語言的雛形(rudiments)。比如約定在卡片的第一列標(biāo)有星號的是控制卡片,用以與數(shù)據(jù)卡片進(jìn)行區(qū)分。參考一下如下摘自現(xiàn)代操作系統(tǒng)的一幅圖: 監(jiān)控程序有以下一些職責(zé)或功能:解釋命令語言 記錄日記 提供設(shè)備獨(dú)立的輸入輸出功能(用卡片代替磁帶作輸入) 被執(zhí)行的程序本身可直接處理輸入輸出,但是為了方便性,輸入輸出功能轉(zhuǎn)移到監(jiān)控程序,這也是設(shè)備驅(qū)動程序的始祖。KEMIN:發(fā)展到脫機(jī)批處理階段,監(jiān)控程序可以說是名正言順的操作系統(tǒng)始祖。但是它不是現(xiàn)代意思的操作系統(tǒng)。因?yàn)橛?jì)算機(jī)主存內(nèi)還是單道程序的,監(jiān)控程序只接管大部分由操作員管理的工作,把單道步驟的時間壓縮到了極限(看當(dāng)時的硬件速度)。 KEMIN:這一階段軟件引入了監(jiān)控程序,加快了單道各步驟間的速度;硬件引入了磁帶機(jī),加快了數(shù)據(jù)的輸入速度。 3.4 Spooling systems發(fā)展的下一階段聯(lián)機(jī)系統(tǒng)Spooling systems,功能改進(jìn)包括中斷的引入,輸入輸出單元被設(shè)計(jì)成與計(jì)算機(jī)同時間運(yùn)行。輸入輸出單元在完成讀寫操作后向主機(jī)發(fā)一個中斷信號,主機(jī)接到信號后會保存一些重要信息(比如當(dāng)前作業(yè)的程序計(jì)數(shù)器),并且跳轉(zhuǎn)指定位置設(shè)備服務(wù)程序進(jìn)行對中斷處理。設(shè)備服務(wù)程序就是設(shè)備驅(qū)動程序,它被集成入監(jiān)控程序,用以處理中斷請求。 這一階段有了磁盤用作計(jì)算機(jī)的輔助存儲介質(zhì)。這時候的計(jì)算機(jī)可以一邊計(jì)算一道作業(yè),一邊把第二道個作業(yè)讀入磁盤,還可以同時打印保存在磁盤的第三道作業(yè)的計(jì)算結(jié)果。不像磁帶,磁盤是隨機(jī)訪問的,作業(yè)數(shù)據(jù)可以放在磁盤的任意位置,因此計(jì)算機(jī)無需按照作業(yè)載入的順序執(zhí)行任務(wù)。這個階段的監(jiān)控程序還集成了一個功能很原始的調(diào)度程序(scheduler),調(diào)度的根據(jù)是作業(yè)的優(yōu)先級和執(zhí)行時間,兩個參數(shù)都是通過控制卡片指定的。這個階段的操作員還需參與部分管理工作:掛接磁帶,載入作業(yè)數(shù)據(jù); 對作業(yè)進(jìn)行優(yōu)先級分配等策略決定; 監(jiān)控程序意外死機(jī)時重啟機(jī)器。 這種運(yùn)行模式的計(jì)算工被稱為“spooling system”,這它的監(jiān)控程序是現(xiàn)代操作系統(tǒng)的開端。Spooling systems是共享式的計(jì)算機(jī),沒有為用戶單獨(dú)提供調(diào)試程序的機(jī)會,這也是下步發(fā)展的需求。KEMIN: Spooling systems引了中斷概念,實(shí)現(xiàn)了一定并發(fā)功能,提高資源的使用率,但是Spooling systems依然是單道的,主存一份作業(yè)獨(dú)占。Spooling systems的監(jiān)控程序雖然說是現(xiàn)代操作系統(tǒng)的開端,但它的更像是一個功能不多的自動機(jī)。體系結(jié)構(gòu)有了一項(xiàng)重大的改變引入中斷機(jī)制,實(shí)現(xiàn)計(jì)算機(jī)的異步操作功能;還有隨機(jī)訪問的磁盤的發(fā)明增強(qiáng)計(jì)算機(jī)的功能。個人認(rèn)為Spooling systems更多的是功能量的變化,沒多少質(zhì)的變化。 KEMIN:這一階段軟件改進(jìn) 3.5 Batch multiprogrammingSpooling systems并沒有發(fā)揮計(jì)算機(jī)所有資源的最大效率。并不是所有單道作業(yè)需要占用全部主存。作業(yè)在進(jìn)行輸入輸出時,CPU依然是閑置的。多道技術(shù)是下一步自然的發(fā)展。如下圖(圓圈代表作業(yè))。當(dāng)一道作業(yè)在等待輸入輸出時,另一道作業(yè)可進(jìn)行計(jì)算。由于作業(yè)的性質(zhì)不一,多道技術(shù)還會有一些問題需要特別處理的。比如,計(jì)算集中的作業(yè)可能一直占用CPU,迫使數(shù)據(jù)處理集中的作業(yè)等好久而沒法前進(jìn)。時間資源的爭奪和分配策略是進(jìn)程管理一章的主要內(nèi)容。 多道技術(shù)也會引發(fā)空間資源的競爭。計(jì)算機(jī)一次能運(yùn)行幾道作業(yè)程序取決于主存容量和硬件劃分空間的能力。此外,必須引入某種保護(hù)機(jī)制防止作業(yè)程序間相互影響。在第三章的內(nèi)存管理,我們將討論空間分配策略和安全機(jī)制。在主存內(nèi)的各道程序基本上是互相獨(dú)立的,監(jiān)控程序能區(qū)分它們并對它們獨(dú)立地應(yīng)用策略(比如調(diào)度策略)。每道程序都有自己的時間、空間和數(shù)據(jù)傳輸?shù)男枨?。進(jìn)程的概念被引入用以代替作業(yè)的單一步驟的概念。操作系統(tǒng)(用以代替監(jiān)控程序的稱呼)負(fù)責(zé)跟蹤控制進(jìn)程活動。這一階段的操作系統(tǒng)結(jié)構(gòu)里,進(jìn)程已經(jīng)不可以直接控制輸入輸出設(shè)備了,進(jìn)程必須向操作系統(tǒng)內(nèi)核發(fā)出服務(wù)請求,輸入輸出也是競爭的資源。為進(jìn)程分配資源并不是一件簡單的工作。因?yàn)檫M(jìn)程會在運(yùn)行過程的不同階段申請各種資源,這是沒法預(yù)測的。如果資源不可用,進(jìn)程會被阻塞,之后又如何處理呢?這是第四章的內(nèi)容。隨著多道技術(shù)的發(fā)展,操作系統(tǒng)發(fā)展出內(nèi)核結(jié)構(gòu)的思想。操作系統(tǒng)內(nèi)核由一組管理子例程組成,負(fù)責(zé)管理計(jì)算機(jī)時間、空間和信息傳送資源。管理的一種理解是對進(jìn)程的各種資源請求作出響應(yīng)。如上圖中,來自上層的進(jìn)程對服務(wù)的請求和下層的設(shè)備中斷處理請求。內(nèi)核的各種不同活動會共享一些數(shù)據(jù),這些數(shù)據(jù)不能被修改,必須保持前后一致性。并發(fā)控制的機(jī)制被添加到操作系統(tǒng),防止這些活動互相干擾。第八章介紹互斥鎖和同步問題。(KEMIN:并發(fā)控制只對內(nèi)核活動嗎?)3.6 Interactive multiprogramming操作系統(tǒng)發(fā)展的下一階段是交互式多道(interactive multiprogramming)。如下圖。面向用戶的主要傳輸設(shè)備改用交互式終端,代替過去的卡片或磁帶機(jī)?,F(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ì)算(也稱為分時計(jì)算)對計(jì)算機(jī)的使用方式的改變是革命性的。計(jì)算機(jī)從數(shù)字?jǐn)囁闄C(jī)演變成了真正的信息處理機(jī)。用戶可以通過交互式文本編輯軟件在線的編纂數(shù)據(jù)文件。這些文件可以是程序、文檔或純數(shù)據(jù)。作業(yè)或作業(yè)步驟的概念沒有了,取而代之是互交式會話(sessions ),會話是指從登錄(通過終端鏈接到主機(jī))到登出(斷開主機(jī)的鏈接)的一段時間。在登錄的時候,用戶一般需要提供用戶名和密碼。這些數(shù)據(jù)會被轉(zhuǎn)換成一個用戶標(biāo)識,用戶標(biāo)識用來關(guān)聯(lián)主機(jī)上所有用戶開的進(jìn)程和創(chuàng)建的文件。用戶標(biāo)識也用于操作系統(tǒng)內(nèi)核實(shí)現(xiàn)一些控制功能,比如判定是否有權(quán)修改文件。在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 記錄我的一天(教學(xué)設(shè)計(jì))-2024-2025學(xué)年一年級上冊數(shù)學(xué)北師大版
- 武術(shù)防身術(shù) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- Unit 6 Reading教學(xué)設(shè)計(jì)2024-2025學(xué)年滬教牛津版英語八年級上冊
- 下壓式交接棒 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- 2025年中國旋光儀行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報(bào)告
- 2025年提供住宿社會救助服務(wù)項(xiàng)目合作計(jì)劃書
- 第11課 古代日本(教學(xué)設(shè)計(jì))-2024-2025學(xué)年九年級歷史上冊素養(yǎng)提升教學(xué)設(shè)計(jì)(統(tǒng)編版)
- 浙教版2023年 八年級下冊 第9課人工智能中的機(jī)器學(xué)習(xí) 教學(xué)設(shè)計(jì)
- 2025人教版一年級下冊數(shù)學(xué)教學(xué)進(jìn)度表
- 實(shí)驗(yàn)室裝修合同管理費(fèi)標(biāo)準(zhǔn)
- 全國大全身份證前六位、區(qū)號、郵編-編碼
- 2023年主治醫(yī)師(中級)-眼科學(xué)(中級)代碼:334考試歷年真題集錦附答案
- 種植林業(yè)可行性研究報(bào)告
- 測試文檔-可能-歌詞1
- 金和物業(yè)公司簡介
- 電力安全工作規(guī)程-(電網(wǎng)建設(shè)部分)
- 廣東省五年一貫制考試英語真題
- 項(xiàng)目部崗位廉潔風(fēng)險情景教育案例
- 小學(xué)英語-What a dream教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 數(shù)據(jù)分析系統(tǒng)Hive培訓(xùn)課件
- 小學(xué)五年級英語20篇英文閱讀理解(答案附在最后)
評論
0/150
提交評論