Linux简单介绍
Linux核心理念:万物皆文件;
Linux:是一个内核,而不是一个操作系统;因此我们平常说的“操作系统用的是Windows、Mac还是Linux啊?”是错误的,Ubuntu、Fedora等才是操作系统的名字,他们都使用Linux内核;
1991年最初由Linus Torvalds针对386(个人计算机)开发;Linus Torvalds那时是芬兰的一名研究生;
Unix Like:很像Unix的操作系统;
苹果电脑为什么现在能装Windows操作系统?因为苹果使用了Intel的X86架构,而windows也是针对此架构的,因此按理论来说一般的PC上也可以安装mac操作系统;
Linux的吉祥物是企鹅(英文名:Tux),因为Torvalds在小时候被企鹅咬过,因此印象非常深刻;
Unix和Linux的代码是由90%的C语言和10%的汇编组成,因此只需要稍加修改,就能移植到其他硬件上;
Linux的优缺点
1、Linux的优点
1.开放的学习环境;
2.漏洞快速修补;
3.因为内核只有几百k,因此适合嵌入式系统;
2、Linux的缺点
1.有些专业软件没有Linux版本;
Linux发展史
* 1969年以前:一个没有完成的梦想:Bell,MIT与GE的‘Multics’系统
* 1969年:Ken Thompson的小型file server system
* 1973年:Unix的正式诞生,Ritchie等人以C语言写出第一个正式Unix核心
* 1977年:重要的Unix分支:BSD的诞生
* 1979年:一个措手不及的版权宣告!
由于Unix的高度可移植性与强大的效能,加上当时并没有版权的纠纷, 所以让很多商业公司开始了Unix作业系统的发展,例如AT&T自家的System V、IBM的AIX以及HP与DEC等公司, 都有推出自家的主机搭配自己的Unix作业系统。
但是,如同我们前面提到的,作业系统的核心(Kernel)必须要跟硬体配合, 以提供及控制硬体的资源进行良好的工作!而在早期每一家生产电脑硬体的公司还没有所谓的‘协定’的概念, 所以每一个电脑公司出产的硬体自然就不相同啰!因此他们必须要为自己的电脑硬体开发合适的Unix系统。 例如在学术机构相当有名的Sun、Cray与HP就是这一种情况。 他们开发出来的Unix作业系统以及内含的相关软体并没有办法在其他的硬体架构下工作的! 另外,由于没有厂商针对个人电脑设计Unix系统,因此,在早期并没有支援个人电脑的Unix作业系统的出现。
Tips:如同相容分时系统的功能一般,Unix强调的是多人多工的环境! 但早期的286个人电脑架构下的CPU是没有能力达到多工的作业,因此,并没有人对移植Unix到x86的电脑上有兴趣。
每一家公司自己出的Unix虽然在架构上面大同小异,但是却真的仅能支援自身的硬体, 所以啰,早先的Unix只能与伺服器(Server)或者是大型工作站(Workstation)划上等号!
但是这个高度开放的Unix系统在1979年有了重大的转折~因为AT&T由于商业的考量, 以及在当时现实环境下的思考,于是将想Unix的版权收回去。因此,AT&T在1979年发行的第七版Unix中,特别提到了 ‘不可对学生提供原始码’的严格限制! 同时,也造成Unix业界之间的紧张气氛,并且也引爆了很多的商业纠纷~。
Tips:AT&T这一版开发出来的Unix被称为System V,目前被称为纯种的Unix指的就是System V以及BSD这两套啰!
* 1984年之一:x86架构的Minix诞生
* 1984年之二:GNU计画与FSF基金会的成立
* 使用Unix开发阶段:
1983年以后,因为实验室硬体的更换,使得史托曼无法继续以原有的硬体与作业系统继续自由程式的撰写~ 而且他进一步发现到,过去他所使用的Lisp作业系统,是麻省理工学院的专利软体, 是无法共享的,这对于想要成立一个开放团体的史托曼是个阻碍。于是他便放弃了Lisp这个系统。 后来,他接触到Unix这个系统,并且发现,Unix在理论与实际上,都可以在不同的机器间进行移植。 于是他开始转而使用Unix系统。
因为Lisp与Unix是不同的系统,所以,他原本已经撰写完毕的软体是无法在Unix上面运行的!为此, 他就开始将软体移植到Unix上面。并且,为了让软体可以在不同的平台上运作, 因此,史托曼将他发展的软体均撰写成可以移植的型态!也就是他都会将程式的原始码公布出来!
* GNU的通用公共许可证:
到了1985年,为了避免GNU所开发的自由软体被其他人所利用而成为专利软体, 所以他与律师草拟了有名的通用公共许可证(General Public License, GPL), 并且称呼他为copyleft(相对于专利软体的copyright!)。有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作业系统当中!
Tips:为什么称图形使用者介面为X呢?因为由英文单字来看,Window的W 接的就是X啦!意指Window的下一版就是了! 需注意的是,X Window并不是X Windows喔!
* 1991年:芬兰大学生Linus Torvalds的一则简讯
到了1991年,芬兰的赫尔辛基大学的Linus Torvalds在BBS上面贴了一则消息, 宣称他以bash, gcc等工具写了一个小小的核心程式,这个核心程式可以在Intel的386机器上面运作, 让很多人很感兴趣!从此开始了Linux不平凡的路程!
Linux重要人物
1、Ken Thompson:C语言之父和Unix之父
2.Dennis Ritchie:C语言之父和Unix之父;
3.Stallman:著名黑客,GNU创始人,开发了Emacs、gcc、bash shell;
4.Bill Joy:BSD开发者;
5.Tanenbaum:Minix开发者;
6.Linus Torvalds:Linux之父,芬兰赫尔辛基大学;