IT之家 10 月 31 日消息,今年正值 Windows 95 誕生 30 周年,在當(dāng)時(shí),開(kāi)發(fā) Windows 95 是一項(xiàng)復(fù)雜且時(shí)間緊迫的任務(wù)。而當(dāng)微軟工程師著手把全新用戶界面移植到 Windows NT 時(shí),挑戰(zhàn)進(jìn)一步加大。
當(dāng)?shù)貢r(shí)間 10 月 28 日,微軟老將 Raymond Chen 在最新一篇 Old New Thing 博客文章中解釋道,Windows NT 與面向消費(fèi)者的 Windows 95 在起源與定位上大相徑庭;當(dāng)時(shí)微軟有一支團(tuán)隊(duì)負(fù)責(zé)開(kāi)發(fā) Windows 95,另一支團(tuán)隊(duì)則收尾 Windows NT 3.1 的工作。



兩大平臺(tái)在準(zhǔn)備 Windows NT 4.0 時(shí)開(kāi)始走向融合,開(kāi)發(fā)者將已經(jīng)“完成”的 Windows 95 代碼作為移植目標(biāo),并且 Windows 95 的用戶界面團(tuán)隊(duì)與 NT 團(tuán)隊(duì)保持定期溝通,以便同步最新進(jìn)展。
在 1995 年,Windows 95 的圖形界面仍屬前沿設(shè)計(jì),旨在讓人機(jī)交互更直觀、更易上手。微軟決定把這套界面帶到 NT 平臺(tái),通過(guò) Windows NT 4.0 將兩者合并。此舉具有“里程碑”意義,為后續(xù) Windows 2000 工作站系統(tǒng)打下了基礎(chǔ)。
IT之家從博客獲悉,Windows NT 團(tuán)隊(duì)在 Windows 95 項(xiàng)目進(jìn)入收尾階段時(shí)開(kāi)始對(duì) Win9x 界面進(jìn)行調(diào)整。兩套系統(tǒng)的窗口管理器都源自 Windows 3.1,共享許多核心設(shè)計(jì)理念;NT 開(kāi)發(fā)者的任務(wù)是解決兩個(gè)代碼庫(kù)之間出現(xiàn)的差別。由于不能直接把 Windows 95 的代碼合并到 NT,開(kāi)發(fā)者以 Windows 95 代碼為藍(lán)本,在 NT 中重新實(shí)現(xiàn)相同功能。
資源管理器和其他“user-model”組件的移植則相對(duì)簡(jiǎn)單:開(kāi)發(fā)者導(dǎo)入現(xiàn)有代碼、按 Windows NT 的規(guī)范更新,并結(jié)合 NT 的特性比如對(duì) Unicode 文件名的支持進(jìn)行集成。
開(kāi)發(fā)者對(duì) NT 版本的移植效果很滿意,并決定把這些改進(jìn)回寫到 Windows 95 的代碼庫(kù);回寫時(shí)只需用#ifdef WINNT 指令標(biāo)記出 NT 專有部分,以便在構(gòu)建 Windows 95 時(shí)讓編譯器能夠忽略這些內(nèi)容。
1990 年代,微軟使用名為 Source Library Manager 的系統(tǒng)管理內(nèi)部源代碼;工程師們甚至因?yàn)橥浛s寫原意而戲稱其為“slime”。該工具不具備現(xiàn)代化的分支功能,因此開(kāi)發(fā)者需要通過(guò)逐個(gè)更新被修改源文件的方式,把 Windows 95 與 Windows NT 之間的更改手動(dòng)復(fù)制過(guò)去。
Raymond Chen 自稱懷疑這一手動(dòng)流程在很大程度上被自動(dòng)化了,然而并不像一次 git merge 那樣簡(jiǎn)單。
最后,Raymond Chen 指出,負(fù)責(zé)把 Windows 95 shell 移植到 Windows NT 的團(tuán)隊(duì)中有 Dave Plummer。Dave Plummer 同樣是雷德蒙德的資深工程師,他在 Windows 歷史上有多項(xiàng)重要貢獻(xiàn),包括設(shè)計(jì)最初的 Windows 產(chǎn)品激活系統(tǒng)。該系統(tǒng)后來(lái)被泄露的 FCKGW 批量許可密鑰繞過(guò),而廣為人知。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。