Windows 95

Windows 95 是微軟於 1995 年推出的電腦作業系統。Windows 95 是一個混合的 16 位 / 32 位 Windows 系統，是 Windows 9x 系列的第一代產品，其版本號為 NT4.0，開發代號為 Chicago。於 1995 年 8 月 15 日發行給製造商（RTM），並於 1995 年 8 月 24 日發行零售版。

Windows 95 整合了微軟之前獨立的 MS-DOS 和 Windows 作業系統，並在其前身的基礎上進行了重大改進，最顯著的是對圖形使用者介面的重要的改進和和簡化的 “即插即用” 特性。作業系統的核心元件也進行了重大更改，例如從主要為協作式多工的 16 位架構轉變為搶佔式多工的 32 位架構；拋棄了對前一代 16 位 x86 的支援，因此它要求英特爾的 80386 處理器或者在保護模式下運行於一個相容的速度更快的處理器。同時也是第一個特別捆綁一個版本的 DOS 的視窗版本（MS-DOS 7.0）。這樣，微軟就可以保持由 Windows 3.x 建立起來的 GUI 市場的統治地位，同時使得沒有非微軟的產品可以提供對系統的底層操作服務。也就是說，Windows 95 具有雙重的角色。它帶來了更強大的、更穩定、更實用的桌面圖形使用者介面，同時也結束了桌面作業系統間的競爭。

歷史

Windows 95 以強大的攻勢進行釋出，包括商業性質的滾石樂隊的歌曲《Start Me Up》。很多沒有電腦的顧客受到宣傳的影響而排隊購買軟體，有些人甚至不知道 Windows 95 是什麼。

後來的 Windows 95 版本附帶了 Internet Explorer 3，然後是 Internet Explorer 4。當 Internet Explorer 4 被整合到作業系統後，它將給系統帶來一些新特徵。Internet Explorer 被用來給系統的桌面提供 HTML 支援。這個也是在微軟的反托拉斯案中的焦點，因為整合後的 Internet Explorer 排擠了微軟的競爭對手網景的產品。Windows 95 的後續產品是 Windows 98。

版本

Windows 95 共有五種版本：

Windows 95 零售版（釋出日期 1995 年 8 月 24 日）
Windows 95 OEM Service Release 1（OSR1）（釋出日期 1996 年 2 月 14 日，包括 Windows 95 Service Pack 1）
Windows 95 OEM Service Release 2（OSR2）（釋出日期 1996 年 8 月 24 日，包括一些改良例如 IE 3.0 和 FAT32 的支援）
Windows 95 OEM Service Release 2.1（OSR2.1）（釋出日期 1997 年 8 月 24 日，包括基本 USB 和 AGP 的支援）
Windows 95 OEM Service Release 2.5（OSR2.5）（釋出日期 1997 年 11 月 26 日，包括以上版本多所有功能，另附 IE 4.0 與 DirectX 5.0）

OSR2、OSR2.1 和 OSR2.5 並沒有對公眾發行，而是由廠商預先安裝在電腦上。

架構

執行的一個或多個虛擬 DOS 計算機。虛擬驅動程式負責處理物理裝置（例如影片卡與網絡卡）、模擬虛擬機器所使用的虛擬裝置或提供各種系統服務。三個最重要的虛擬裝置驅動程式分別是：

虛擬機器管理器（Virtual Machine Manager / VMM32.VXD）

 負責記憶體管理、事件處理、中斷處理、載入和初始化虛擬裝置驅動程式、建立新虛擬機器以及執行緒排程。

配置管理器（Configuration Manager / CONFIGMG）

負責實現隨插即用功能、監控硬體配置變化、使用匯流排列舉器檢測裝置以及以無衝突的方式分配 I/O 埠、IRQ，DMA 通道和記憶體。

可安裝檔案系統管理器（Installable File System Manager）；輸入 / 輸出子系統（Input/Output Subsystem）

協調對支援的檔案系統的訪問。Windows 95 最初附帶支援 FAT12，FAT16，VFAT 擴充套件，ISO 9660（CDFS）和網路重定向器，而後期版本支援 FAT32。

對物理媒體的訪問請求被髮送到輸入 / 輸出管理器，由其負責排程請求。每個物理介質都有自己的裝置驅動程式：訪問磁碟由埠驅動程式執行；訪問 SCSI 裝置則由在 SCSI 層上運作的微型埠驅動程式處理。埠與微型埠驅動程式繞過 MS-DOS 和 BIOS，以 32 位保護模式執行讀寫操作，從而顯著提高效能。若儲存裝置沒有原生 Windows 驅動程式，或者裝置被強制以相容模式執行，則 “真實模式對映器”（Real Mode Mapper）可以透過 MS-DOS 訪問此儲存裝置。

32 位 Windows 程式能夠自行分配記憶體段，且記憶體段的大小可以任意調整。程式無法訪問段外的儲存區。 某個程式崩潰並不會使其他程式收到損壞。而在此之前，程式會使用固定的非獨佔 64KB 段。雖然 64KB 大小是 DOS 和 Windows 3.x 系統的嚴重障礙，但缺乏對排他性的保證是造成穩定性問題的原因，因為程式有時會彼此覆蓋記憶體段。在 Windows 3.x 中，崩潰的程式會破壞其記憶體段周圍的程序。

Win32 API 由三個模組實現，每個模組由一個 16 位和一個 32 位元件組成：

 核心

 提供對記憶體和程序管理的高階訪問，以及對檔案系統的訪問。 由 KRNL386.EXE、KERNEL32.DLL 和 VWIN32.VXD 組成。

 使用者

 負責管理和繪製使用者介面元件，如視窗、選單和按鈕。 由 USER.EXE 和 USER32.DLL 組成。

 圖形裝置介面（GDI）

 負責以獨立於裝置的方式繪製圖形。 由 GDI.EXE 和 GDI32.DLL 組成。

3.1 對 MS-DOS 的依賴

對於終端使用者來說，MS-DOS 是 Windows 95 的底層元件，例如使用者可以阻止載入圖形使用者介面並將系統引導到真實模式 MS-DOS 環境中。這引發了使用者和專業人士之間程度不小的爭論：Windows 95 究竟是作業系統，還是僅僅在 MS-DOS 上執行的圖形外殼。

在啟動圖形使用者介面時，虛擬機器管理器會接管與檔案系統和磁碟相關的功能。MS-DOS 本身被降級為 16 位裝置驅動程式的相容層。這與依賴於 MS-DOS 執行檔案和磁碟訪問的 Windows 早期版本形成對比（Windows for Workgroups 3.11 在啟用 32 位檔案及磁碟訪問時也能夠在很大程度上繞過 MS-DOS）。將 MS-DOS 保留在記憶體中允許 Windows 95 在合適的 Windows 驅動程式不可用時使用 DOS 裝置驅動程式。Windows 95 能夠使用所有 16 位 Windows 3.x 驅動程式。

與 Windows 3.1x 不同，在 Windows 95 中執行的 DOS 程式不需要為滑鼠、CD-ROM 及音效卡載入 DOS 驅動程式，而是使用 Windows 驅動程式。啟動 Windows 95 仍然需要 HIMEM.SYS，但 EMM386 和其他記憶體管理器僅由舊版 DOS 程式所使用。此外，CONFIG.SYS 和 AUTOEXEC.BAT 的設定對 Windows 程式沒有影響（除 HIMEM.SYS 外）。無法在 Windows 3.x 上執行的 DOS 遊戲可以在 Windows 95 中執行（遊戲往往會將 Windows 3.x 鎖定或導致其他問題）。與 Windows 3.x 一樣，使用 EGA 或 VGA 圖形模式的 DOS 程式會在視窗模式下執行（CGA 和文字模式程式可以繼續以全屏模式執行）。

要啟用 Windows 95 的 MS-DOS 元件，可以在啟動 Windows 95 之前按下鍵暫停預設啟動過程並顯示 DOS 啟動選項選單，由此允許使用者繼續正常啟動 Windows、以安全模式啟動 Windows 或開啟 DOS 提示符。此時系統與早期版本的 MS-DOS 一樣沒有 32 位支援，必須為滑鼠和其他硬體載入 DOS 驅動程式。

由於 Windows 95 基於 DOS 開發，Windows 95 必須保持內部 DOS 資料結構與的資料結構同步。即使是原生 32 位 Windows 程式，啟動程式時 MS-DOS 也會被短暫執行以建立稱為 “程式段字首” 的資料結構。MS-DOS 甚至可能會在執行此操作時耗盡常規記憶體，從而阻止程式啟動，而 Windows 3.x 首先在常規記憶體中分配固定段。由於記憶體段是固定分配的，Windows 無法移動這些記憶體段，從而導致無法啟動更多的程式。

Microsoft 在 Windows 95 OSR2（OEM Service Release 2）中部分刪除了對檔案控制塊（DOS 1.x 和 CP/M 的 API 保留）的支援。FCB 功能可以讀取但無法寫入 FAT32 卷。