當前位置: 華文世界 > 數碼

MS-DOS作業系統源碼開源啦

2024-05-01數碼

這兩天逛GitHub的時候,突然發現一個叫 MS-DOS 的專案沖到Trending榜首了!

定睛一看,微軟官方啊,搜了一下才知道,原來前兩天,微軟把MS-DOS 4.0系統開源了!

關於這個系統,估計現在很多程式設計師都不知道了,或者只在古老的教科書上看過這玩意兒。

MS-DOS,全稱為 Microsoft Disk Operating System ,是一款由微軟開發的作業系統。它主要用於個人電腦,並且在1981年至1990年代早期成為了最流行的作業系統之一。MS-DOS的歷史與早期個人電腦的發展緊密相關,具有重要的歷史意義。

1980年代初期:IBM計劃推出其第一台個人電腦,即IBM PC。IBM最初沒有自己的作業系統,因此與微軟達成協定,由微軟提供作業系統。微軟當時並沒有自己的磁盤作業系統,因此它從另一家公司 Seattle Computer Products 購買了一個名為86-DOS 的系統,這個系統由Tim Paterson 開發,最初被稱為QDOS(Quick and Dirty Operating System) 。

1981年:微軟將QDOS改良後,重新命名為 MS-DOS ,並授權給IBM。IBM將其與IBM PC一同釋出,並將其命名為PC-DOS 。

MS-DOS是一個命令列界面的作業系統,使用者需要透過鍵入命令來執行操作。它支持基本的檔管理、記憶體管理和程式執行功能。

1980年代:MS-DOS隨著IBM PC的普及而迅速擴充套件,成為當時市場上的主導作業系統。微軟隨後推出了多個版本,逐步增加了更多功能,如高級檔案系統支持、網絡功能和國際化支持等。

1990年代:隨著圖形化使用者介面的興起,尤其是微軟自己的Windows作業系統的普及,MS-DOS的重要性開始下降。Windows最初作為執行在MS-DOS之上的圖形界面程式推出,但逐漸發展成為完全獨立的作業系統。

MS-DOS自1981年首次釋出以來,經歷了多個版本的更新:

MS-DOS 1.0(1981年):首個官方版本,支持基本的磁盤操作和檔管理。

MS-DOS 1.25(1982年):引入了對新型硬件的支持。

MS-DOS 2.0(1983年):增加了對硬碟和目錄結構的支持,改進了檔案系統。

MS-DOS 2.11(1983年):進一步改善硬件支持和國際化功能。

MS-DOS 3.0(1984年):引入了對1.2 MB軟碟的支持。

MS-DOS 3.1(1984年):添加了對網絡功能的支持。

MS-DOS 3.2(1986年):增加了對720 KB軟碟的支持。

MS-DOS 3.3(1987年):提升了對硬碟的支持,擴充套件了檔案系統。

MS-DOS 4.0(1988年):首次引入了圖形化使用者介面元素,改進了記憶體管理和磁盤工具。

MS-DOS 4.01(1988年):修復了4.0版本中的一些問題。

MS-DOS 5.0(1991年):重大更新,提供了更高的記憶體利用率,引入了全新的使用者介面和高級編輯器。

MS-DOS 6.0(1993年):加入了磁盤壓縮和防毒工具。

MS-DOS 6.2(1993年):進一步提升了磁盤工具。

MS-DOS 6.22(1994年):最後一個廣泛使用的版本,增強了穩定性和相容性。

MS-DOS 7.0(1995年):隨Windows 95一同釋出,不單獨發行。

MS-DOS 7.1(1997年):支持FAT32檔案系統。

MS-DOS 8.0(2000年):隨Windows ME釋出,主要用於啟動和安裝系統。

早在2018年,微軟已經開源了v1.25、v2.0兩個版本,本次新增了v4.0版本:

MS-DOS作業系統主要是由組合語言編寫的,雖然是16位元真實模式時代的組譯,但對程式設計師們,尤其是在校的大學生們來說,仍然是學習電腦的寶貴學習資料。

比如在這份程式碼中,有系統啟動boot組譯:

有系統呼叫分發表:

除了系統內核程式碼,還有很多命令列程式的原始碼也在這裏:

這裏面除了組譯,還有不少用C語言編寫的程式,比如檢視系統記憶體使用情況的MEM命令的程式碼;

PS:發現了一個亮點:

說到開源,其實微軟已經不是第一次了,就連Windows作業系統都曾經有開源的版本WRK。

該說不說,微軟工程師的程式碼寫得那真叫一個漂亮,不管是WRK還是本次開源的MS-DOS,這裏面的程式碼,不管是設計思想還是程式碼風格都是我輩程式設計師學習的榜樣。

快來感受一下三十多年前的程式設計師大佬們的作品吧!

地址:https://github.com/microsoft/MS-DOS