加入收藏 | 设为首页 | 会员中心 | 我要投稿 52站长网 (https://www.52zhanzhang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

unix内核 1.1.2 Linux之前UNIX的历史(2)

发布时间:2022-10-14 05:00:50 所属栏目:Unix 来源:转载
导读: Richard Mathew Stallman(生于1953年,网络上自称的ID为RMS)从小就很聪明。他在1971年的时候,进入黑客圈中相当出名的人工智能实验室(AI Lab.),这个时候的黑客专指计算机功力很强的人

Richard Mathew Stallman(生于1953年,网络上自称的ID为RMS)从小就很聪明。他在1971年的时候,进入黑客圈中相当出名的人工智能实验室(AI Lab.),这个时候的黑客专指计算机功力很强的人,而非破坏计算机的怪客(Cracker)。

当时的黑客圈对于软件的着眼点几乎都是在"分享",所以并没有专利方面的困扰。这个特色对于史托曼的影响很大!不过,后来由于管理阶层的问题,导致优秀黑客离开该实验室,并且进入其他商业公司继续开发优秀的软件。但史托曼并不服输,仍然持续在原来的实验室开发新的程序与软件。后来,他发现,自己一个人并无法完成所有的工作,于是想要成立一个开放的团体来共同努力!

使用UNIX开发阶段

1983年以后,因为实验室硬件的更换,使得史托曼无法继续以原有的硬件与操作系统继续自由程序的编写,而且他进一步发现,过去他所使用的Lisp操作系统是麻省理工学院的专利软件,是无法共享的,这对于想要成立一个开放团体的史托曼是个阻碍。于是他便放弃了Lisp这个系统。后来,他接触到UNIX这个系统,并且发现,UNIX在理论与实际上,都可以在不同的机器间进行移植。虽然UNIX依旧是专利软件,但至少UNIX架构上还是比较开放的!于是他开始转而使用UNIX系统。

因为Lisp与UNIX是不同的系统,所以,他原本已经编写完毕的软件是无法在UNIX上面运行的。为此,他就开始将软件移植到UNIX上面,并且unix内核,为了让软件可以在不同的平台上运行,史托曼将他开发的软件均编写成可以移植的类型,也就是他都会将程序的源码公布出来!

GNU项目的推展

1984年,史托曼开始GNU项目,这个项目的目的是创建一个自由、开放的UNIX操作系统(Free UNIX)。但是创建一个操作系统谈何容易?而且在当时的GNU是仅有史托曼一个人单打独斗的,这实在太麻烦,但又不想放弃这个项目,那可怎么办呢?

聪明的史托曼干脆反其道而行之:"既然操作系统太复杂,我就先写可以在UNIX上面运行的小程序,这总可以了吧?"在这个想法上,史托曼开始参考UNIX上面现有的软件,并依据这些软件的作用开发出功能相同的软件,开发期间史托曼绝不看其他软件的源码,以避免吃上官司。后来一堆人知道免费的GNU软件,并且实际使用后发现与原有的专利软件也差不了多少,便转而使用GNU软件,于是GNU项目逐渐打开知名度。

虽然GNU项目渐渐打开了知名度,但是能见度还是不够。这时史托曼又想:不论是什么软件,都得要进行编译成为二进制文件(Binary Program)后才能够执行,如果能够写出一个不错的编译程序,那不就是大家都需要的软件了吗?因此他便开始编写C语言的编译程序,那就是现在相当有名的GNU C Compiler(GCC)!这点相当重要。这是因为C语言编译程序版本众多,但都是专利软件,如果他写的C编译程序够棒,性能够佳,那么将会大大地让GNU项目出现在众人眼前。如果你忘记了什么是编译程序,请回到第0章去看看编译程序!

但开始编写GCC时并不顺利,为此,他先转而将他原先就已经写过的Emacs编辑器写成可以在UNIX上运行的软件,并公布源码。Emacs是一种程序编辑器,它可以在用户编写程序的过程中就进行程序语法的检验,此一功能可以减少程序员排错的时间!因为Emacs太优秀了,因此,很多人便直接向他购买。

此时因特网尚未流行,所以,史托曼便借着Emacs以磁带出售,赚了一点钱,从而开始全力编写其他软件,并且成立自由软件基金会(Free Software Foundation,FSF),请更多工程师与志愿者来编写软件。终于还是完成了GCC,这比Emacs还更有帮助!此外,他还编写了更多可以被调用的C函数库(GNU C Library),以及可以被用来操作操作系统的基本接口bash shell。这些都在1990年左右完成。

如果纯粹使用文本编辑器来编辑程序的话,那么程序语法如果写错时,只能利用编译时发生的错误信息来修订了,这样实在很没有效率。Emacs则是一个很棒的编辑器。注意:是编辑器(editor)而非编译器(compiler)!它可以很快显示出你写入的语法可能有错误的地方,这对于程序员来说,实在是一个好到不能再好的工具了。所以才会这么受到欢迎。

GNU的通用公共许可证

到了1985年,为了避免GNU所开发的自由软件被其他人所利用而成为专利软件,所以他与律师草拟了有名的通用公共许可证(General Public License, GPL),并且称呼它为CopyLeft(相对于专利软件的CopyRight)。关于GPL的相关内容我们在下一个小节继续谈论,在这里,必须要说明的是,由于有GNU所开发的几个重要软件,如:

Emacs

GNU C(GCC)

GNU C Library(GLIBC)

Bash shell

造成后来很多的软件开发者可以借由这些基础的工具来进行程序开发,进一步壮大了自由软件团体。不过,对于GNU的最初构想"创建一个自由的UNIX操作系统"来说,这些优秀的程序仍旧无法满足,因为,当下并没有"自由的UNIX内核"存在,所以这些软件仍只能在那些授权的UNIX平台上工作,一直到Linux的出现。更多的FSF开发的软件可以参考如下网页:

1988年:图形接口XFree86项目

有鉴于图形用户接口(Graphical User Interface, GUI)的需求日益加重,在1984年由MIT与其他第三方首次发表了X Window System,并且在1988年成立了非营利性质的XFree86这个组织。所谓的XFree86其实是X Window System + Free + x86的整合名称。而这个XFree86的GUI界面更在Linux的内核1.0版于1994年释出时集成于Linux操作系统当中!

为什么称图形用户界面为X呢?因为由英文单字来看,Window中的字母W下面接着的就是字母X。意指Window的下一版!需注意的是,X Window并不是X Windows!

1991年:芬兰大学生Linus Torvalds的一则消息

到了1991年,芬兰的赫尔辛基大学的Linus Torvalds在BBS上面贴了一则消息,宣称他以bash, gcc等工具写了一个小小的内核程序,这个内核程序可以在Intel的386机器上面运行,让很多人很感兴趣,从此开始了Linux不平凡的旅程!

(编辑:52站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!