![]()
整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
當一個系統徹底退出歷史舞臺,它的命運通常只有兩個:被遺忘,或者被封存。但微軟選了第三條路——把它開源出來。
如今恰逢 86-DOS 1.00 誕生 45 周年,微軟最新宣布:把目前已發現的最早 DOS 源代碼整理并公開發布。
![]()
地址:https://github.com/DOS-History/Paterson-Listings
這批源碼的公開,不僅為大眾揭開了初代操作系統的開發面紗,也還原了最早期的研發現場。微軟在公告中也坦言:這些內容的意義,不只是讓代碼重見天日,更是為了讓這些在計算機歷史上有分量的系統軟件,能夠被研究、被保存,當然,也可以單純滿足一下人們的好奇心。
![]()
86-DOS,微軟帝國崛起的奇點
回看歷史,PC-DOS 1.00 的問世,是一個關鍵節點。它是專為 IBM PC 打造的首個 DOS 版本,也正是從這一刻起,微軟逐漸走向了個人計算機時代的核心位置。
可是,這款操作系統最初卻并不是微軟從零開發的。
彼時在“微軟”這個名字正式確立之前,比爾·蓋茨就已經在為早期計算機編寫 BASIC 解釋器了。那時候的微軟,還更像一家“語言工具公司”,而不是操作系統公司。
微軟最早參與商業化推進的操作系統之一,其實也并不是 DOS,而是基于 Unix 的 Xenix,但它更多以授權與 OEM 合作的形式存在。
轉折點出現在 1980 年。
當時 IBM 計劃入局桌面 PC 市場,也就是后來的 IBM PC,急需一套專屬操作系統,于是他們找到了微軟。
在此之前,行業主流操作系統為 CP/M,IBM 最初的合作目標也并非微軟,而是 CP/M 的研發廠商數字研究公司(Digital Research)。但雙方的合作談判最終破裂,數字研究公司不愿配合 IBM 嚴苛的保密協議要求,同時無法跟上 IBM 的研發工期,拒絕快速適配 16 位硬件架構的系統版本,這讓 IBM 陷入了無系統可用的困境,也為微軟迎來了絕佳的機會。
然而,問題在于:當時的微軟手里并沒有合適的系統。
理論上,微軟擁有 AT&T 的 Unix 授權,可以開發 Xenix,但由于微軟購買的授權協議限制使其無法直接移植到 IBM PC 使用的 x86 架構上。
這就把微軟推到了一個很現實的選擇面前:要么從頭開發,要么想辦法“快速得到一套系統”。
不難想象,從頭開發操作系統周期過長,IBM 等不起,微軟也來不及。
就在此時,微軟團隊注意到西雅圖計算機產品公司(SCP)的 Tim Paterson 之前曾開發過一臺基于 8086 的原型計算機,在等待 CP/M 被移植到 8086 架構期間,他為該平臺編寫了一個簡易的 16 位操作系統。Paterson 將其稱為 QDOS(Quick and Dirty Operating System)。
![]()
據微軟聯合創始人保羅·艾倫后來回憶,這個系統全部代碼規模只有 6K。(后來它被改名為 86-DOS,有時也被稱為 SCP-DOS。)
隨后,微軟聯系 SCP 的老板 Rod Brock,以 1 萬美元獲得 QDOS 授權,并約定每授權一家公司使用,還需支付 1.5 萬美元版稅。
后來在《Big Blues: The Unmaking of IBM》一書中,有記錄提到,蓋茨向 IBM 高層介紹了 QDOS,并將其提供給 IBM。當時 IBM 高層提了一個問題:“你們想自己買下它,還是讓我來買?”由于 IBM 已經決定采用開放架構,他們更傾向于讓微軟來收購 QDOS。
此外,IBM 高層還表示:“如果是我們自己買這個軟件,我們可能會把它搞砸。”隨后,蓋茨、史蒂夫·鮑爾默以及微軟的 Bob O’Rear 在佛羅里達州博卡拉頓與 IBM 會面,并達成協議,由微軟負責協調 PC 的軟件開發流程。
據外媒報道,在當年 11 月簽署的合同中,IBM 同意向微軟支付總計 43 萬美元,其中包括 4.5 萬美元用于后來被稱為 DOS 的系統,31 萬美元用于各種 16 位編程語言,以及 7.5 萬美元用于“適配、測試與咨詢服務”。
值得注意的是,IBM 原本預計微軟會要求更高的前期費用,甚至可能按每份拷貝收取版稅。但微軟選擇的策略卻是保留將 DOS 銷售給其他公司的權利。
1981 年 5 月,Tim Paterson 離開 SCP 并加入微軟。同年 7 月 27 日,艾倫與 Brock 簽署協議,以 5 萬美元將 DOS 完整出售給微軟,并附帶語言產品升級的優惠條款。
此后,微軟基于自帶 CP/M 風格應用程序接口的 86-DOS 進行改造,最終在 1981 年 8 月,推出了 IBM 定制版 PC-DOS 1.0。
同時,微軟保留了獨立發售授權,可面向其他兼容 PC 廠商推出自有版本 MS-DOS。
事實證明,這一決定極為關鍵,因為以 MS-DOS 名義推出的操作系統,很快成為微軟成功的核心基礎,直接奠定了微軟此后數十年的行業統治地位。
![]()
DOS 不同版本的開源
放在當時來看,這無疑是一場豪賭。
以如今的標準衡量,初代 DOS 功能極度簡陋:僅支持 160KB 軟盤運行,沒有子目錄功能,也無法適配硬盤。
但它依舊成為了基石,支撐著 MS-DOS 系列在八九十年代長期壟斷 PC 操作系統市場。
在此之前,當代開發者能接觸到的最早 DOS 版本,是微軟在 2014 年向計算機歷史博物館開放、并于 2018 年上傳至 GitHub 的 MS-DOS 1.25 與 2.0。之后又有 等歷史版本陸續開源,逐步拼出了早期 PC 系統的發展軌跡。
可以看到,微軟這幾年在做一件很明確的事情:逐步把曾經封閉的軟件歷史轉化為可研究的公共資料。
不過,2014 年微軟首次公開早期 MS-DOS 源碼時,授權協議限制非常嚴格,僅允許非商業研究、教學和實驗用途,禁止二次開發。而后來 GitHub 上的版本改為 MIT 協議,允許自由修改、復用與分發。
這一次的 PC-DOS 1.00,同樣采用 MIT 協議,相當于把 PC 時代最早的源頭也補齊了。
![]()
這次到底開源了什么?
此次微軟并非只是把一個老版本系統丟上 GitHub 上,更像是一整套“開發現場記錄”。
其中開源的內容包括:
86-DOS 1.00 的完整內核源碼,這是整個 DOS 家族的源頭;
多個 PC-DOS 1.00 內核的開發快照,可以理解為那個年代的“階段性提交記錄”;
以及像 CHKDSK 這樣的經典工具程序。
![]()
這些資料并不只是“傳統意義上的操作系統版本”。在很多情況下,它們記錄的是某個時間點的開發狀態,甚至包含 Tim Paterson 手寫的注釋。其中不僅有匯編代碼的打印稿,甚至連“匯編器本身”的源碼清單也在其中。
這讓我們得以看到一個非常難得的視角:MS-DOS / PC-DOS 當年是如何一步步被寫出來的——不是事后整理的版本,而是開發當時真實發生的過程。
據微軟透露,后來由 Yufeng Gao 和 Rich Cini 帶領的一支歷史保護團隊,把這些資料重新“救活”:掃描、OCR 轉錄、技術校驗,再加上法律審核,一步步把這套資料變成今天可以閱讀、可以研究的形式。
最終,這些內容被整理進 DOS-History/Paterson-Listings 倉庫,并通過 MIT 協議開放出來。
讀這些東西,有點像在翻一份“Git 代碼庫的提交歷史記錄”。你可以了解某個功能是什么時候加進去的,出現過哪些 bug,又是怎么被修復的。
而那些最原始的打印稿,也沒有消失——Tim Paterson 已經把它們捐贈出來,未來會在 Interim Computer Museum(計算機博物館)展出。
![]()
![]()
45 年前的代碼在今天還有意義嗎?
可能有人覺得,幾十年前的命令行系統早已被圖形界面取代,開源這些代碼有什么意義?
但恰恰因為“夠早”,它的價值反而更清晰。
首先,這是最接近“開發現場”的計算機歷史資料。相比后來整理過的版本,這些帶著批注和修改痕跡的源碼,真實記錄了當時的工程方式:在極其有限的硬件條件下,如何一步步實現功能、定位問題、修復錯誤。它呈現的不是結果,而是過程。
其次,它補全了一段關鍵行業史。從 MS-DOS 1.25、2.11,到 4.0,再到 86-DOS 1.00,微軟正在逐步拼出個人計算機早期操作系統的發展全貌。這不僅是微軟的歷史,也是整個軟件工業的歷史。
最后,對今天的開發者來說,這是一種非常直接的“對照參照”。在沒有高級語言框架、沒有自動內存管理的年代,每一行代碼都來自對資源極限的權衡。這種約束下的工程思路,反而顯得格外清晰。
軟件會被替代,系統會被更新,這是行業的常態。但那些最早的嘗試,并不會因此失去意義。
參考:
https://github.com/DOS-History/Paterson-Listings
https://www.zdnet.com/article/microsoft-open-sources-dos-1-0-much-more-than-the-code/
https://au.pcmag.com/operating-systems/88773/the-rise-of-dos-how-microsoft-got-the-ibm-pc-os-contract
加入AMD AI 開發者計劃與全球極客共筑開源
加入即領 50 小時免費云算力
進群抽顯卡、AIPC,好運不停
活動與工作坊,早鳥名額優先鎖定
AMD Al Academy 官方課程,加速
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.