|
|
发表于 2006-4-12 01:58:21
|
显示全部楼层
286的保护模式不完善,这句话我部分同意。不过我个人认为,286上保护模式不流行,很大程度上是市场和需求的原因,而不是技术原因。当时PC机上对多任务多用户的需求很少,也不需要那么多的内存,实模式的DOS足够用了;等这个需求出来的时候,286也已经过时了,而且和广泛存在的DOS应用兼容性不好。
286其实具备了现代操作系统所需要的所有(说所有可能不太严密)功能,当时至少有两个流行的系统是可以跑保护模式了:Windows 3.0和Xenix。早两年还有人试图把Linux移植到286上去。这说明技术上并不是问题。
在我看来,从技术角度说,286比386缺少两个关键的东西,一个是分页机制,一个是vm86模式。虽然并不是必需的,但这两个特性给操作系统设计带来很大的方便,尤其是前者。不过要是说286和386的保护模式非常不同,这点我是不同意的。
至于UNIX,不要用现在的眼光去看过去的事情。UNIX开始也不是以稳定著称的,相反它是以能在很烂的机器上跑而闻名的。它最初的设计目的是在没人用的机器上玩游戏和字处理。这点似乎很类似几年前的Linux。PDP-11的早期型是没有MMU的(比如UNIX最早移植到的PDP-11/20),后来的型号是有的(PDP-11/45?)。我印象中看过D. Ritchie写过一篇文章,说他们给专利局作的基于UNIX的字处理系统的一个问题就是因为内存没有保护经常会当机,特别是开发程序时;他也展望新的PDP-11会解决这个问题。
不过好像讨论这些有些离题万里了。
Post by zhllg
有关286再多贴一点东西
The 8086 runs in only one mode - the real mode. When Intel engineers designed the 286, they wanted to support extra features that would be incompatible with the 8086. They also wanted to maintain 8086 compatibility. To satisfy these requirements, the 286 uses two modes - Real Mode and Protected Mode. Real mode, the default, makes the chip act like an 8086 with only minor enhancements. There is a huge difference when it comes to protected mode. Almost all programs designed to run on an 8086 won't run under protected mode without major changes. DOS is one of these programs.
The 386 has all the features of the 8086 and 286, with many more enhancements. The default, as in the earlier processors, is real mode. Like the 286, the 386 can operate in protected mode. However, the protected mode on 386 is vastly different internally. Protected mode on the 386 offers the programmer better protection and more memory than on the 286.
PDP-7 PDP-9看来是没有MMU的,不过PDP-11应该是有的
请看下面两个连接
http://mail-index.netbsd.org/tech-ports/1997/04/25/0001.html
http://www.core.org.cn/OcwWeb/El ... /address_spaces.htm
Lion注释的源代码应该是PDP-11的,是有保护模式的
经典的UNIX是多用户多任务的,以至于操作系统教科书里根本都不提PDP-7 PDP-9是无MMU的
UNIX是稳定的,而无MMU,保护模式的很容易crash的, 那样的UNIX我觉得实在不能算是UNIX
不过还是感谢woolzey和上面那位兄弟 |
|