Chinaunix首页 | 论坛 | 博客
  • 博客访问: 125162
  • 博文数量: 31
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 275
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-08 15:00
文章分类

全部博文(31)

文章存档

2009年(15)

2008年(16)

我的朋友

分类:

2009-03-25 22:07:04

内容取自《深入解析Windows操作系统》 电子工业出版社
 
Windows NT 和 Windows 95
 1.Windows NT支持多处理器系统 Windows95不支持
 2.Windows NT文件系统支持安全性(比如自主访问控制), Windows95文件系统不支持
 3.Windows NT是完全32位的操作系统——除了因为要运行16位Windows应用程序而提供的支持代码外,它不包含任何16位代码。 Windows 95则从Windows3.1和Dos继承了大量的16位代码
 4.Windows NT是完全可重入的。 Windows95有相当部分是不可重入的(主要是从Windows3.1继承过来的16位代码)。这些不可重入的代码包括大部分图形函数和窗口处理函数(GDI和USER)。在Windows 95中,当一个32位应用程序企图调用一个系统函数时,若这个系统函数位于不可重入的16位代码中,则该应用程序必须首先获得一个全局范围的锁(或互斥体),以阻止其他的线程则进入到不可重入的代码中。更糟的是,16位应用程序在运行的时候一直占着该锁。其结果是,虽然Windows 95的核心包含了一个抢先式的32位多线程调度器,但是应用程序通常运行在单线程下,因为Windows 95的系统的相当部分代码仍然是不可重入的。
 5.Windows NT提供了一种选择,让16位Windows应用程序运行在它们自己的地址空间中;而Windows95 则总是在一个共享的地址空间中运行16位Windows应用程序,在这个共享的地址空间中,这些程序相互影响,甚至一个程序破坏(和挂起)别的程序。
 6.在Windows NT上,进程共享的内存,只对那些影射了这一共享内存区的进程才是可见的。在Windows 95 中,所有共享的内存都是可见的,而且在任何一个进程内都可以写这些内存。因此,任何一个进程都可以改写或者破坏其他协作进程所使用的共享内存
 7.在Windows 95中,有一些关键的操作系统页面在用户模式下是可写的,从而允许一个用户程序破坏系统,或者使系统崩溃。
 
但是有一些事情,windows95可以做到,而基于Windows NT的系统无法做到,这就是运行所有老的MS-DOS和Windows3.1应用程序(特别是那些需要直接访问硬件的应用程序)以及16位DOS设备驱动程序。
 
但与DOS和Windows3.1 100%兼容是Windows 95的一个强制目标
而Windows NT的最终目标是,能够运行大多数原有的16位应用程,同时又不破坏系统的完整性和可靠性。
 
 
阅读(2331) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~