西西河

主题:请教个问题 -- 猫元帅

共:💬31 🌺1
全看分页树展 · 主题 跟帖
家园 这个问题说起来挺复杂。我就长话短说把。

首先,NT是New Technology的缩写。16位和32位区别主要在于:

1)内存寻址能力。16位的操作系统只能寻址一兆(0到2的16次方减1)。那么多余一兆的内存怎么使用呢?DOS,WINDOWS 3.X使用了扩展内存和扩充内存的方式来使用一兆以上的内存空间。这好像转轮手枪一样,弹槽不停的转,转到枪筒后面的就可以被发射出去。Win9x的内存管理是32位的,不存在这种“别扭”。Winnt/win2000/XP/2003是纯32位的,不使用任何“把戏”就可以寻址4GB内存。超过4GB怎么办,Intel Xeon有一些“把戏”,可以使32位OS寻址36GB。这对于大型服务器非常重要。64位OS可以寻址0到2的64次方减1,大的不可思议!

2)硬盘管理。16位的操作系统只能寻址一兆的硬盘单位。如果硬盘为512MB,那么每个硬盘单位(簇)就是512byte。随着硬盘越来越大,簇也越来越大。这使得硬盘效率非常的低,浪费惊人。因为不管如何,最小的文件也要使用一个簇。32位OS就没有这个问题。TB(1000GB)以下的硬盘驾轻就熟。

3)稳定性。NT开始,OS有了严格的进程保护。Kenel Sapce和User Space开始彻底分离。User Space内的用户应用程序也相互隔离。一个用户应用程序的崩溃影响应该是他自己,不会殃及他人。用户应用程序的崩溃也不会影响到系统核心。用户对系统资源的访问必须通过System call。我们不能直接操作硬件资源。学过Unix的就知道我再说什么了

以上者三点基本分开了32位和16位以及16/32混合型操作系统。当然,NT还有很多其他的新技术,比如说安全性,占先式多线程,新的驱动程序模式等等等等。

懒得写了,你们有问题我在一一解释吧!

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河