微軟開(kāi)源MS-DOS操作系統(tǒng)源碼,沖到GitHub第一了!
共 2819字,需瀏覽 6分鐘
·
2024-04-29 16:57
大家好,我是軒轅。
這兩天逛GitHub的時(shí)候,突然發(fā)現(xiàn)一個(gè)叫 MS-DOS的項(xiàng)目沖到Trending榜首了!
定睛一看,微軟官方啊,搜了一下才知道,原來(lái)前兩天,微軟把MS-DOS 4.0系統(tǒng)開(kāi)源了!
關(guān)于這個(gè)系統(tǒng),估計(jì)現(xiàn)在很多程序員都不知道了,或者只在古老的教科書上看過(guò)這玩意兒。
MS-DOS,全稱為Microsoft Disk Operating System,是一款由微軟開(kāi)發(fā)的操作系統(tǒng)。它主要用于個(gè)人計(jì)算機(jī),并且在1981年至1990年代早期成為了最流行的操作系統(tǒng)之一。MS-DOS的歷史與早期個(gè)人計(jì)算機(jī)的發(fā)展緊密相關(guān),具有重要的歷史意義。
1980年代初期:IBM計(jì)劃推出其第一臺(tái)個(gè)人計(jì)算機(jī),即IBM PC。IBM最初沒(méi)有自己的操作系統(tǒng),因此與微軟達(dá)成協(xié)議,由微軟提供操作系統(tǒng)。微軟當(dāng)時(shí)并沒(méi)有自己的磁盤操作系統(tǒng),因此它從另一家公司Seattle Computer Products購(gòu)買了一個(gè)名為86-DOS的系統(tǒng),這個(gè)系統(tǒng)由Tim Paterson開(kāi)發(fā),最初被稱為QDOS(Quick and Dirty Operating System)。
1981年:微軟將QDOS改良后,重新命名為MS-DOS,并授權(quán)給IBM。IBM將其與IBM PC一同發(fā)布,并將其命名為PC-DOS。
MS-DOS是一個(gè)命令行界面的操作系統(tǒng),用戶需要通過(guò)鍵入命令來(lái)執(zhí)行操作。它支持基本的文件管理、內(nèi)存管理和程序執(zhí)行功能。
1980年代:MS-DOS隨著IBM PC的普及而迅速擴(kuò)展,成為當(dāng)時(shí)市場(chǎng)上的主導(dǎo)操作系統(tǒng)。微軟隨后推出了多個(gè)版本,逐步增加了更多功能,如高級(jí)文件系統(tǒng)支持、網(wǎng)絡(luò)功能和國(guó)際化支持等。
1990年代:隨著圖形用戶界面的興起,尤其是微軟自己的Windows操作系統(tǒng)的普及,MS-DOS的重要性開(kāi)始下降。Windows最初作為運(yùn)行在MS-DOS之上的圖形界面程序推出,但逐漸發(fā)展成為完全獨(dú)立的操作系統(tǒng)。
MS-DOS自1981年首次發(fā)布以來(lái),經(jīng)歷了多個(gè)版本的更新:
MS-DOS 1.0(1981年):首個(gè)官方版本,支持基本的磁盤操作和文件管理。 MS-DOS 1.25(1982年):引入了對(duì)新型硬件的支持。 MS-DOS 2.0(1983年):增加了對(duì)硬盤和目錄結(jié)構(gòu)的支持,改進(jìn)了文件系統(tǒng)。 MS-DOS 2.11(1983年):進(jìn)一步改善硬件支持和國(guó)際化功能。 MS-DOS 3.0(1984年):引入了對(duì)1.2 MB軟盤的支持。 MS-DOS 3.1(1984年):添加了對(duì)網(wǎng)絡(luò)功能的支持。 MS-DOS 3.2(1986年):增加了對(duì)720 KB軟盤的支持。 MS-DOS 3.3(1987年):提升了對(duì)硬盤的支持,擴(kuò)展了文件系統(tǒng)。 MS-DOS 4.0(1988年):首次引入了圖形用戶界面元素,改進(jìn)了內(nèi)存管理和磁盤工具。 MS-DOS 4.01(1988年):修復(fù)了4.0版本中的一些問(wèn)題。 MS-DOS 5.0(1991年):重大更新,提供了更高的內(nèi)存利用率,引入了全新的用戶界面和高級(jí)編輯器。 MS-DOS 6.0(1993年):加入了磁盤壓縮和殺毒工具。 MS-DOS 6.2(1993年):進(jìn)一步提升了磁盤工具。 MS-DOS 6.22(1994年):最后一個(gè)廣泛使用的版本,增強(qiáng)了穩(wěn)定性和兼容性。 MS-DOS 7.0(1995年):隨Windows 95一同發(fā)布,不單獨(dú)發(fā)行。 MS-DOS 7.1(1997年):支持FAT32文件系統(tǒng)。 MS-DOS 8.0(2000年):隨Windows ME發(fā)布,主要用于啟動(dòng)和安裝系統(tǒng)。
早在2018年,微軟已經(jīng)開(kāi)源了v1.25、v2.0兩個(gè)版本,本次新增了v4.0版本:
MS-DOS操作系統(tǒng)主要是由匯編語(yǔ)言編寫的,雖然是16位實(shí)模式時(shí)代的匯編,但對(duì)程序員們,尤其是在校的大學(xué)生們來(lái)說(shuō),仍然是學(xué)習(xí)計(jì)算機(jī)的寶貴學(xué)習(xí)資料。
比如在這份代碼中,有系統(tǒng)啟動(dòng)boot匯編:
有系統(tǒng)調(diào)用分發(fā)表:
除了系統(tǒng)內(nèi)核代碼,還有很多命令行程序的源代碼也在這里:
這里面除了匯編,還有不少用C語(yǔ)言編寫的程序,比如查看系統(tǒng)內(nèi)存使用情況的MEM命令的代碼;
PS:發(fā)現(xiàn)了一個(gè)亮點(diǎn):
說(shuō)到開(kāi)源,其實(shí)微軟已經(jīng)不是第一次了,就連Windows操作系統(tǒng)都曾經(jīng)有開(kāi)源的版本W(wǎng)RK。
該說(shuō)不說(shuō),微軟工程師的代碼寫得那真叫一個(gè)漂亮,不管是WRK還是本次開(kāi)源的MS-DOS,這里面的代碼,不管是設(shè)計(jì)思想還是代碼風(fēng)格都是我輩程序員學(xué)習(xí)的榜樣。
快來(lái)感受一下三十多年前的程序員大佬們的作品吧!
地址:https://github.com/microsoft/MS-DOS
