由于IBM的抵制,Windows 1.0并没有很快流行起来。或许为了掩盖Windows的兴趣,微软加入了IBM OS/2操作系统的开发,并将其演变成OS/2的Presentation Manager显示管理器,然而1987年12月时OS/2 1.0推出的时候并没有附带这个显示管理器,直到OS/2 1.1版本才具有。同样在87年12月9日,微软推出了Windows 2.0,这个系统的后期版本开始基于新的80286/386处理器开发,老的Windows 1.0则基于老的8086/8088处理器。
Microsoft Windows 2.0,1987年
Windows 2.0:最小化与最小化按钮开始出现
在硬件支持上,Windows开始追赶硬件的发展,很快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使用。
Microsoft Windows/286,又名Windows 2.1,1988年
到了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带来的另一个基础但是深刻的变化。