Windows 95

Windows 95是微軟於1995年推出的電腦作業系統。Windows 95是一個混合的16位/32位Windows系統，是Windows 9x系列的第一代產品，其版本號為4.0，開發代號為Chicago。於1995年7月14日發行給製造商（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並沒有對公眾發行，而是由廠商預先安裝在電腦上。

## 架構

<image>

Windows 95的架構由Windows for Workgroups的386增強模式演變而來，旨在最大程度地兼容現有的MS-DOS和16位Windows程序與設備驅動程序，同時提供更穩定和更出色的系統性能。Windows 95的最低運作水平包括以32位保護模式運行的大量虛擬設備驅動程序（VxD）以及以虛擬8086模式運行的一個或多個虛擬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組成。

### 對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之前按下F8鍵暫停默認啟動過程並顯示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卷。

## 基本資料

- 作業系統家族：Microsoft Windows
- 開發者：微軟公司
- 網站： www.microsoft.com/windows95
- 源碼模式：不開放原始碼
- 許可證：微軟最終使用者許可協議
- 支援平台：IA-32
- 內核類別：集成式內核
- 發布日期：1995年7月14日
- 正式發售日期：1995年8月24日
- 前一代：Windows 3.1x（1992－1993）
- 後一代：Windows 98（1998）
- support_status：在2001年12月31日停止支持