1. 程式人生 > >計算機與操作系統發展史

計算機與操作系統發展史

管理系 linux 產生 通過 new 記錄 思想 軟件 class

計算機發展的四個階段

世界上第一臺電子數字式計算機於1946年2月15日在美國賓夕法尼亞大學研制成功,它的名稱叫ENIAC(埃尼阿克),是電子數值積分式計算機(The Electronic Numberical Intergrator and Computer)的縮寫。它使用了17468個真空電子管,耗電174千瓦,占地170平方米,重達30噸,每秒鐘可進行5000次加法運算。雖然它還比不上今天最普通的一臺微型計算機,但在當時它已是運算速度的絕對冠軍,並且其運算的精確度和準確度也是史無前例的。以圓周率(π)的計算為例,中國的古代科學家祖沖之利用算籌,耗費15年心血,才把圓周率計算到小數點後7位數。一千多年後,英國人香克斯以畢生精力計算圓周率,才計算到小數點後707位。而使用ENIAC進行計算,僅用了40秒就達到了這個記錄,還發現香克斯的計算中,第528位是錯誤的。

技術分享圖片

第一代(1946~1957年)是電子計算機

它的基本電子元件是電子管,內存儲器采用水銀延遲線,外存儲器主要采用磁鼓、紙帶、卡片、磁帶等。由於當時電子技術的限制,運算速度只是每秒幾千次~幾萬次基本運算,內存容量僅幾千個字。因此,第一代計算機體積大,耗電多,速度低,造價高,使用不便;主要局限於一些軍事和科研部門進行科學計算。軟件上采用機器語言,後期采用匯編語言。

技術分享圖片

第二代(1958~1970年)是晶體管計算機。

1948年,美國貝爾實驗室發明了晶體管,10年後晶體管取代了計算機中的電子管,誕生了晶體管計算機。晶體管計算機的基本電子元件是晶體管,內存儲器大量使用磁性材料制成的磁芯存儲器。與第一代電子管計算機相比,晶體管計算機體積小,耗電少,成本低,邏輯功能強,使用方便,可靠性高。軟件上廣泛采用高級語言,並出現了早期的操作系統

第三代(1963~1970年)是集成電路計算機。

隨著半導體技術的發展,1958年夏,美國德克薩斯公司制成了第一個半導體集成電路。集成電路是在幾平方毫米的基片,集中了幾十個或上百個電子元件組成的邏輯電路。第三代集成電路計算機的基本電子元件是小規模集成電路和中規模集成電路,磁芯存儲器進一步發展,並開始采用性能更好的半導體存儲器,運算速度提高到每秒幾十萬次基本運算。由於采用了集成電路,第三代計算機各方面性能都有了極大提高:體積縮小,價格降低,功能增強,可靠性大大提高。軟件上廣泛使用操作系統,產生了分時、實時等操作系統和計算機網絡

第四代(1971年~日前)是大規模集成電路計算機。

隨著集成了上千甚至上萬個電子元件的大規模集成電路和超大規模集成電路的出現,電子計算機發展進入了第四代。第四代計算機的基本元件是大規模集成電路,甚至超大規模集成電路,集成度很高的半導體存儲器替代了磁芯存儲器,運算速度可達每秒幾百萬次,甚至上億次基本運算。在軟件方法上產生了結構化程序設計和面向對象程序設計的思想。另外,網絡操作系統、數據庫管理系統得到廣泛應用。微處理器和微型計算機也在這一階段誕生並獲得飛速發展。

技術分享圖片

現代計算機正向著巨型、微型、並行、分布、網絡化和智能化幾個方面發展

操作系統發展史

操作系統並不是與計算機硬件一起誕生的,它是在人們使用計算機的過程中,為了滿足兩大需求:提高資源利用率、增強計算機系統性能,伴隨著計算機技術本身及其應用的日益發展,而逐步地形成和完善起來的。

手工操作(無操作系統)

人們先把程序紙帶(或卡片)裝上計算機,然後啟動輸入機把程序和送入計算機,接著通過控制臺開關啟動程序運行。計算完畢,打印機輸出計算結果,用戶卸下並取走紙帶(或卡片)。第二個用戶上機,重復同樣的步驟。

特點: 用戶獨占機器,CPU等待手工操作,CPU利用不充分。

由於手工操作的滿速度和計算機的高速度之間形成了尖銳矛盾,手工操作的方式是計算機的資源利用率極低,唯一的解決辦法只有擺脫手工操作,實現作業的自動過渡。

技術分享圖片

技術分享圖片

批處理系統

批處理系統: 加載計算機上的一個監督軟件,在監督程序的控制下,計算機能夠自動的、成批的處理一個或多個用戶的作業(作業包括程序、數據、命令)。

首先出現的是聯機批處理系統,即作業的輸入輸出由CPU來處理。

聯機批處理系統

在主機和輸入機之間增加兩個存儲設備——磁帶機,在監督程序的自動控制下,計算機自動完成任務。

成批的把輸入機上的用戶作業讀入磁帶,依次把磁帶上的用戶作業讀入主機內存並執行,執行完成後把計算結果想輸出機輸出。 完成一批作業後,監督程度又從輸入機讀取作業存入磁帶機。按照上面的步驟重復處理任務。監督程序不停的處理各個作業,實現了作業的自動轉接,減少了作業的建立時間和手工操作時間,有效的克服了人機矛盾,提高了計算機資源的利用率。

問題: 在輸入作業和輸出結果時,CPU還是會處於線空閑狀態,等待慢速的輸入/輸出設備完成工作——主機處於忙等狀態。

脫機批處理系統

為了克服與緩解告訴主機與慢速外設(輸入輸出設備),提高CPU利用率,用又引入了脫機批處理系統,即輸入輸出脫離主機控制。

顯著特征就是:增加一臺不與主機直接相連衛星機。衛星機用來從輸入機上讀取用戶作業並放到磁帶機上;將磁帶機上的執行結果傳給輸出機。這樣主機不再與慢速的輸入輸出設備連接。主機與衛星機兩者並行工作,分工明確,可充分發揮主機的告訴計算能力。

問題:每次主機內存中僅存放一道作業,每當它運行期間發出輸入/輸出(I/O)請求後,高速的CPU便處於等待低速的I/O完成狀態,致使CPU空閑。

技術分享圖片

多道程序系統

多道程序設計技術,就是指允許多個程序同時進入內存並運行。即同時把多個程序放入內存,並允許它們交替在CPU中運行,它們共享系統中的各種硬、軟件資源。當一道程序因I/O請求而暫停運行時,CPU便立即轉去運行另一道程序。

單道程序運行過程 :在A程序計算時,I/O空閑, A程序I/O操作時,CPU空閑(B程序也是同樣);必須A工作完成後,B才能進入內存中開始工作,兩者是串行的,全部完成共需時間=T1+T2。

多道程序運行過程 :將A、B兩道程序同時存放在內存中,它們在系統的控制下,可相互穿插、交替地在CPU上運行:當A程序因請求I/O操作而放棄CPU時,B程序就可占用CPU運行,這樣 CPU不再空閑,而正進行A I/O操作的I/O設備也不空閑,顯然,CPU和I/O設備都處於“忙”狀態,大大提高了資源的利用率,從而也提高了系統的效率,A、B全部完成所需時間<T1+T2。

多道程序設計技術不僅使CPU得到充分利用,同時改善I/O設備和內存的利用率,從而提高了整個系統的資源利用率和系統吞吐量(單位時間內處理作業(程序)的個數),最終提高了整個系統的效率

多道:系統內可同時容納多個作業。這些作業放在外存中,組成一個後備隊列,系統按一定的調度原則每次從後備作業隊列中選取一個或多個作業進入內存運行,運行作業結束、退出運行和後備作業進入運行均由系統自動實現,從而在系統中形成一個自動轉接的、連續的作業流。
成批:在系統運行過程中,不允許用戶與其作業發生交互作用,即:作業一旦進入系統,用戶就不能直接幹預其作業的運行。批處理系統的追求目標:提高系統資源利用率和系統吞吐量,以及作業流程的自動化。批處理系統的一個重要缺點:不提供人機交互能力,給用戶使用計算機帶來不便。

雖然用戶獨占全機資源,並且直接控制程序的運行,可以隨時了解程序運行情況。但這種工作方式因獨占全機造成資源效率極低。

20世紀60年代中期,在前述的批處理系統中,引入多道程序設計技術後形成多道批處理系統。

多道批處理系統的一個重要缺點:不提供人機交互能力,給用戶使用計算機帶來不便。雖然用戶獨占全機資源,並且直接控制程序的運行,可以隨時了解程序運行情況。但這種工作方式因獨占全機造成資源效率極低。即使CPU可以1分鐘運算100W次,如果作業是按照每分鐘100次來做運算,資源被大大浪費。

技術分享圖片

分時系統

分時技術:把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用。若某個作業在分配給它的時間片內不能完成其計算,則該作業暫時中斷,把處理機讓給另一作業使用,等待下一輪時再繼續其運行。由於計算機速度很快,作業運行輪轉得很快,給每個用戶的印象是,好象他獨占了一臺計算機。而每個用戶可以通過自己的終端向系統發出各種操作控制命令,在充分的人機交互情況下,完成作業的運行。具有上述特征的計算機系統稱為分時系統,它允許多個用戶同時聯機使用計算機。

問題: 無法對特殊任務做出及時響應

技術分享圖片

實時系統

雖然多道批處理系統和分時系統能獲得較令人滿意的資源利用率和系統響應時間,但卻不能滿足實時控制與實時信息處理兩個應用領域的需求。於是就產生了實時系統,即系統能夠及時響應隨機發生的外部事件,並在嚴格的時間範圍內完成對該事件的處理。

實時系統可分成兩類:

實時控制系統。當用於飛機飛行、導彈發射等的自動控制時,要求計算機能盡快處理測量系統測得的數據,及時地對飛機或導彈進行控制,或將有關信息通過顯示終端提供給決策人員。當用於軋鋼、石化等工業生產過程控制時,也要求計算機能及時處理由各類傳感器送來的數據,然後控制相應的執行機構。

實時信息處理系統。當用於預定飛機票、查詢有關航班、航線、票價等事宜時,或當用於銀行系統、情報檢索系統時,都要求計算機能對終端設備發來的服務請求及時予以正確的回答。此類對響應及時性的要求稍弱於第一類。

實時操作系統的主要特點:

及時響應,每一個信息接收、分析處理和發送的過程必須在嚴格的時間限制內完成。

高可靠性,需采取冗余措施,雙機系統前後臺工作,也包括必要的保密措施等。

通用操作系統

操作系統的三種基本類型:多道批處理系統、分時系統、實時系統。

具有多種類型操作特征的操作系統。可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。

例如:實時處理+批處理=實時批處理系統。首先保證優先處理實時任務,插空進行批處理作業。常把實時任務稱為前臺作業,批作業稱為後臺作業。

再如:批處理+分時處理=分時批處理系統。即:時間要求不強的作業放入“後臺”(批處理)處理,需頻繁交互的作業在“前臺”(以去銀行辦理業務,這個銀行只有一個窗口可以辦理業務。離業務窗口不遠的地方是等候區,兩者之間走路需要1分鐘。分時)處理,處理機優先運行“前臺”作業。

從上世紀60年代中期,國際上開始研制一些大型的通用操作系統。這些系統試圖達到功能齊全、可適應各種應用範圍和操作方式變化多端的環境的目標。但是,這些系統過於復雜和龐大,不僅付出了巨大的代價,且在解決其可靠性、可維護性和可理解性方面都遇到很大的困難。

Linux操作系統發展階段

Linux的誕生

1991年芬蘭大學生Linus Torvalds在GPL條例下發布了Linux的第一 版0.02;Linux來源於Unix,並很好的繼承了Unix的穩定性和效率高。

Linux內核項目由芬蘭的Linux Torvalds創建
1991年10月,linux第一個公開版0.02版誕生
1994年3月,linux 1.0版發布
linux的logo標誌取至芬蘭的吉祥物:企鵝

技術分享圖片

技術分享圖片

Linux的發展歷程:

(1)1984年,Andrew S.Tanenbaum 開發了用於教學的Unix 系統,命名為MINIX.

(2)1989年,AndrewS.Tanenbaum 將MINIX 系統運行於X86 的PC 計算機平臺。

(3)1990年,芬蘭赫爾辛基大學學生Linus Torvalds 首次接觸MINIX系統。

(4)1991年,LimusTorvalds 開始在MINIX上編寫各種驅動程序等操作系統內核組件。

(5)1991年底,Limus Torvalds 公開了Linux 內核源碼0.02 版

(6) 1993年,Linux 1.0版發行,Linux 轉向GPL 版權協議。
(8) 1994 年,Linux 的第一個商業發行版Slackware 問世。
(9) 1996年,美國國家標準技術局的計算機系統實驗室確認Linux 版本1.2.13 (由Open Linux 公司打包)符合POSIX 標準
(10)1999 年,Linux 的簡體中文發行版問世。
(11) 2000 年後,Linux 系統日趨成熟,湧現木量基於Linux 服務器平臺的應用,並廣應用於基於ARM技術的嵌入式系統中。

計算機與操作系統發展史