为什么学习Linux

来自软件实验室
跳转至: 导航搜索

Linux是开源的

开源(Open Source),不仅意味着免费,没有版权的纷扰,也意味着所有的软件,从操作系统的内核到应用程序都可以找到源代码,因此特别适合高校从事计算机科学的教育教学,也特别适合学生作为深入学习计算机知识的一个平台。

从另外一个角度看,Linux平台上的软件开发者或者贡献者,普遍具有宽大的胸怀(开放的心态),乐于帮助别人,因为他们懂得,开源的世界,就是一个你帮助我,我帮助你的开放世界,这就是Linux的开源生态。因此,在Linux平台上学习计算机知识,更容易获得“高手”的帮助,只要你懂得提问的智慧,中文参见:媒体文件:提问的智慧.pdf

Linux在各个领域的蓬勃发展

自Linux从1991年登上历史舞台后,短短25年已成燎原之势:

Linux是座实实在在的宝库

  • 免费
  • 数量庞大的软件
  • 开源
  • 开放的生态圈

Linux的简明历史

20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机;

   ~主机负责运算,而终端负责输入输出;

1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统,为了同时支持300个终端访问主机,但是1969年失败了;

   ~刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过;
   ~Multics:Multiplexed Information and Computing Service

1969年,Ken Thompson(C语言之父)利用汇编语言开发了FIle Server System(Unics,即Unix的原型)

   ~因为汇编语言对于硬件的依赖性,因此只能针对特定硬件;
   ~只是为了移植一款“太空旅游”的游戏;

1973年,Dennis Ritchie和Ken Thompson发明了C语言,而后写出了Unix的内核

   ~将B语言改成C语言,由此产生了C语言之父;
   ~90%的代码是C语言写的,10%的代码用汇编写的,因此移植时只要修改那10%的代码即可;

1977年,Berkeley大学的Bill Joy针对他的机器修改Unix源码,称为BSD(Berkeley Software Distribution)

    ~ Bill Joy是Sun公司的创始人;

1979年,Unix发布System V,用于个人计算机;

1984年,因为Unix规定:“不能对学生提供源码”,Tanenbaum老师自己编写兼容于Unix的Minix,用于教学;

1984年,Stallman开始GNU(GNU's Not Unix)项目,创办FSF(Free Software Foundation)基金会;

    ~ 产品:GCC、Emacs、Bash Shell、GLIBC;
    ~ 倡导“自由软件”;
    ~ GNU的软件缺乏一个开放的平台运行,只能在Unix上运行;
    ~ 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着GPL的版权;
    ~ 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;

1985年,为了避免GNU开发的自由软件被其他人用作专利软件,因此创建GPL(General Public License)版权声明;

1988年,MIT为了开发GUI,成立了XFree86的组织;

1991年,芬兰赫尔辛基大学的研究生Linus Torvalds基于gcc、bash开发了针对386机器的Lniux内核;

1994年,Torvalds发布Linux-v1.0;

1996年,Torvalds发布Linux-v2.0,确定了Linux的吉祥物:企鹅;

Linux重要人物

Ken Thompson, C语言之父和Unix之父

Ken Thompson.png

Dennis Ritchie:C语言之父和Unix之父

Dennis Ritchie.png

Stallman:著名黑客,GNU创始人,开发了Emacs、gcc、bash shell

Stallman.gif

Bill Joy:BSD开发者

Bill Joy.gif

Tanenbaum:Minix开发者

Tanenbaum.png

Linus Torvalds:Linux之父,芬兰赫尔辛基大学

Linus Torvalds.png