改進基礎 基於Windows 2.0的改進
為了追趕硬體發展,很快Windows 2.0齣了286和386的特別版本,分別叫做Windows/286和Windows/386,版本2.1。286、386和8086/8088相比有什麼改進呢?
在1982年的80286處理器上,Intel引入了保護模式(Protected Mode),老的8086模式被稱為實模式(Real Mode)。實模式下只能訪問1MB的空間,進入保護模式後訪問空間擴大到16MB,80286上每個段的大小被限制為64KB。Windows 2.0x版本使用的是實模式,雖然Windows/286同樣基於實模式,不過它開始支持HMA(High Memory Area),從而將記憶體支持從普通實模式的640KB擴展到整個1MB。80286的保護模式沒有被Windows/286使用。
到了1985年的80386,Intel在
段暫存器 的基礎上構築新的保護模式:虛擬8086模式(Virtual 8086 Mode)並完善了80286的保護模式,後者被稱為386增強模式。在虛擬8086模式下可以虛擬出多個8086處理器,從而可以真正地同時執行多個實模式程式並對其進行簡單的保護。Windows/386利用了這個特性,將每一個應用程式都運行在這個模式下。同時Windows/386還引入了LIM EMS(Lotus,Intel,Microsoft Expanded Memory Specification)以利用超過1MB的記憶體。早期的EMS擴展驅動集成在Windows/386內,到了次年的MS-DOS 4.01才具有獨立的EMM386.SYS版本(1991年MS-DOS 5.0帶的
EMM386.EXE 是進一步改進的版本),EMM386通常和
HIMEM.SYS 一起使用。
從80286到80386,看起來只是處理器位數的變化,但實質上是處理器體系結構的變化,從定址方式上說,就是從“實模式”到“保護模式”/“虛擬8086模式”的變化。從80386開始之後的處理器,雖然速度和功能不斷提升,然而基本上屬於同一種系統結構的改進與加強,而無本質的變化,所以人們把80386以後的處理器統稱為IA32(32 Bit Intel Architecture)。我們後面還會繼續講到80386帶來的另一個基礎但是深刻的變化。
版本 如同現在每一代的Windows系統有無數的版本號一樣,Windows 2.1也有如下的版本號:
Windows/286 2.1 Microsoft Windows 2.1x
Microsoft Windows 2.1(發行日期:1988年5月27日)
Windows/286 2.1
Windows/386 2.1(即Windows/286的高級版)
Microsoft Windows 2.11(發行日期:1989年3月)
Windows/286 2.11
Windows/386 2.11(即Windows/286的高級版)
版本發行 為了跟進硬體的發展,Windows 2.1x發布有兩個不同的版本,兩個版本均被設計為可以支持使用於英特爾處理器的電腦。
Windows/286
Windows/286利用
HMA 技術來增加Windows程式可使用的記憶體容量,同樣以此為目的,該版本還推出了
HIMEM.SYS 的
DOS 驅動程式 。同樣,該版本還提供了對幾款擴展存儲器的支持,儘管這些支持與80286處理器並不相關。Windows程式的分段性質是相當適合的EMS的用法,只有當記憶體中的第一個
兆 位元組變為可見,代碼和數據的部分可以在接觸到“
實模式 ”程式中使用它們的程式給出的控制。微軟鼓勵用戶將他們的計算機設定為只有256KB的主記憶體,從256KB至640KB的地址空間則留下給EMS記憶體動態映射使用。
儘管名為Windows/286,但其能全面運行於8088或8086處理器上。而當一枚8086級的處理器上沒有高端記憶體區時,Windows/286便不會去使用,然而
EMS 仍然可供使用。一些PC廠商將Windows/286與8086的硬體搭配出售,例如IBM出品的PS/2 25型,它包含一項可選性包括“DOS4.00和Windows包”以面向教育市場,其中包括對學生十分有用的文字處理與演示軟體。
Windows/386
Windows/386比其前任更先進。在
圖形用戶界面 和應用程式作為虛擬8086模式的任務運行之上,它引入了保護模式的核心。它允許多個MS-DOS程式以“虛擬8086”CPU模式並行運行,而不是總是掛起成為後台應用程式。(Windows應用程式已經可以通過協作式多任務並行運行)在Windows啟動之前,每個DOS套用可以在占用幾千位元組記憶體以外分配到最低限度的空間。
Windows/386也支持EMS仿真,該功能使用80386的記憶體管理功能使RAM在使用超過640k以上後的行為類似於當時市面上流行的DOS應用程式所使用的僅能通過擴展卡提供的後備存儲器(通過將
COMMAND.COM 覆蓋WIN200.BIN檔案,就可以在不啟動Windows的圖形用戶界面的情況下載DOS中使用EMS仿真。)。由於不支持基於磁碟的
虛擬記憶體 ,所以多個DOS程式運行時會滿占可用的物理記憶體; 因此,微軟建議如有必要還是應當添置額外的記憶體和板卡。
無論是以如CEMM或者
QEMM 這樣的DOS記憶體管理器,還是DOS擴展程式,這些版本的系統都有自己的擴展記憶體管理且只能在保護模式下正常運行。在
Windows 3.0 中這個問題被最佳化,兼容在“標準模式”下的虛擬控制程式接口(VCPI),以及在“386增強”模式下的DOS保護模式接口(DPMI)(從Windows 3.0到
Windows 98 的所有版本中,EMM386中都有一個可以用來設定保護模式的漏洞)。Windows 3.0中也有使用DWEMM(
D irect
W rite
E nhanced
M emory
M odule,直接寫入增強型記憶體模組)的功能。這使得系統可以擁有更快、更時尚的圖形用戶界面,以及真正的擴展記憶體的支持。
Windows2.1
版本改動 Windows 2.11
1989年3月13日,微軟發布Windows2.11的Windows/286和Windows/386版本,該版本在記憶體管理、對AppleTalk的支持和快速列印以及印表機驅動升級等功能上做了一些小的改動。
Windows 2.11在1990年5月被
Windows 3.0 所取代,但微軟另外為其提供了12年的支持服務,直到2001年12月31日才結束支持服務。