微軟資深工程師 Raymond Chen 近日披露了 Windows 95 內部機制中的一項冷門功能:這款早期 32 位消費級操作系統內置了一種“秘密”快速重啟方式,用戶只需在通過圖形界面重啟系統時按住 Shift 鍵,就有機會比常規重啟更快回到桌面。該設計利用了當年極其復雜的系統架構,在提升啟動效率的同時,也偶爾會導致系統崩潰。
![]()
作為一款需要同時兼容 16 位 DOS 軟件、16 位 Windows 3.x 程序以及 32 位 Win32 應用的操作系統,Windows 95 在設計之初就背負了艱巨的向下兼容任務。開發團隊正是借助這一層疊式結構,在系統中埋入了某些“隱藏優化”,其中就包括這項極少為人知的快速重啟機制。
Chen 介紹,這一功能依賴于傳遞給 16 位 ExitWindows 函數的 EW_RESTARTWINDOWS 標志,而該函數本身是從 Windows 3.1 繼承而來,并在當年的微軟官方文檔中有所記載。根據他的描述,當該標志被觸發時,系統會按順序關閉 16 位 Windows 內核、關閉 32 位虛擬內存管理器,最后將 CPU 切換回實模式,以便為隨后的重啟做好準備。
所謂實模式,是所有 x86 兼容處理器(包括如今的多核 Intel 與 AMD CPU)最基礎的運行模式。像 Windows 95 這類 32 位操作系統會在啟動過程中把 CPU 從實模式切換到保護模式,以啟用內存管理和安全機制,而現代 64 位操作系統則運行在“長模式”(long mode)下,以利用 64 位指令集和寄存器資源。圍繞如何在這些模式間切換并保持兼容,多年來一直是 x86 架構設計中的核心難題之一。
值得一提的是,英特爾曾試圖通過名為 x86S 的精簡指令集架構,廢除 16 位實模式以及其他部分向后兼容特性,但相關計劃最終被叫停。按照 Chen 的說法,一旦 ExitWindows 函數將 CPU 拉回實模式,控制權就會交還給 win.com 可執行程序,由它來再次啟動 Windows 95,同時繞過完整冷啟動中那些繁瑣的硬件自檢流程,從而縮短整體啟動時間。
在當年動輒需要數分鐘才能進入圖形界面的 PC 時代,這種“快速重啟”在實際使用中很可能帶來不小幫助。文章作者回憶稱,自己早已把這項功能拋諸腦后——畢竟當年是直接從 MS-DOS 跳到了 Windows ME 和 XP,當時使用的奔騰 4 機器在當年已算“高性能”平臺。
作者嘗試在 PCem 虛擬機中復現這一流程時,卻得到了并不一致的結果:在 Windows 95 OSR 2.5 中,該功能完全沒有生效,而在 Windows 98 SE 環境下則表現正常。這也從側面印證了該機制在不同版本中的實現差異,以及整個 Win9x 系列內部行為的復雜性和不確定性。
Chen 進一步解釋,win.com 程序由匯編語言編寫,除了負責重新拉取系統外,還會執行額外的內存管理操作。其目標是盡可能釋放所有常規內存(conventional memory),從而留出一大塊連續的內存空間,用于在保護模式下裝載 Windows 95;一旦這一步失敗,常規內存會殘留碎片,win.com 就不得不退回到完整重啟流程。這種在兼容性、性能和穩定性之間艱難平衡的設計,也正是 Win9x 系列被視為“混亂卻迷人”的原因所在。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.