站内搜索
分类列表
本类阅读排行
本类推荐文章
广告
带你走进Windows系统的发展进化史
作者: 来源: 点击: 日期:2007-8-12 10:02:26
内存问题
Windows总是会使用可以找到的所有内存,同时当内存不够用的时候还会将硬盘空间当作“虚拟内存”来使用。但是Windows可以使用的内存数量受到了英特尔的处理器以及内存芯片价格的限制。
最初用于PC的8088和8086处理器只能寻址1MB的内存,而当时的PC架构导致只有其中的640KB可以被操作系统和程序使用。但是随着应用程序需要越来越多的空间以便能运行,解决这种限制的方法出现了。其中一个是EMS(Expanded Memory Specification,扩展内存规范),该技术使用了一块64KB的内存区域映射物理地址超过1MB地址线(Address Line)的更高容量的内存区域。最初该标准允许我们添加最多8MB的EMS内存,但是这些内存只能用来保存数据,程序依然无法从超过640KB的内存空间中运行。
另一种对立的标准是EEMS(Enhanced Expanded Memory Specification,增强的扩展内存规范),这种标准使得低于640KB地址线的内存可以被映射,这样应用程序就可以使用扩展的内存空间了。EMS和EEMS标准最终被合并为LIM EMS 4.0,微软在Windows 3.0中对该标准提供了支持。
80286处理器可以寻址16MB物理内存,但是只能在操作系统被引导为一种特殊的“保护模式”下才能实现,而这种情况下将无法运行MS-DOS。在保护模式下,超过1MB的内存被叫做“扩展内存”。在Windows/286中,微软使用了底层驱动在80286处理器的扩展内存空间中模拟扩展内存,这样这些控件就可以被应用程序使用了。
32位80386处理器具有更多的内存选项。Windows/386同时使用了保护模式和虚拟8086模式让MS-DOS实现多任务功能。
64位,苹果熟了?
在Windows XP的众多版本中,Windows XP Professional X64 Edition支持Intel和AMD的芯片使用的32位处理器架构上的64位扩展功能。该功能实际上意味着64位操作系统可以在同一台计算机上同时运行64位和32位的应用程序,不过前者可以访问到的内存地址空间要比32位的4GB大不少。
那么,我们是否都需要尽快迁移到64位Windows中?很遗憾的是,事情并不是那么简单。其中一个很重要的问题是,64位操作系统需要所有设备的驱动都重新编写为支持64位系统的形式,哪怕只有32位程序要使用这些驱动。这意味着很多设备都无法支持64位的Windows XP和Vista,而且除非这些设备制造商认为值得开发64位驱动,否则这些设备永远无法用在64位系统中。随后还有硬件要求方面的问题,不过目前看上去还不是很严重。虽然32位应用程序可以寻址4GB内存,不过大部分用户的计算机还只有1GB甚至更少的内存,这对64位运算来说还有点少。
目前看来,在64位Windows上,微软遇到的问题和当年在早期版本的Windows NT中遇到的问题基本类似:缺乏足够的应用程序,驱动支持有限,硬件要求超过大部分用户的接受范围或者实际需要。而且和Windows NT类似,64位Windows可能只适合运行在服务器以及高端系统,例如专门的图形工作站上,并使用专门的少数应用程序和驱动。64位市场正式活跃起来还要等很久。
Windows总是会使用可以找到的所有内存,同时当内存不够用的时候还会将硬盘空间当作“虚拟内存”来使用。但是Windows可以使用的内存数量受到了英特尔的处理器以及内存芯片价格的限制。
最初用于PC的8088和8086处理器只能寻址1MB的内存,而当时的PC架构导致只有其中的640KB可以被操作系统和程序使用。但是随着应用程序需要越来越多的空间以便能运行,解决这种限制的方法出现了。其中一个是EMS(Expanded Memory Specification,扩展内存规范),该技术使用了一块64KB的内存区域映射物理地址超过1MB地址线(Address Line)的更高容量的内存区域。最初该标准允许我们添加最多8MB的EMS内存,但是这些内存只能用来保存数据,程序依然无法从超过640KB的内存空间中运行。
另一种对立的标准是EEMS(Enhanced Expanded Memory Specification,增强的扩展内存规范),这种标准使得低于640KB地址线的内存可以被映射,这样应用程序就可以使用扩展的内存空间了。EMS和EEMS标准最终被合并为LIM EMS 4.0,微软在Windows 3.0中对该标准提供了支持。
80286处理器可以寻址16MB物理内存,但是只能在操作系统被引导为一种特殊的“保护模式”下才能实现,而这种情况下将无法运行MS-DOS。在保护模式下,超过1MB的内存被叫做“扩展内存”。在Windows/286中,微软使用了底层驱动在80286处理器的扩展内存空间中模拟扩展内存,这样这些控件就可以被应用程序使用了。
32位80386处理器具有更多的内存选项。Windows/386同时使用了保护模式和虚拟8086模式让MS-DOS实现多任务功能。
64位,苹果熟了?
在Windows XP的众多版本中,Windows XP Professional X64 Edition支持Intel和AMD的芯片使用的32位处理器架构上的64位扩展功能。该功能实际上意味着64位操作系统可以在同一台计算机上同时运行64位和32位的应用程序,不过前者可以访问到的内存地址空间要比32位的4GB大不少。
那么,我们是否都需要尽快迁移到64位Windows中?很遗憾的是,事情并不是那么简单。其中一个很重要的问题是,64位操作系统需要所有设备的驱动都重新编写为支持64位系统的形式,哪怕只有32位程序要使用这些驱动。这意味着很多设备都无法支持64位的Windows XP和Vista,而且除非这些设备制造商认为值得开发64位驱动,否则这些设备永远无法用在64位系统中。随后还有硬件要求方面的问题,不过目前看上去还不是很严重。虽然32位应用程序可以寻址4GB内存,不过大部分用户的计算机还只有1GB甚至更少的内存,这对64位运算来说还有点少。
目前看来,在64位Windows上,微软遇到的问题和当年在早期版本的Windows NT中遇到的问题基本类似:缺乏足够的应用程序,驱动支持有限,硬件要求超过大部分用户的接受范围或者实际需要。而且和Windows NT类似,64位Windows可能只适合运行在服务器以及高端系统,例如专门的图形工作站上,并使用专门的少数应用程序和驱动。64位市场正式活跃起来还要等很久。
带你走进Windows系统的发展进化史 评论
