一文了解 操作系统发展史
最近在寫(xiě)一個(gè)Android、IOS、Fuchsia、HarmonyOS對(duì)比的報(bào)告,需要了解一下各操作系統(tǒng)的起源聯(lián)系以及內(nèi)核的對(duì)比,因此有了這個(gè)文章總結(jié)(算是學(xué)習(xí)筆記吧)。
一、各歷史階段的操作系統(tǒng)
我們都知道,操作系統(tǒng)自20世紀(jì)50年代誕生。操作系統(tǒng)誕生后經(jīng)歷了從專(zhuān)用操作系統(tǒng)(每個(gè)主機(jī)與應(yīng)用場(chǎng)景均需要一個(gè)新的操作系統(tǒng))到通用操作系統(tǒng)(一個(gè)操作系統(tǒng)覆蓋很多設(shè)備與應(yīng)用場(chǎng)景,如Windows、Linux等)的轉(zhuǎn)變。
- PC時(shí)代
由于Windows操作系統(tǒng)的廣泛應(yīng)用部署,微軟于20世紀(jì)90年代成為全球市值最高的公司;
蘋(píng)果研制的macOS也支撐蘋(píng)果一度成為全球最賺錢(qián)的科技公司。 - 數(shù)據(jù)中心時(shí)代
在IBM、Intel等企業(yè)的支持下,Linux操作系統(tǒng)又逐步在服務(wù)器等場(chǎng)景占據(jù)主體地位。 - 移動(dòng)互聯(lián)網(wǎng)時(shí)代
蘋(píng)果基于NEXTSTEP操作系統(tǒng)構(gòu)筑的IOS支撐蘋(píng)果成為全球市值最高的科技公司;
谷歌2005年收購(gòu)了Andy Rubin 在2003年創(chuàng)立的Android公司,并通過(guò)持續(xù)不斷的研發(fā)投入與快速迭代,如今已將Android操作系統(tǒng)打造成世界上發(fā)行量最大的移動(dòng)智能操作系統(tǒng)。
Statcounter數(shù)據(jù)截至2021年4月,全球移動(dòng)操作系統(tǒng)中,谷歌Android占比72.2%,蘋(píng)果IOS占比26.99%,其余平臺(tái)占比之和低于1%。 - 物聯(lián)網(wǎng)快速發(fā)展的時(shí)代
當(dāng)前越來(lái)越多的智能設(shè)備接入互聯(lián)網(wǎng),智能終端逐漸呈現(xiàn)多樣化發(fā)展趨勢(shì),加之第五代移動(dòng)通信技術(shù)網(wǎng)絡(luò)的建成商用,更是提供了大連接、低延時(shí)、高吞吐的基礎(chǔ)網(wǎng)絡(luò)能力,萬(wàn)物互聯(lián)的物聯(lián)網(wǎng)時(shí)代到來(lái)趨勢(shì)已勢(shì)不可擋。
隨著物聯(lián)網(wǎng)時(shí)代的到來(lái),覆蓋全場(chǎng)景的單一操作系統(tǒng)已經(jīng)很難適配多樣化終端設(shè)備不同硬件能力、不同應(yīng)用場(chǎng)景、不同運(yùn)算能力的需求。目前,谷歌、華為等各大企業(yè)紛紛在物聯(lián)網(wǎng)操作系統(tǒng)方面重兵投入:
谷歌從2016年開(kāi)始投入基于微內(nèi)核的Fuchsia操作系統(tǒng),應(yīng)用場(chǎng)景上希望適用于個(gè)人移動(dòng)設(shè)備、IoT(Internet of Things 物聯(lián)網(wǎng))設(shè)備甚至無(wú)人駕駛汽車(chē)等不同運(yùn)算能力和需求的場(chǎng)景。
華為于2019發(fā)布了基于物聯(lián)網(wǎng)的鴻蒙操作系統(tǒng)HarmonyOS,透露HarmonyOS采用微內(nèi)核架構(gòu),天生具備模塊化解耦優(yōu)勢(shì),可針對(duì)不同硬件能力的物聯(lián)網(wǎng)設(shè)備進(jìn)行模塊剪裁,從而實(shí)現(xiàn)彈性部署,并已于2020年面向128KB-128MB內(nèi)存的物聯(lián)網(wǎng)終端設(shè)備開(kāi)源。
Statcounter2021年4月數(shù)據(jù),全球桌面操作系統(tǒng)與移動(dòng)操作系統(tǒng)市場(chǎng)占比中,Android以40.66%超過(guò)Windows,成為第一大操作系統(tǒng)。
二、操作系統(tǒng)的發(fā)展史
- 1946年2月14日,世界上公認(rèn)的第一臺(tái)通用計(jì)算機(jī)ENIAC在美國(guó)賓夕法尼亞大學(xué)誕生。
在這時(shí)候,如何管理計(jì)算機(jī)上的程序也逐步成為一個(gè)非常重要的問(wèn)題。早期的計(jì)算機(jī)采用紙帶的方式記錄要計(jì)算的任務(wù),并通過(guò)打孔的紙帶或磁盤(pán)記錄輸出的結(jié)果。這樣就需要一個(gè)專(zhuān)門(mén)的操作員值守在計(jì)算機(jī)旁邊,并且操作的效率也不高。因此,人民開(kāi)始關(guān)注如何能使這一過(guò)程自動(dòng)化。 - 1956年,世界上第一個(gè)公認(rèn)的批處理操作系統(tǒng) GM-NAA I/O(通用汽車(chē)公司和北美航空輸入/輸出系統(tǒng))誕生。
GM-NAA I/O由Robert L.Patrick和Owen Mock在IBM 704上實(shí)現(xiàn)。GM-NAA I/O實(shí)現(xiàn)的主要是對(duì)輸入和輸出的自動(dòng)化管理:操作員只要將相關(guān)的任務(wù)交給GM-NAA I/O,計(jì)算機(jī)就會(huì)一直工作直到所有任務(wù)執(zhí)行結(jié)束。 - 1964年,美國(guó)IBM公司發(fā)布了通用操作系統(tǒng)IBM System/360。
通過(guò)定義指令集,將計(jì)算機(jī)的架構(gòu)與實(shí)現(xiàn)分開(kāi),從而在一套架構(gòu)上可以實(shí)現(xiàn)多代計(jì)算機(jī),并且允許使用者通過(guò)自定義的架構(gòu)去擴(kuò)展外設(shè);由于指令集與具體實(shí)現(xiàn)的分離,IBM System/360的成功也標(biāo)志著操作系統(tǒng)從面向每種計(jì)算機(jī)進(jìn)行定制開(kāi)發(fā)轉(zhuǎn)變?yōu)榕c計(jì)算機(jī)底層硬件實(shí)現(xiàn)解耦。自此,操作系統(tǒng)開(kāi)始進(jìn)入通用操作系統(tǒng)時(shí)代。 - 1964年,通用電氣和麻省理工學(xué)院聯(lián)合發(fā)起了Multics項(xiàng)目,目標(biāo)是設(shè)計(jì)與實(shí)現(xiàn)一套多用戶(hù)、多任務(wù)、多層次的操作系統(tǒng)。
貝爾實(shí)驗(yàn)室于1964年加入了Multics這個(gè)項(xiàng)目中,但后來(lái)由于Multics項(xiàng)目的復(fù)雜性導(dǎo)致項(xiàng)目的的工作進(jìn)度緩慢,1969年貝爾實(shí)驗(yàn)室退出了Multics項(xiàng)目。Multics項(xiàng)目也因進(jìn)度緩慢,資金短缺,宣告失敗。 - 1969年,曾參與Multics項(xiàng)目的貝爾實(shí)驗(yàn)室員工Ken Tompson和Dennis Ritchie基于匯編語(yǔ)言開(kāi)發(fā)出了UNIX操作系統(tǒng),并在1973年采用C語(yǔ)言重寫(xiě)了UNIX。
由于UNIX系統(tǒng)版權(quán)復(fù)雜且收費(fèi),錯(cuò)過(guò)了發(fā)展的黃金時(shí)機(jī),導(dǎo)致了其在后續(xù)的操作系統(tǒng)競(jìng)爭(zhēng)中并未占據(jù)主導(dǎo)地位。 - 1987年,荷蘭自由大學(xué)Andrew S.Tanenbaum教授開(kāi)源了用于教學(xué)的Minx操作系統(tǒng)(采用微內(nèi)核架構(gòu))。
由于UNIX版權(quán)的限制(AT&T在Version 7 Unix 推出之后,將 UNIX 源代碼私有化,禁止在教學(xué)中使用 UNIX 源代碼),為了方便教學(xué)Andrew S.Tanenbaum教授參考UNIX的設(shè)計(jì),開(kāi)發(fā)了名為Minx(即小型的UNIX)的操作系統(tǒng),并將全部源代碼開(kāi)放給大學(xué)教學(xué)和研究工作。但由于Minx發(fā)布之初對(duì)商業(yè)化很不友好(禁止商業(yè)使用),因此并未被廣泛使用。 - 1991年,芬蘭程序員Linus Torvalds發(fā)布了Linux操作系統(tǒng)。
Linux在設(shè)計(jì)上參考了Minx操作系統(tǒng),如今已成為目前世界上最成功的、使用最廣泛的開(kāi)源操作系統(tǒng)之一。 - 2001年,蘋(píng)果公司發(fā)布了Mac OS X 操作系統(tǒng)。
Mac OS X 的核心操作系統(tǒng)為 Darwin,是一種類(lèi)Unix的操作系統(tǒng)。Darwin在實(shí)現(xiàn)上,以FreeBSD源代碼和Mach微內(nèi)核為基礎(chǔ),采用混合內(nèi)核架構(gòu),由蘋(píng)果公司和獨(dú)立研發(fā);
Mach是第一代微內(nèi)核的代表,1975年Mach起源于羅徹斯特大學(xué),后來(lái)主要在卡內(nèi)基梅隆大學(xué)開(kāi)發(fā),由Avie Tevanian和Richard Rashid主導(dǎo)。Mach剛剛開(kāi)始設(shè)計(jì)時(shí),UNIX的發(fā)展正如日中天,所以Mach在設(shè)計(jì)時(shí)的一大目標(biāo)就是兼容UNIX,但是與UNIX不同的是Mach嘗試使用微內(nèi)核架構(gòu)設(shè)計(jì),Mach以IPC作為所有系統(tǒng)服務(wù)與內(nèi)核交換數(shù)據(jù)的基礎(chǔ),充分運(yùn)用IPC、虛擬內(nèi)存、多進(jìn)程等特性將冗余的系統(tǒng)服務(wù)移出內(nèi)核作為進(jìn)程運(yùn)行。
三、Minix
有興趣的朋友可以研究一下Minix。
Minix采用微內(nèi)核架構(gòu),第一個(gè)版本于1987年發(fā)布,是荷蘭計(jì)算機(jī)科學(xué)家Andrew S. Tanenbaum為了教學(xué)而創(chuàng)作,如今為Andrew S. Tanenbaum教授所著《操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn)》的示例代碼。
Minix啟發(fā)了Linux內(nèi)核的創(chuàng)作。1990年,還在上大學(xué)的Linus Torvalds從Minix得到靈感,出于對(duì)操作系統(tǒng)的興趣,于1991年發(fā)布了Linux。
Minix目前有三個(gè)主要的版本:
- Minix1
https://github.com/gdevic/minix1
Minix1是《操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn)》教材的演示代碼,側(cè)重于教學(xué)和學(xué)習(xí)(年代久遠(yuǎn),很難編譯安裝)。 - Minix 2.0.4
http://download.minix3.org/previous-versions/Intel-2.0.4/
Minix 2.0.4側(cè)重于自學(xué),鏈接中有詳細(xì)的安裝教程。 - Minix 3.2.1
http://download.minix3.org/iso/minix_R3.2.1-972156d.iso.bz2
Minix 3.2.1是個(gè)實(shí)用版本,有iso映像可供下載,安裝方便。
參考:
《現(xiàn)代操作系統(tǒng)原理與實(shí)現(xiàn)》陳海波 夏虞斌
StatCounter Global Stats:
http://gsa.statcounter.com/
Linux和UNIX的關(guān)系及區(qū)別:
http://c.biancheng.net/view/707.html
Unix/Linux/BSD 關(guān)系及介紹:
https://blog.csdn.net/liaowenxiong/article/details/116082478
Linux、Mac OS由來(lái)與區(qū)別:
https://blog.csdn.net/zaishuiyifangxym/article/details/89202623
========== THE END ==========
總結(jié)
以上是生活随笔為你收集整理的一文了解 操作系统发展史的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端学习(1775):前端调试之sess
- 下一篇: 2022 老A卡密验证系统