开源OS的进化研究

-- Zoom.Quiet [2004-08-12 19:11:44]

1. UNIX系统发展介绍

作者:NetDemon
[email protected]
www.20cn.net


1.1. 序言

鉴于目前很多成员对操作系统,网络知识的基本知识了解不够,故我写些教程以供大家作为学习的指导,教程的内容也许并不是很好,因为我并非一个专业的计算机工作者,只是尽量把自己学习过程中的经验写下来作为一个大家学习的引导,让大家可以按照这个学习方向走,能在最短的时间,掌握好这些基本的知识,有了这些基础,你就能看懂网上很多的文档资料,以后是英雄还是狗熊,是Hacker还是Cracker,就看你本身的努力和天分及你本身的素质了。

在你开始学习之前,我有如下建议:

  • 1.多看,少问,有什么不懂的地方尽量自己找资料,实在不懂的时候再问人家。
  • 2.问问题的时候,千万不要这样的问:怎样入侵网站,怎样黑号,等...如果这些问题可以用几句话说明白的,我也就没有必要写这些教程了,但是当你耐心的看完我的全部教程的时候,我相信你可以有一个大概的轮廓了。

要成为一个黑客,操作系统,TCP/IP相关协议,网络编程,是必须掌握的,所以这个教程分为3部分,操作系统,TCP/IP和网络编程,以学习时间的顺序逐渐发表,大概一星期一两编,要求初学者对Windows98的使用以完全明白,DOS命令基本掌握。因为本人对UNIX比较爱好,其中操作系统部分主要以UNIX为重点,只在有明显区别的时候才涉及NT,希望学习UNIX的朋友也可参读本教程。

下面就请大家了解一下UNIX

如果说到NT,那大家都知道,NT就是比尔叔叔的那个NT,只有NT4.0和NT5.0(即Windows2000)两个版本,但是UNIX呢?那可就复杂了。要对UNIX和LINUX有正确的了解,你必须认真阅读以下的UNIX发展史。

Unix操作系统的历史漫长而曲折,它的第一个版本是1969年由Ken Thompson在AT&T贝尔实验室实现的,运行在一台DEC PDP-7计算机上。后来Ken Thompson和Dennis Ritchie使用C语言对整个系统进行了再加工和编写,使得Unix能够很容易的移植到其他硬件的计算机上。从那以后,Unix系统开始了令人瞩目的发展。由于此时AT&T还没有把Unix作为它的正式商品,AT&T以分发许可证的方法,对Unix仅仅收取很少的费用,大学和研究机构就能获得Unix的源代码以进行研究。Unix的源代码被散发到各个大学,一方面使得科研人员能够根据需要改进系统,或者将其移植到其他的硬件环境中去 ,另一方面培养了懂得Unix使用和编程的大量的学生,这使得Unix的普及更为广泛。

到了70年代末,在Unix发展到了版本6之后,AT&T认识到了Unix的价值,成立了Unix系统实验室(Unix System Lab,USL)来继续发展Unix。同时AT&T也宣布对Unix产品拥有所有权,几乎在同时,加州大学伯克利分校计算机系统研究小组(CSRG)使用Unix对操作系统进行研究,他们对Unix的改进相当多,增加了很多当时非常先进的特性,很多其他Unix使用者,包括其他大学和商业机构,都希望能得到CSRG改进的Unix系统。因此CSRG中的研究人员把他们的Unix组成一个完整的Unix系统──BSDUnix(Berkeley Software Distribution),向外发行。

到此,UNIX就有了一个大的分支,分为AT&T UNIX 和 BSD Unix,现代的Unix版本大部分都是这两个版本的衍生产品。

BSD Unix在Unix的历史发展中具有相当大的影响力,被很多商业厂家采用,成为很多商用Unix的基础,同时很多研究项目也是以BSD Unix为研究系统,例如美国国防部的项目─ARPANET,ARPANET今天发展成为了Internet,而BSD Unix中最先实现了TCP/IP,使Internet和Unix紧密结合在一起。

在1992年,Unix系统实验室指控BSDi── 一家发行商业BSD Unix的公司,违反了AT&T的许可权,发布自己的Unix版本,并进一步指控伯克利计算机系统研究组泄漏了Unix的商业机密(此时的4.3BSD中来自AT&T Un ix的代码已经不足10%)。这个官司影响了很多Unix厂商,使他们不得不从BSD Unix转向Unix System V,以避免法律问题。以至于当今大多数商业Unix版本都是基于AT&T的Unix System V的,如IBM的AIX, HP的UX ,Novell的UnixWare,Sun的Solaris等,而大多免费的UNIX,则来源于BSD Unix,如4.3BSD就可以说是LINUX的祖父。

在这个时候,所有的UNIX系统,都不能在INTEL平台上运行的,要移植Unix到PC平台上便需要Unix的源代码,而此时受AT&T的许可权的限制,Unix代码还不能被自由获得,但在BSD与AT&T的法律纠纷之后的4.4 BSD Lite不再受这个限制了,可以在BSD许可下自由,使用很多计算机爱好者为了实现一个可以自由使用的操作系统,不断进行着努力,自由软件基金会的GNU开发了很多非常有效的工具、包括编译器和很多系统命令,然而GNU计划中的操作系统内核 ──HURD,却进展缓慢,从而无法构建一个完整的操作系统。科学家Andrew S. Tanenbaum在 4.3BSD的基础上开发了一个功能简单、易懂可以在8086上运行(后来也能在80386上运行)的UNIX系统,叫做 Minix,但这个minix的功能也非常的有限,在这个时候,来自芬兰的年轻人Linus Benedict Torvalds,因为发现Minix的功能很不完善,故决定自己编写一个保护模式下的操作系统内核,开始这个程序被放在一个FTP服务器上供大家自由下载,FTP服务器的管理员认为这是linus 的Minix ,所以就建立了一个叫linux的目录来放这些文件,于是linux这个名字就传开了,直到今天成为约定俗成的名字,这个内核和GNU的系统工具结合起来,取得了相当大的成功,成为当前非常流行的GNU/Linux系统。

与这些努力相比,BSD方面的研究人员的行动则比较迟缓,一个原因是Unix技术上已经相当成熟,计算机系统研究组的大部分成员已经把注意力转向了其他研究项目,另外AT&T与BSD的法律纷争也使得BSD发展受到了阻碍。但是还是有两个将BSD移植到80386平台的开发工作同时进行,一个是BSD/386小组,他们的研究结果为商业版本的BSD/OS,属于商业公司BSDI。另一个就是386BSD计划,后来发展成为FreeBSD。

到目前,InterNet上常见的UNIX系统有以下几种: 各商业公司的基于AT&T的UNIX系统(非intel平台据多),主要是Sun的Solaris,基于BSD UNIX 的BSDi 和 FreeBSD ,以及Linux,其中FreeBSD和Linux 是可在i386上运行的免费的操作系统,我们能够使用的也基本上只有这两个UNIX系统,但在这里,我们还要分清楚linux和FreeBSD的区别,主要有两个:1.FreeBSD是由最初的BSDUNIX一路发展下来的正统的UNIX系统,而linux是一个遵循POSIX标准所有系统代码全部重新编写了的操作系统。2.FreeBSD是完整的一个操作系统,而linux只是一个内核,加上各种GNU软件构成的操作系统,所以,才会有很多的linux系统,如RedHat Linux ,Tubro Linux,兰点linux 等,redhat linux 就是redhat公司对linux内核作必要的修改,加上redhat挑选的GNU程序构成,tubro也然,如果我愿意,我也可以这个做,搞个20cnlinux 出来,但就是没那能耐而已。

好了,看完这里,你对UNIX的来龙去脉已有基本的了解了,下一编要说的就是大名鼎鼎的GNU,虽然这两编都没有涉及真正的技术部分,但是如果你要想成为一名黑客,你就一定要了解,因为如果没有UNIX或者GNU ,或者就不会有黑客这个词。

1.2. 演变图谱

UNIX History 主站点 转自:Unix-Linux历史 - 博客中国

page01

page02

page03

page04

page05

page06

page07

page08

page09

page10

page11

page12

page13

page14

page15

page16

page17

2. FreeBSD

freebsd-devmap