鄭州制作網(wǎng)站公司寧波網(wǎng)站關(guān)鍵詞優(yōu)化排名
[Python學(xué)習(xí)日記-83] 操作系統(tǒng)的介紹
簡(jiǎn)介
操作系統(tǒng)介紹
簡(jiǎn)介
? ? ? ? 本篇開始我們要學(xué)習(xí)網(wǎng)絡(luò)編程的進(jìn)階知識(shí),即并發(fā)編程(多進(jìn)程編程),從字面意思可以看出,進(jìn)程就是正在執(zhí)行的一個(gè)過程,也就是說進(jìn)程是對(duì)正在運(yùn)行程序的一個(gè)抽象。在前面學(xué)習(xí)的計(jì)算機(jī)基礎(chǔ)與網(wǎng)絡(luò)中我們講過我們所寫的程序并不是直接操作硬件的,而是通過操作系統(tǒng)來幫我們操作的,而進(jìn)程的概念就起源于操作系統(tǒng),是操作系統(tǒng)最核心的概念,也是操作系統(tǒng)提供的最古老也是最重要的抽象概念之一。操作系統(tǒng)的其他所有內(nèi)容都是圍繞進(jìn)程的概念展開的。所以想要真正了解進(jìn)程,必須事先了解操作系統(tǒng)。
操作系統(tǒng)介紹
一、為什么要有操作系統(tǒng)
????????現(xiàn)代的計(jì)算機(jī)系統(tǒng)主要是由一個(gè)或者多個(gè)處理器,主存,硬盤,鍵盤,鼠標(biāo),顯示器,打印機(jī),網(wǎng)絡(luò)接口及其他輸入輸出設(shè)備組成,所以說現(xiàn)代計(jì)算機(jī)系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng)。
? ? ? ? 我們之所以要使用操作系統(tǒng)主要考慮兩問題,一是效率問題,二是設(shè)備管理問題。
? ? ? ? 效率問題:要知道操作系統(tǒng)是一個(gè)復(fù)雜的,它可以把復(fù)雜的東西抽象成簡(jiǎn)單的接口,從而屏蔽掉復(fù)雜的物理設(shè)備,這樣程序員可以不必掌握系統(tǒng)的所有細(xì)節(jié),而只需掌握簡(jiǎn)單的接口調(diào)用即可編寫代碼了;而如果每位應(yīng)用程序員都必須掌握該系統(tǒng)所有的細(xì)節(jié),那就不可能有時(shí)間去編寫代碼了(一個(gè)操作系統(tǒng)可能會(huì)有十幾萬行的代碼,完全讀完都不知道到猴年馬月),這會(huì)嚴(yán)重影響了程序員的開發(fā)效率。
? ? ? ? 設(shè)備管理問題:計(jì)算機(jī)系統(tǒng)是由多個(gè)硬件設(shè)備組成的一個(gè)系統(tǒng),管理這些部件并加以優(yōu)化使用,是一件極富挑戰(zhàn)性的工作,于是就專門為計(jì)算機(jī)安裝了一層軟件(系統(tǒng)軟件),被稱為操作系統(tǒng),它的任務(wù)就是為用戶程序提供一個(gè)更好、更簡(jiǎn)單、更清晰的計(jì)算機(jī)模型,并管理剛才提到的所有設(shè)備。
? ? ? ? 總的來說,程序員無法把所有的硬件操作細(xì)節(jié)都了解到,管理這些硬件并且加以優(yōu)化使用是非常繁瑣的工作,這個(gè)繁瑣的工作就是操作系統(tǒng)來干的,有了它,程序員就從這些繁瑣的工作中解脫了出來,只需要考慮自己的應(yīng)用軟件的編寫就可以了,應(yīng)用軟件直接使用操作系統(tǒng)提供的功能來間接使用硬件。
二、什么是操作系統(tǒng)
? ? ? ? 簡(jiǎn)單的來說,操作系統(tǒng)就是一個(gè)協(xié)調(diào)、管理和控制計(jì)算機(jī)硬件資源和軟件資源的控制程序。操作系統(tǒng)所處的位置如下圖所示

注意:操作系統(tǒng)位于計(jì)算機(jī)硬件與應(yīng)用軟件之間,本質(zhì)也是一個(gè)軟件。操作系統(tǒng)由操作系統(tǒng)的內(nèi)核(運(yùn)行于內(nèi)核態(tài),管理硬件資源)以及系統(tǒng)調(diào)用(運(yùn)行于用戶態(tài),為應(yīng)用程序員寫的應(yīng)用程序提供系統(tǒng)調(diào)用接口)兩部分組成,所以單純的說操作系統(tǒng)是運(yùn)行于內(nèi)核態(tài)的,是不準(zhǔn)確的。
? ? ? ? 展開來說,操作系統(tǒng)分成兩部分功能?:
1、隱藏了丑陋的硬件調(diào)用接口,為應(yīng)用程序員提供更好,更簡(jiǎn)單,更清晰的調(diào)用硬件資源模型(系統(tǒng)調(diào)用接口)。應(yīng)用程序員有了這些接口后,就不用再考慮操作硬件的細(xì)節(jié),專心開發(fā)自己的應(yīng)用程序即可。
例如,操作系統(tǒng)提供了文件這個(gè)抽象概念,對(duì)文件的操作就是對(duì)磁盤的操作,有了文件我們無需再去考慮關(guān)于磁盤的讀寫控制(比如控制磁盤轉(zhuǎn)動(dòng)、移動(dòng)磁頭讀寫數(shù)據(jù)等細(xì)節(jié))。
2、將應(yīng)用程序?qū)τ布Y源的競(jìng)態(tài)請(qǐng)求變得有序化。
例如,很多應(yīng)用軟件其實(shí)是共享一套計(jì)算機(jī)硬件,比方說有可能有三個(gè)應(yīng)用程序同時(shí)需要申請(qǐng)打印機(jī)來輸出內(nèi)容,那么可能 A 程序競(jìng)爭(zhēng)到了打印機(jī)資源配打印,也可能是 B 競(jìng)爭(zhēng)到打印機(jī)資源,也可能是 C,這就導(dǎo)致了無序的資源競(jìng)爭(zhēng),打印機(jī)可能打印一段 A 的內(nèi)容然后又去打印 C 的了,操作系統(tǒng)的一個(gè)功能就是將這種無序變得有序。

三、操作系統(tǒng)與普通軟件的區(qū)別
1、主要的區(qū)別是,操作系統(tǒng)由硬件保護(hù),不能被用戶修改。如果你不想用現(xiàn)在的 QQ 了,你可以選擇用微信或者干脆自己寫一個(gè),但是你無法寫一個(gè)屬于操作系統(tǒng)一部分的程序(例如,時(shí)鐘中斷處理程序)。
2、操作系統(tǒng)與用戶程序的差異并不在于二者所處的地位。與其他用戶程序相比,操作系統(tǒng)是一個(gè)大型、復(fù)雜、長(zhǎng)壽的軟件,即使是與大型的用戶程序相比都是如此。
大型:Linux 或 Windows 的源代碼都是五百萬行數(shù)量級(jí)。按照每頁50行共1000行的書來算,五百萬行要有100卷,要用一整個(gè)書架子來擺置,這還僅僅是內(nèi)核部分。再加上其他用戶程序,例如,GUI、庫以及基本應(yīng)用軟件(如 Windows 的 Explorer 之類的系統(tǒng)服務(wù)),很容易就能達(dá)到這個(gè)數(shù)量的10倍或者20倍之多。
長(zhǎng)壽:操作系統(tǒng)的代碼量如此之大是非常難編寫的,一旦完成操作系統(tǒng)的所有者便不會(huì)輕易放棄,然后再寫一個(gè)。而是在原有的基礎(chǔ)上進(jìn)行改進(jìn)。(基本上可以把 Windows95/98/ME?看出一個(gè)操作系統(tǒng),而 Windows NT/2000/XP/Vista 則是兩位一個(gè)操作系統(tǒng),對(duì)于用戶來說它們十分相似。還有 UNIX 以及它的變體和克隆版本也演化了多年,例如,System V 版、Solaris 以及 FreeBSD 等都是 Unix 的原始版,不過盡管 Linux 非常依照 Unix?模式而仿制,并且與 Unix 高度兼容,但是 Linux 具有全新的代碼基礎(chǔ))
四、操作系統(tǒng)發(fā)展史

1、第一代計(jì)算機(jī)(1940~1955):真空管和穿孔卡片
第一代計(jì)算機(jī)的產(chǎn)生背景:
????????第一代之前人類是想用機(jī)械取代人力,第一代計(jì)算機(jī)的產(chǎn)生是計(jì)算機(jī)由機(jī)械時(shí)代進(jìn)入電子時(shí)代的標(biāo)志,從 Babbage 失敗之后一直到第二次世界大戰(zhàn),數(shù)字計(jì)算機(jī)的建造幾乎沒有什么進(jìn)展,第二次世界大戰(zhàn)的爆發(fā)刺激了有關(guān)計(jì)算機(jī)研究的爆炸性進(jìn)展。
? ? ? ? 美國愛荷華州立大學(xué)的 John Atanasoff 教授和他的學(xué)生 Cliford Bery 建造了據(jù)認(rèn)為是第一臺(tái)可工作的數(shù)字計(jì)算機(jī)。該機(jī)器使用300個(gè)真空管,幾乎是同一時(shí)間 Konrad Zuse 在柏林用繼電器構(gòu)建了 Z3 計(jì)算機(jī),英格蘭布萊切利園的一個(gè)小組在1944年構(gòu)建了 Colossus,Howard Aiken 在哈佛大學(xué)建造了 Mark 1,賓夕法尼亞大學(xué)的 William Mauchley 和他的學(xué)生 J.Presper Eckert 建造了 ENIAC。這些機(jī),器有的是二進(jìn)制的,有的使用真空管,有的是可編程的,但都非常原始,需要花費(fèi)數(shù)秒鐘時(shí)間才能完成最簡(jiǎn)單的運(yùn)算。

????????在這個(gè)時(shí)期,同一個(gè)小組里的工程師們,設(shè)計(jì)、建造、編程、操作及維護(hù)同一臺(tái)機(jī)器,所有的程序設(shè)計(jì)都是用純粹的機(jī)器語言編寫的,甚至更糟糕的有需要通過成千上萬根電纜接到插件板上連成電路來控制機(jī)器的基本功能。那時(shí)候沒有程序設(shè)計(jì)語言(連匯編也沒有),操作系統(tǒng)更是從來都沒聽說過。使用機(jī)器的過程更加原始,具體過程見下方的“工作過程”。
特點(diǎn):
- 沒有操作系統(tǒng)的概念
- 所有的程序設(shè)計(jì)都是直接操控硬件
工作過程:
? ? ? ? 當(dāng)時(shí)還沒有預(yù)約程序之類的東西,會(huì)直接在墻上貼一張機(jī)時(shí)表來進(jìn)行預(yù)約,程序員在墻上的機(jī)時(shí)表預(yù)約一段時(shí)間,然后程序員拿著他的插件版到機(jī)房里,將自己的插件板接到計(jì)算機(jī)里,在他預(yù)約的這幾個(gè)小時(shí)內(nèi)他獨(dú)享整個(gè)計(jì)算機(jī)資源,后面的一批人都得等著(兩萬多個(gè)真空管經(jīng)常會(huì)有被燒壞的情況出現(xiàn))。
????????到后來出現(xiàn)了穿孔卡片,可以將程序?qū)懺诳ㄆ?#xff0c;然后讀入機(jī)而不用插件板。程序員將對(duì)應(yīng)于程序和數(shù)據(jù)的已穿孔的紙帶(或卡片)裝入輸入機(jī),然后啟動(dòng)輸入機(jī)把程序和數(shù)據(jù)輸入計(jì)算機(jī)內(nèi)存,接著通過控制臺(tái)開關(guān)啟動(dòng)程序針對(duì)數(shù)據(jù)運(yùn)行;計(jì)算完畢后,打印機(jī)輸出計(jì)算結(jié)果;用戶取走結(jié)果并卸下紙帶(或卡片)后,才讓下一個(gè)用戶上機(jī)。

優(yōu)點(diǎn):
????????程序員在申請(qǐng)的時(shí)間段內(nèi)獨(dú)享整個(gè)資源,可以即時(shí)地調(diào)試自己的程序(即運(yùn)行時(shí)出現(xiàn)?bug 可以立刻處理)
缺點(diǎn):
? ? ? ? 會(huì)造成計(jì)算機(jī)資源的浪費(fèi),一臺(tái)機(jī)器同一時(shí)間段內(nèi)只有一個(gè)人使用。
注意:同一時(shí)刻只有一個(gè)程序在內(nèi)存中,被 CPU 調(diào)用執(zhí)行,例如有10個(gè)程序需要執(zhí)行,而執(zhí)行它們的方式是串行執(zhí)行的。
2、第二代計(jì)算機(jī)(1955~1965):晶體管和批處理系統(tǒng)
第二代計(jì)算機(jī)的產(chǎn)生背景:
????????由于當(dāng)時(shí)的計(jì)算機(jī)非常昂貴,很自然的會(huì)想辦法減少機(jī)時(shí)的浪費(fèi),來提高使用率。通常采用的方法就是批處理系統(tǒng)。
特點(diǎn):
????????設(shè)計(jì)人員、生產(chǎn)人員、操作人員、程序人員和維護(hù)人員直接有了明確的分工,計(jì)算機(jī)被鎖在專用空調(diào)房間中,由專業(yè)操作人員運(yùn)行,這便是“大型機(jī)”。
? ? ? ? 這時(shí)便有了操作系統(tǒng)的概念了,也有了程序設(shè)計(jì)語言:FORTRAN 語言或匯編語言;程序員會(huì)先寫到紙上,然后穿孔打成卡片,再講卡片盒帶到輸入室,交給操作員,然后悠閑地等待輸出接口。
工作過程:

????????在收集了大約一個(gè)小時(shí)的批量作業(yè)之后,這些卡片被讀進(jìn)磁帶,然后磁帶被送到機(jī)房里并裝到磁帶機(jī)上。隨后,操作員裝入一個(gè)特殊的程序(現(xiàn)代操作系統(tǒng)的前身),它從磁帶上讀入第一個(gè)作業(yè)并運(yùn)行,其輸出寫到第二盤磁帶上,而不打印。每個(gè)作業(yè)結(jié)束后,操作系統(tǒng)自動(dòng)地從磁帶上讀入下一個(gè)作業(yè)并運(yùn)行。當(dāng)一批作業(yè)完全結(jié)束后,操作員取下輸入和輸出磁帶,將輸入磁帶換成下一批作業(yè),并把輸出磁帶拿到一臺(tái)1401機(jī)器上進(jìn)行脫機(jī)(不與主計(jì)算機(jī)聯(lián)機(jī))打印。
第二代計(jì)算機(jī)如何解決第一代計(jì)算機(jī)的缺點(diǎn):
- 把一堆人的輸入攢成一大波輸入
- 然后順序計(jì)算(即串行執(zhí)行,這是有問題的,但是第二代計(jì)算也沒有解決)
- 把一堆人的輸出攢成一大波輸出
優(yōu)點(diǎn):
? ? ? ? 第二代計(jì)算機(jī)使用了批處理,讓 CPU 時(shí)刻處在運(yùn)行計(jì)算的狀況下,大大提高了機(jī)時(shí)利用率,從而節(jié)省了機(jī)時(shí)。
缺點(diǎn):
- 整個(gè)流程需要人參與控制,將磁帶搬來搬去(單道批處理示意圖中的 c 和 e 兩個(gè)小人)
- 計(jì)算的過程仍然是順序計(jì)算(串行)
- 程序員原來獨(dú)享一段時(shí)間的計(jì)算機(jī),現(xiàn)在必須被統(tǒng)一規(guī)劃到一批作業(yè)中,等待結(jié)果和重新調(diào)試的過程都需要等同批次的其他程序都運(yùn)作完才可以(這極大的影響了程序的開發(fā)效率,無法及時(shí)調(diào)試程序)
3、第三代計(jì)算機(jī)(1965~1980):集成電路芯片和多道程序設(shè)計(jì)
第三代計(jì)算機(jī)的產(chǎn)生背景:
? ? ? ? 第二代計(jì)算機(jī)相比起第一代有了一定的進(jìn)步,但是一個(gè)計(jì)算機(jī)系統(tǒng)內(nèi)有多臺(tái)不同的機(jī)器,這導(dǎo)致在20世紀(jì)60年代初期,大多數(shù)計(jì)算機(jī)廠商都有兩條完全不兼容的生產(chǎn)線。一條是面向字的:大型的科學(xué)計(jì)算機(jī),例如 IBM 7094,見上圖,主要用于科學(xué)計(jì)算和工程計(jì)算;另外一條是面向字符的:商用計(jì)算機(jī),例如 IBM 1401,見上圖,主要用于銀行和保險(xiǎn)公司從事磁帶歸檔和打印服務(wù)開發(fā)和維護(hù)完全不同的產(chǎn)品是十分昂貴的,同時(shí)不同的用戶對(duì)計(jì)算機(jī)的用途也不同。
????????IBM 公司試圖通過引入 system/360 系列來同時(shí)滿足科學(xué)計(jì)算和商業(yè)計(jì)算,360系列低檔機(jī)與1401相當(dāng),高檔機(jī)比7094功能強(qiáng)很多,不同的性能賣不同的價(jià)格。
????????360是第一個(gè)采用了(小規(guī)模)芯片(集成電路)的主流機(jī)型,與采用晶體管的第二代計(jì)算機(jī)相比,性價(jià)比有了很大的提高。這些計(jì)算機(jī)的后代仍在大型的計(jì)算機(jī)中心里使用,此乃現(xiàn)在服務(wù)器的前身,這些服務(wù)器每秒處理不小于千次的請(qǐng)求。
第三代計(jì)算機(jī)如何解決第二代計(jì)算機(jī)的缺點(diǎn)1:
? ? ? ? 卡片被拿到機(jī)房后能夠很快的將作業(yè)從卡片讀入磁盤,于是任何時(shí)刻當(dāng)一個(gè)作業(yè)結(jié)束時(shí),操作系統(tǒng)就能將一個(gè)作業(yè)從磁帶讀出,裝進(jìn)空出來的內(nèi)存區(qū)域運(yùn)行,這種技術(shù)叫做同時(shí)的外部設(shè)備聯(lián)機(jī)操作(SPOOLING),該技術(shù)同時(shí)用于輸出。當(dāng)采用了這種技術(shù)后,就不再需要 IBM 1401 機(jī)了,也不必用人將磁帶搬來搬去了。
第三代計(jì)算機(jī)如何解決第二代計(jì)算機(jī)的缺點(diǎn)2:
????????第三代計(jì)算機(jī)的操作系統(tǒng)廣泛應(yīng)用了第二代計(jì)算機(jī)的操作系統(tǒng)沒有的關(guān)鍵技術(shù):多道技術(shù)。
? ? ? ? CPU 在執(zhí)行一個(gè)任務(wù)的過程中,若需要操作硬盤,則發(fā)送操作硬盤的指令,指令一旦發(fā)出,硬盤上的機(jī)械手臂滑動(dòng)讀取數(shù)據(jù)到內(nèi)存中,這一段時(shí)間,CPU 需要等待很短的時(shí)間(大概幾毫秒),但對(duì)于 CPU 來說已經(jīng)很長(zhǎng)很長(zhǎng)了,長(zhǎng)到可以讓 CPU 做很多其他的任務(wù),如果我們讓 CPU 在這段時(shí)間內(nèi)切換到去做其他的任務(wù),這樣?CPU 不就充分利用了嗎。這正是多道技術(shù)產(chǎn)生的技術(shù)背景。
多道技術(shù):多道技術(shù)中的多道指的是多個(gè)程序,多道技術(shù)的實(shí)現(xiàn)是為了解決多個(gè)程序競(jìng)爭(zhēng)或者說共享同一個(gè)資源(例如 CPU 資源)的有序調(diào)度問題,解決方式即多路復(fù)用,多路復(fù)用分為時(shí)間上的復(fù)用和空間上的復(fù)用。
時(shí)間上的復(fù)用:當(dāng)一個(gè)程序在等待 I/O 時(shí),另一個(gè)程序可以使用 CPU,如果內(nèi)存中可以同時(shí)存放足夠多的作業(yè),則 CPU 的利用率可以接近100%,類似于我們小學(xué)數(shù)學(xué)所學(xué)的統(tǒng)籌方法。(操作系統(tǒng)采用了多道技術(shù)后,可以控制進(jìn)程的切換,或者說進(jìn)程之間去爭(zhēng)搶 CPU 的執(zhí)行權(quán)限。這種切換不僅會(huì)在一個(gè)進(jìn)程遇到?I/O 時(shí)進(jìn)行,一個(gè)進(jìn)程占用 CPU 時(shí)間過長(zhǎng)也會(huì)切換,或者說被操作系統(tǒng)奪走 CPU 的執(zhí)行權(quán)限)
空間上的復(fù)用:將內(nèi)存分為幾部分,每個(gè)部分放入一個(gè)程序,這樣,同一時(shí)間內(nèi)存中就有了多道程序,但在第三代計(jì)算機(jī)的階段空間上的復(fù)用是存在問題的。
空間上的復(fù)用最大的問題是:要做到空間上的復(fù)用,程序之間的內(nèi)存必須分割,這種分割需要在硬件層面實(shí)現(xiàn),由操作系統(tǒng)控制。如果內(nèi)存彼此不分割,則一個(gè)程序可以訪問另外一個(gè)程序的內(nèi)存,這樣首先喪失的是安全性,例如你的 QQ 程序可以訪問操作系統(tǒng)的內(nèi)存,這意味著你的 QQ 可以拿到操作系統(tǒng)的所有權(quán)限;其次喪失的是穩(wěn)定性,某個(gè)程序崩潰時(shí)有可能把別的程序的內(nèi)存也給回收了,例如把操作系統(tǒng)的內(nèi)存給回收了,則導(dǎo)致操作系統(tǒng)崩潰。
????????總體來說,第三代計(jì)算機(jī)的操作系統(tǒng)仍然是批處理,許多程序員懷念第一代獨(dú)享的計(jì)算機(jī),可以即時(shí)調(diào)試自己的程序。
第三代計(jì)算機(jī)如何解決第二代計(jì)算機(jī)的缺點(diǎn)3:
????????為了滿足程序員們很快可以得到響應(yīng),出現(xiàn)了分時(shí)操作系統(tǒng)。
分時(shí)操作系統(tǒng):多個(gè)聯(lián)機(jī)終端 + 多道技術(shù)。例如20個(gè)客戶端同時(shí)加載到內(nèi)存,有17在思考,3個(gè)在運(yùn)行,CPU 就采用多道的方式處理內(nèi)存中的這3個(gè)程序,由于客戶提交的一般都是簡(jiǎn)短的指令而且很少有耗時(shí)長(zhǎng)的,索引計(jì)算機(jī)能夠?yàn)樵S多用戶提供快速的交互式服務(wù),所有的用戶都以為自己獨(dú)享了計(jì)算機(jī)資源。
? ? ? ? 但是分時(shí)操作系統(tǒng)并沒有第一時(shí)間推廣開來,主要的限制是因?yàn)槲锢碓驅(qū)е聝?nèi)存無法彼此隔離開來,后來麻省理工(MIT)在一臺(tái)改裝過的7094機(jī)上開發(fā)成功的?CTSS,其兼容分時(shí)系統(tǒng),這時(shí)第三代計(jì)算機(jī)才徹底成型,第三代計(jì)算機(jī)廣泛采用了必須的保護(hù)硬件(程序之間的內(nèi)存彼此隔離)之后,分時(shí)系統(tǒng)才開始流行。
? ? ? ? 后來?麻省理工(MIT)的貝爾實(shí)驗(yàn)室和通用電氣在 CTTS?成功研制后決定開發(fā)能夠同時(shí)支持上百終端的 MULTICS(其設(shè)計(jì)者著眼于建造滿足波士頓地區(qū)所有用戶計(jì)算需求的一臺(tái)機(jī)器),從后來者的視角來看,這個(gè)想法太激進(jìn)了,最后項(xiàng)目流產(chǎn)了。
????????后來一位參加過 MULTICS 研制的貝爾實(shí)驗(yàn)室計(jì)算機(jī)科學(xué)家 Ken Thompson 開發(fā)了一個(gè)簡(jiǎn)易的,單用戶版本的 MULTICS,這就是后來的 UNIX 系統(tǒng)?;谒苌撕芏嗥渌?Unix 版本,為了使程序能在任何版本的 Unix 上運(yùn)行,IEEE 提出了一個(gè) Unix 標(biāo)準(zhǔn),即 posix(可移植的操作系統(tǒng)接口,Portable Operating System Interface)
????????在1987年,出現(xiàn)了一個(gè) Unix 的小型克隆,即 minix,用于教學(xué)使用。是由芬蘭學(xué)生 Linus Torvalds 基于它編寫了 Linux。
4、第四代計(jì)算機(jī)(1980~至今):大規(guī)模集成電路芯片和現(xiàn)代操作系統(tǒng)
????????進(jìn)入20世紀(jì)80年代,大規(guī)模集成電路工藝技術(shù)的飛躍發(fā)展,微處理機(jī)的出現(xiàn)和發(fā)展,掀起了計(jì)算機(jī)大發(fā)展大普及的浪潮。一方面迎來了個(gè)人計(jì)算機(jī)的時(shí)代,同時(shí)又向計(jì)算機(jī)網(wǎng)絡(luò)、分布式處理、巨型計(jì)算機(jī)和智能化方向發(fā)展。于是,現(xiàn)代操作系統(tǒng)如 Windows、Mac OS 和 Linux 等也在這一時(shí)期逐漸成為主流,為計(jì)算機(jī)用戶提供了更加友好、穩(wěn)定和高效的操作環(huán)境?,F(xiàn)代操作系統(tǒng)也出現(xiàn)了更多的類別,例如,個(gè)人計(jì)算機(jī)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)等
個(gè)人計(jì)算機(jī)操作系統(tǒng):常見的個(gè)人計(jì)算機(jī)操作系統(tǒng)包括 Windows、macOS、Linux 和 Chrome OS 等,每種操作系統(tǒng)都有其特點(diǎn)和適用場(chǎng)景,用戶可以根據(jù)需求選擇合適的操作系統(tǒng)來滿足個(gè)人計(jì)算機(jī)使用的需求。
網(wǎng)絡(luò)操作系統(tǒng):網(wǎng)絡(luò)操作系統(tǒng)是一種針對(duì)網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)管理的操作系統(tǒng),其主要功能是管理和控制網(wǎng)絡(luò)設(shè)備,提供網(wǎng)絡(luò)服務(wù)和安全保護(hù)。網(wǎng)絡(luò)操作系統(tǒng)通常用于路由器、交換機(jī)、防火墻等網(wǎng)絡(luò)設(shè)備上,可以實(shí)現(xiàn)網(wǎng)絡(luò)配置、路由、數(shù)據(jù)包轉(zhuǎn)發(fā)、訪問控制、故障排除等功能。網(wǎng)絡(luò)操作系統(tǒng)還可以支持遠(yuǎn)程管理和監(jiān)控,幫助網(wǎng)絡(luò)管理員更好地管理網(wǎng)絡(luò)設(shè)備和保障網(wǎng)絡(luò)安全。
分布式操作系統(tǒng):分布式操作系統(tǒng)是一種設(shè)計(jì)用于多個(gè)計(jì)算機(jī)節(jié)點(diǎn)之間協(xié)同工作的操作系統(tǒng)。它通過將計(jì)算和存儲(chǔ)資源分布在多臺(tái)計(jì)算機(jī)上,實(shí)現(xiàn)了更高的性能、可靠性和靈活性。分布式操作系統(tǒng)可以管理多臺(tái)計(jì)算機(jī)上的任務(wù)調(diào)度、資源管理、通信協(xié)議等,使得不同計(jì)算機(jī)節(jié)點(diǎn)能夠協(xié)同工作,完成復(fù)雜的任務(wù)和應(yīng)用程序。常見的分布式操作系統(tǒng)包括 Google 的 GFS、HDFS 和 MapReduce,以及 Apache 的 Hadoop 等。