中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 从微软源代码分析NT就是DOS(三)
作者:
标题: 从微软源代码分析NT就是DOS(三) 上一主题 | 下一主题
易道广大
初级用户




积分 128
发帖 7
注册 2004-4-16
状态 离线
『楼 主』:  从微软源代码分析NT就是DOS(三)

这一节想对DOS的使用者讲述什麽是Unix, 用最精简的叙述来含括

Unix的过去与现在, 不光是历史面, 且包括哲学面。这个企图是笔者

从Don Libes及Sandy Ressler合写的LIFE WITH UNIX这本书盗来的,

我将设法用最精简的文字来提出我个人的看法 (也就是偏见)。不满足

或不满意笔者的叙述的读者, 我建议您到图书馆或书店拿〃LIFE WITH

UNIX〃(ISBN 0-13-536657-7, Prentice Hall) 这本书来看, 这是笔

者见过讲UNIX历史ⅱ 发展ⅱ哲学及应用等等方面最好的书之一。假如

您想确切知道 Unix 年代记事ⅱUnix的标准等等, 或者多方面比较不

同记载的历史的话, 另外两篇文章您也不可错过, Eric S. Raymond

所着的〃PC-clone UNIX Software Buyer's Guide〃 (可以在

pit-manager.mit.edu /pub/usenet/comp.unix.bsd 档案库取得), 以

及 Unix常见问与答第六册 (Unix - Frequently Asked Questions

(6/7), 本文件可以在pit-manager.mit.edu /pub/usenet/comp.unix

/question档案库取得)。





    传说, Unix在1970年诞生於Bell实验室, 那时Bell实验室与AT&T

公司仍是一家人。



    Unix最初的版本是用组合语言写的, 之後又以C语言改写。大约在

最初的五年左右, Unix是一个只限於AT&T内部使用的作业系统。而在

第七年後, Unix才真正成为一个有厂商支援的商业产品, 这第一家卖

Unix的转销商是美商Interactive System Co. (现已被SUN收购)。



    七十年代末, 第二个十年, Unix在加州大学柏克莱分校有很大的

发展, 这也就是着名的BSD Unix 系列。Unix在这学府里过着幸福美满

快乐的日子, 一天一天的成长, 一直到1992年中, 柏克莱大学决定不

再发展 Unix, BSD Unix最後的版本是 4.4BSD。也同时在这一年,

AT&T/USL控告柏克莱不当使用 Unix 执照以及 BSDI 公司(据说, BSDI

成员就是柏克莱发展 4.3BSD 的同一批人)侵权, 最後结果是AT&T/USL败诉。 後面图中, 笔者摘录了一些有关 BSD发展的时程表。



    八十年代迄今, 除AT&T及柏克莱以外, 对Unix进行重大改进的一

个单位, 就是卡内基美浓大学(Carnegie-Mellon Unverisry, CMU)的

Mach 计画, 现在很多多重处理器迷你电脑以及超级电脑等等所采用

的作业系统, 很多都跟 Mach有关。 您大概可以猜想, 最好的Unix都

采用了Mach, NeXT就是其中之一。(根据可靠的谣言, NeXT是Unix中的

极品)。 值得一谈的是, Mach 2.5含有AT&T Unix的纯正血统, 但Mach

3.0就没有AT&T Unix的程式码了, CMU将Mach原本拥有的Unix贵族血统

彻底换成了个民家姑娘, 人人可以亲近的作业系统。於是, 采用Mach

3.0为核心的作业系统也就完全没有 AT&T 执照的限制了, 仍未诞生的

GNU Hurd就是架构在Mach 3.0之上的一套作业系统。



    而在AT&T这方面, 似乎被冷落几年後又有新局面, 大约从1983年

System III诞生起, 接着 System IV以至於System V的演进。现今多

数的 Unix 版本便是根据System V发展而来。 至於System V本身的演

进则是从 System VR2 (R2表示Release 2)ⅱ System VR3ⅱ 以至於

System VR4, 最後一版也就是一般所称UNIX SVR4或更简称为 SVR4,

SVR4与SVR3有很大的不同, 因为SRV4开始引进了 BSD Unix的特色, 也

就是把 SVR3 以及 BSD 4.2 融合一起。以上是发生在八十年代的故事

。仍活在八十年代的人, 便一直以System V (读作System 5)与BSD把

Unix做一分界。



    八十年代初(1981), IBM个人电脑出现了。两年後, PC版本的Unix

也跟着推出出了, 这一个市场几乎一年比一年好卖, 美商 SCO (SCO

UNIX) 公司是这一行的翘楚。 随IBM PC之後, 同样列身微电脑的

Macintosh以 及 Atari ST 等等也没有例外, Unix也马上被移植(Port)

到这些Motorola 68K CPU的微电脑上。



    八十年代中, 工作站电脑也出现了, 这些跑Unix的工作站又把Unix

带入更广的应用领域, 尤其在绘图运算处理ⅱ资料库应用以及网路通

讯的应用等等, 工作站电脑与 PC Unix在九十年代时尤其好卖, 美商

SUN在这一行尤其是独领风骚。 与此同时, 在超级电脑上, Unix也同

样受宠, 这一行吃得开的有 CrayⅱFujitsu及Convex等等。在九十年

代後, Unix工作站更与Unix超级电脑联手起来攻打原属於大型电脑为

主的商业应用领域, 且显然越来越成功了。这无法阻止的趋势, 就连

电脑界的老大 IBM 也抢着要分一杯羹, 有趣的现象就是, 为了倾全力

抢攻Unix市场, IBM也不得不搬石头打自己的脚了, 因为, IBM在犹疑

一番後也看准了这趋势, 可是由於市场有太多的重叠, 所以IBM同时也

要使出吃奶的全部力量, 来大力来护住其原来在OS/2ⅱ迷你电脑甚至

大型电脑的市场不被Unix所侵蚀。



    活在九十年代的我们所看到的就很明显了, Unix已广被使用了, 且不

同环境下都有Unix, 从PCⅱ工作站ⅱ迷你电脑到超级电脑等等都找得到,

所以, 站在使用者立场来想, 我们只要熟悉了其中一种环境下的Unix, 走

到哪里都不陌生。



    从这里往下, 我要把话题稍转一下。传说, Unix最常被说成是〃开

放系统〃, 所谓开放系统, 从使用者角度来诠释, 也就是您把一个软体

拿到不同版本的Unix下, 也同样可以跑, 这样的一个环境称之。但从这之前几段话看来, Unix既然有这麽多不同的版本, 且硬体架构又差异如

此多, 这有可能是开放系统吗? 笔者没有答案, 但对拥有无数Unix奇才

的研究单位或学校来说, 答案可以是〃Yes〃, 但对商业应用环境为主的

产业来说, 答案恐怕是〃No〃。也由此来看, 不同版本Unix之间, 是很

难谈〃相容性〃的, 这现象我们待一会看Linux与Unix的相容性时, 会很

有趣。



    一个越完整的电脑系统, 常常也正是一个越趋於复杂的电脑, Unix

就是一个典型。 在这一类完整的电脑系统下, 常常就有三种人: 系统管

理者ⅱ(在更复杂的系统像是IBM 370系列主机下, 又细分有好几类人)系

统发展者以及基层使用者。 把这话题带到Linux, 您想要好好运用Linux

的话, 您最起码要扮演系统管理者以及使用者的角色。



    从前Unix是AT&T的注册商标, 在AT&T成立一家叫UNIX System Lab.

Inc. (USL)的子公司後, Unix的注册版权便转移到USL, 但由於USL还是

AT&T的子公司, 所以AT&T Unix还是一般人对Unix最常称呼的全衔。这

事实一直维持到1993年春天, AT&T把USL 卖给的Novell公司, 从此AT&T

Unix这字眼只存在於历史, 或者只是观念上的名词而已了。 时间到了

1994年春天, Novell 公司破天荒的放弃了 UNIX商标, 把它授与位於

英国的一个 X/Open 标准组织, 这举动让所有符合 X/Open 所制定规格

的作业系统, 都可以冠上 UNIX名称, 不过 Novell公司仍保有原 UNIX

系统程式码的着作权。



    至於本书从头到尾都使用小写 Unix, 这是取其属性而已 :-) 以

属性来说, 这本书的观点完全把 Linux视为 Unix的一种, 也是这原因

, 这本书经常出现Linux/Unix组合字眼。



    图0.2就是Unix诸子百家归纳图, 这图应该可以帮助那些对Unix

家族有兴趣的社会学家或考古学家们。 我特别想提醒您注意的是,该

图的最右边〃渊源〃一栏, 这里我将Unix瓜分为SVR3ⅱSVR4ⅱMach

2.5以及 BSD 系列, 这完全是笔者的看法或偏见而已, 您不一定要

认同。另外, 有关本表之血统, 原出自台大萧永厌先生

(syc@cc.ntu.edu.tw) 之手, 笔者特此感谢。



┏━图0.2 ━┳━━━━━━━━━━━━━━━━━━━━━┓

┃公  司    ┃ UNIX 产品名称             硬体   渊           源         ┃

┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━┫

┃USL             ┃ UNIX SYSTEM V 4.2    x86                 ┃

┃Novell    ┃ UnixWare             x86                 ┃

┃大同公司  ┃ MITUX/SVR4.2             x86                 ┃

┃NCR             ┃ NCU UNIX SVR4 MP     x86                 ┃

┃Consensys ┃ Consensys V4 UNIX    x86                 ┃

┃Dell      ┃ Dell UNIX SVR4 v2.2  x86                 ┃

┃Esix      ┃ Esix SVR4 v4.0.4     x86      SVR4         ┃

┃Microport ┃ Microport SVR4.1 v4  x86                 ┃

┃MST       ┃ Microport SVR4.1     x86                 ┃

┃UHC             ┃ UHC UNIX SVR4 v3.6   x86                 ┃

┃Univel    ┃ UnixWare             x86                 ┃

┃IFS             ┃ IFS SVR4.2             x86                 ┃

┃Cray      ┃ UNICOS                  Cray(超级)                 ┃

┃SUN       ┃ Solaris         Sparcⅱ x86  (SVR4+BSD)  ┃ ┃Apple     ┃ A/UX                      MAC     (SV+BSD)         ┃

┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━┫

┃资策会    ┃ SEEDix 3.21              x86                 ┃

┃HP             ┃ UP-UX                 x86ⅱHP工作站                 ┃

┃SCO/MS    ┃ SCO Xenix              x86                 ┃

┃SCO             ┃ SCO UNIX V3.2 R4      x86       SVR3         ┃

┃SCO             ┃ SCO OPEN DESKTOP 2.0  x86                 ┃

┃SUN             ┃ Interactive UNIX 3.2  x86                 ┃

┃IBM             ┃ AIX                 RS6000ⅱPowerCPU         ┃

┃Unisys    ┃ Unisys UNIX    x86ⅱ迷你电脑 (SVR4+SVR3) ┃

┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━┫

┃             ┃                                          ┃

┃DEC             ┃ OSF/1                Alphaⅱx86                 ┃

┃NeXT      ┃ NeXTstep        68Kⅱx86     Mach 2.5    ┃

┃Mt Xinu   ┃ Mach386                x86                 ┃

┃Encore    ┃ MultiMax        超级/迷你  (Mach+4.3BSD) ┃

┣━━━━━╋━━━━━━━━━━━━━━━━━━━━━┫

┃ SUN      ┃ SunOS              68KⅱSparcⅱ x86                 ┃

┃ DEC      ┃ Ultrix            迷你电脑               ┃

┃ SGI      ┃ IRIX             PC/工作站      BSD      ┃

┃ UCB      ┃ 4.4BSD         HP 9000/300               ┃

┃ (柏克莱) ┃              Sparc, 386, DEC                 ┃

┗━━━━━┻━━━━━━━━━━━━━━━━━━━━━┛

    资料来源:

   1. 1992.10 UNIX系统世界

   2. Eric S. Raymond 着〃PC-clone UNIX Software Buyer's Guide〃

   3. Unix常见问与答第六册 (Unix - Frequently Asked Questions (6/7))



    谈到Unix使用执照也是很有趣, 这「使用执照」 的观念对不熟

Unix或网路应用软体的读者是个很新鲜的观念, 现在一般网路上的软

体的贩卖方式, 常常是「5个人的使用执照」来定价, 或者十人ⅱ百

人等等。 早期 Unix 的发行是以程式码(Source Code)为主, 而不一

定有可执行码(Binary Code), 不过AT&T Unix的顾客或转销商则须

同时购买Source 以及Binary 执照(license)。 现在的情况则有不同

, 各转销商所卖的Unix 渐渐的也都只有Binary执照而已, 且这类执照

都是「两个使用者」执照, 当您企图多於两个人使用或者完全不限制

使用者数目, 这时您就要购买「不限使用者数目」使用执照, 不用想

也知道, 为此您要额外付出不少银子才行。



    至於谈到相容的(或相似的)Unix就更有趣了, 这里笔者所指「相

容Unix」泛指所有不含AT&T Unix 程式码, 自称相容(或相似)於Unix

的作业系统。以笔者所知, 早期最有名的两套相容Unix系统; 一个是

Minix, 这是一套相容於AT&T System 7 的系统, 可以在XT/AT上跑,

售价大约美金 150 元, 额外一提, 早期的Linux便是在Minix下所诞

生。另一套叫做 Coherent 的系统, 这是一套三十二位元系统, 由

Mark Williams 公司所发展, 售价美金99元。至於相似Unix的系统,

根据Eric S. Raymond在〃PC-clone UNIX Software Buyer's Guide〃

上的说明, Quantum Software Systems公司出品的QNX, 及 Lynx

Real-Time Systems Inc. of Los Gatos, California公司出品的

LynxOS等, 都是属於这一类的作业系统。 另外大名鼎鼎, 曾经未演

先轰动的Microsoft NT也算是其中之一。



    1991年四月诞生的Linux 0.01ⅱ1992年初的386BSD 0.0以及Mach

3.0 则是三套不用花钱的Unix相容系统, 另外, 未诞生的GNU Hurd作

业系统, 乃架构在Mach 3.0之上, 但笔者对Mach 3.0以及GNU Hurd所

知甚少。 而对於Linux及386BSD, 笔者则为此损伤了不少脑细胞。照

笔者使用 386BSD 与 BSD 4.3 的经验, 这两者非常的相容。 另外,前阵子 Unix界最着名的控诉案, 被USL所告结果胜诉的BSDI公司的

BSD386 作业系统, 其与 386BSD 是同父母所生, 其程式码都同样来自

柏克莱的 NET2, 不同的是, BSD386采商业发行。



    不含UNIX程式码的Unix相容或相似作业系统

┏━图0.3 ━━━┳━━━━━━━━━━━━━━━━━━┓

┃出  品         ┃ UNIX 产品名称     硬体         售价  ┃

┣━━━━━━━╋━━━━━━━━━━━━━━━━━━┫

┃FSF                 ┃ GNU Hurd              68K CPU         免费  ┃

┃MarK Williams ┃ Coherent              AT         US$99 ┃

┃Prentice Hall ┃ Minix             x86         US$169┃

┃Bill & Lynne  ┃ 386BSD              x86          免费  ┃

┃  Jolitz         ┃                                       ┃

┃UCB 4.4BSD    ┃ FreeBSD           x86        免费  ┃

┃UCB 4.4BSD    ┃ NetBSD         x86ⅱSparc    免费  ┃

┃Linus Torvalds┃ Linux              x86          免费  ┃

┃Lynx Inc.         ┃ Lynx              不详         不详  ┃

┃Quantum         ┃ QNX               不详         不详  ┃

┃Microsoft         ┃ NT         可以在大部分CPU上跑         不详  ┃

┗━━━━━━━┻━━━━━━━━━━━━━━━━━━┛





BSD发展的时程表

____________________________________________________________________

3.0 BSD

first demand paging unix

     |

     |

     V



4.1 BSD

first TCP/IP

     |

     |

     V



4.2 BSD (1983)

first widely available

release of TCP/IP

first sockets

     |

     |

     V



4.3 BSD (1986)

TCP performance improvements

     |

     |

     V



4.3 BSD Tahoe (1988) ------------------->  BSD Networking Software

slow start, congestion avoidance           Release 1.0 (1989)

     |

     |

     V



4.3 BSD Reno (1990) -------------------->  BSD Networking Software

TCP header prediction,                     Release 2.0 (1991)

SLIP header compression,

routing table changes

     |

     |

     V



4.4 BSD (1993) ------------------------->  4.4 BSD-Lite (1994)

multicasting,

long fat pipe modifications

____________________________________________________________________



   (摘自 1994 12月9日 Usenet comp.os.linux.misc 信区, 作者

Kenneth Stailey, kstailey@leidecker.gsfc.nasa.gov, 本文引用

经原作者许可)

2004-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
freelinux
初级用户




积分 111
发帖 3
注册 2004-4-16
状态 离线
『第 2 楼』:  

good

2004-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LanE
银牌会员




积分 1833
发帖 648
注册 2002-11-8
状态 离线
『第 3 楼』:  

这文章好像看过,很久之前的linux教程了

不过这个和标题没有什么关系吧???

2004-4-17 00:00
查看资料  发送邮件  发短消息 网志  OICQ (9367907)  编辑帖子  回复  引用回复
易道广大
初级用户




积分 128
发帖 7
注册 2004-4-16
状态 离线
『第 4 楼』:  

事实证明:你们所说的32位多任务的DOS(OS/2)的更新版本NT具有大部分UNIX的特点!

[此贴子已经被作者于2004-4-17 11:02:41编辑过]




2004-4-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: