1988 年,芬兰赫尔辛基大学迎来了一位新的大学生—— Linus Benedict Torvalds。当然,那时候他的名字在学校的花名册中并不显眼,但是一年后,他大二的时候,开始有故事了。

大学二年级的时候,Linus开始学习操作系统这们课程。那时候这门课程使用 Minix系统进行教学。Minix这个名字或许您听着并不熟悉,这是个专门用于教学的操作系统,他的系统结构和Unix系统是类似的linux编程。有人可能问:那为什么不直接用Unix呢?恩,Unix确实是很先进, 很有技术含量的,确实值得学习计算机科学和操作系统的同学们学习。 然而要知道有一种东西叫做版权,即便你不怎么在乎这个东西,但 家学校是不能做违法的事的。Unix并不免费,并且是天价的,广大穷苦的大学生们买不起,学校也没钱为没一名学生配备一套 Unix系统。因此,荷兰阿姆斯特丹的 Vrije大学的Andrew S. Tanenbaum教授最先深刻的体会到了这一点。他的学生们学习了计算机,学习了操作系统原理,不能光啃书本啊,总得实践一下吧?总得找台机器装个操作系统用用吧?用什么操作系统来教学呢?买个DOS 装上?虽然那时候 DOS 已经问世了,但是这么一个单用户单任务效率也不高的操作系统,实在不能指望它培养出 什么软件人才。装个 Unix?学校还不想破产。于是 Andrew S.Tanenbaum 牛人拿起键盘——咱自个儿编一个吧!然后 Minix就诞生了。Minix取Mini Unix之意,自从1987年被编写出来,到 1991年发展到 1.5版,现在有两个版本,1.5和 2.0。因为这个操作系统的初衷只是作为一个用来学习的模型,并不是一个实用的系统,所以他的功能很简单,体积也很小,并且以后也没有进行进一步的开发和扩充。这为的是能够让学生在一学期内能学完整个系统。那时候 Minix在大学中用于教学是免费的,但是用于其他用途是需要给钱的,不过现在已经彻底免费了。它作为一个操作系统,其实并不算优秀,但它是一个源代码完全开放的操作系统,这使得有理想有志向有报复的***们,第一次能够完整的阅读到一个操作系统的全部代码。所以呢,Linus他们学校的计算机上装的也是这个专门用于教学的 Minix系统。虽 然适合拿来学习,不过系统本身并不强大。

这要是别人也还罢了,可是 linus同学有个最大的爱好,就是虐待计算机。他热衷于测试计算 机的能力和限制,整天研究怎么让计算机按照自己的想法去干活,怎么发挥计算机最大的性能,一定要把可怜的机器累得精疲力尽呼哧带喘直到电容爆浆,吐血身亡才算罢休。因此很快的,这个教学用的操作系统就已经不能满足 Linus大侠的欲望了。可是似乎也没有更好的选择,上面说过了,Unix奇贵无比,DOS又不够优秀,而且无论 Unix还是 DOS,他们的代码都是不 开放的,只能拿来用,没法拿来折腾。于是象其他牛人一样,Linus自己动手了。(当想要的 东西不存在就自己动手创造,这充分说明他有成为大牛的潜质。)

今天我们都知道,Linus从那时起开始了一个事业,一个神话,但在当时,他并没有想那么多,只是为了学习 Intel386体系结构保护模式运行方式下的编程技术。他并不知道自己即将创造的是一个在世界范围广泛使用的系统,而只觉得是自己一时的异想天开。因此,一开始 他把自己写的这个操作系统命名FREAX。就此开始了这个“异想天开”操作系统的编写。大约1991年4月份的时候,就编写出了第一个可以运行的版本——0.00版。这个版本可以启动,运行两个进程,分别在屏幕上打印出AAA,和BBB,然后……就没了。虽然连句整话都不会说,不过这是一个好的开始,至少能启动了。

如果他就这么干下去,估计到今天只会有两种结果:1.成家立业后的 Linus经常指着他 电脑 C:盘里面的一个文件夹对来访的朋友说:看,我那时候还写过一个 Freax系统。2. Linus为完成 Freax系统挑灯夜战,最终累得吐血身亡,永远活在我们心中。总之是不会有 linux这个东西了,因为一个人的力量是有限的,有道是人多力量大,众人拾柴火焰高,多个铃铛多个响,一个篱笆三个桩,三个臭皮匠还顶个诸葛亮……铛!哎呦~好吧,就说这么多了。总之,Linus 没有独自在家闭门造车,而是让他的操作系统和互联网,亲密接触了。

“Hello everybody out there using minix——I' m doing a (free) operating system”这是他当年在comp.os.minix上发布的消息,告诉大家,他正在写一个操作系统。并且,他还把他写的“异 想天开”操作系统的代码上传到 ftp.funet.fi的服务器上让大家下载,以便交流心得,共同学习。这就相当于你跑到网站上发帖子说:我研究出一种萝卜炖牛腩的方法,主料是啥啥啥,配料是啥啥啥,怎么怎么炖,大家都试试吧!(对不起,我又饿了)于是很多有兴趣的人就来尝Linus 炖的牛腩,哦不对,是尝试 Linus 写的系统。不过当时那个服务器的管理员 Ari Lemke 看着这个异想天开的名字就不顺眼,想想,既然是 Linus写的操作系统,又是类 Unix的,干脆, 叫Linux吧。

Linux 被公布在网上之后,引来大家纷纷的路过和围观,很多人觉得这个东西挺有意思,不过第一个对外发布的 0.01版 linux还有很多的不完善(这简直是一定的)。这里先要说一个概念,linux是什么?确切的说,狭义的讲,linux只是一个操作系统的内核,他只是各位的Ubuntu 系统里面 /boot/ 目录下的那个内核文件 vmlinuz-x.x.xx-xx-generic。就好比汽车,linux只是一个引擎,只是大家普遍的把装了 linux这种引擎的汽车叫做 linux汽车。那么既然 linux只是一个内核,要想工作就还需要很多周边的支持,比如文件系统,比如一个命令行程序,比如一些基本的软件。

首先就要感谢 Richard Stallman大牛创建的 GNU计划,这使得 Linux不必去从头开始开 发那些最基本的软件和命令,而是直接利用 GNU计划中的那些优秀的开源软件——前面说过 了,那时候 GNU系统除了内核以外,已经比较完善了。

有了基本的软件之后,还需要个文件系统。由于当初 linus大侠是在 minix系统上开发的,所以最一开始 linux用的文件系统是借用 minix的文件系统。可老借别人的总不是个事,还是应该有自己的文件系统,要不然你怎么好意思跟别的操作系统打招呼?这时候 ,来了个牛人叫Theodore Ts'o。

Theodore Ts'o(曹予德,华裔),1990 年毕业于美国 MIT 大学计算机科学专业。他爱好广泛,喜欢烹饪,骑车,无线电报,还有折腾电脑(这都不挨着啊~),当然这不是我们的重点。他看到linux觉得很有意思,于是怀着极大的热情为 linux提供了邮件列表服务以便大家一起讨论问题,后来还提供了ftp站点和linux学习资料来共享linux的代码,并且一直用到现在。除此之外,技术上,他编写了 linux0.10内核中的虚 拟磁盘驱动程序和内存分配程序。在感觉到linux缺少一个自己的文件系统后,他提出并实现了ext2文件系统,并且 ext系的文件系统一直都成为了linux世界中事实上的标准,任何一个 发行版都会默认支持。现在已经发展到了 ext4了。另一位牛人,一个英国人——Alan Cox。他工作于英国威 尔士斯旺西大学,特别爱玩电脑游戏(又一个玩游戏的,可见玩游戏也不是坏事),尤其是网游(你看你看,还是网游),不过那时候的网游不像现在这样华丽,那时候是字符界面的,能想象 嘛?字符界面的网游!那种叫做 MUD——Multi-User Dungeon orDimension。玩 MUD 当然就得有计算机啊,就得有网啊,所以 Alan Cox 就开始逐渐的对计算机和网络产生了兴趣。为了提高电脑运行游戏的速度以及网络传输的速度,他开始接触各种操作系统,为自己选择一个满意的游戏平台,争取榨干电脑的每一个指令周期。经过仔细考虑,他买了一台 386SX电脑,并且装了 Linux0.11版的系统。这主要是因 为预算比较紧张,即使 minix他也买不起。(重复一下,那时候 minix用于教学是免费的,但 是其他用途要收费,包括个人用。)于是他开始使用 linux,进而学习其源代码,并对 linux产 生了兴趣,尤其是网络方面相关的代码。(整天琢磨怎么榨干他家那点带宽)在 Linux0.95版 之后,他开始为linux系统编写补丁程序,以后逐渐加入 Linux的开发队伍,并成为维护 linux内核源代码的主要人物之一。那个有点软的公司还曾经邀请他×××,被他有点硬的拒绝了。

再有一位,Michael K. Johnson,他是著名的 linux文档计划的发起者之一,写了《内核骇 客手册》一书,曾经在 Linux Journel工作,现在在著名的商业发行版 RedHat的公司工作。

当然除了这些大牛,还有更多的大牛,中牛,小牛,牛犊,牛杂,牛尾,肥牛……(唉, 又饿了)他们都为 linux的发展做出了自己的贡献。他们来自不同的国家,从事不同的职业,他们甚至从未见过面,但是他们为了一个共同的目标,通过网络,一起合作,利用自己的业 余时间,义务的帮助 linux成长,才有今天这个可以合法免费使用的操作系统。这是什么精神?这就是软件国际共产主义的精神!(好吧,这个词是我造的)

这之后,Linux的发展可以用“一发不可收”拾形容。很多的商业公司和民间组织都纷纷看好这个系统,纷纷加入了 Linux的阵营,各种各样发行版满足着各种Linux爱好者的需求。 比如做的比较大的RedHat,浪漫的 Mandriva,扎实稳健的Debian,灵活的Slackware,极端的Gentoo,以及我们这个故事的主角,从Debian的基础上改头换面而来的 Linux界的新星——Ubuntu。

转载于:https://blog.51cto.com/hudongwang2013/1247085

【连载】《linux入门很简单》电子版——作者:刘金鹏(序:一切的起因3)相关推荐

  1. 【连载】《linux入门很简单》电子版——作者:刘金鹏(1.4G大叔)

    经过漫长的等待之后,安装终于完成了.我总算离开了光盘,带着跟随我的那帮兄弟们在硬盘里落户了.用户随即发出命令:重启!我满怀信心的看着已经来到硬盘上的兄弟们:"我们就要开始一段新 的生活了,希 ...

  2. 【连载】《linux入门很简单》电子版——作者:刘金鹏(第一章初来乍到——启动)...

    在光驱中躺着,等待着电脑启动的时候,就像刚刚毕业的大学生 等待第一次面试一样紧张.每一秒钟过得像一小时一样,心里一直在 打鼓:怎么还不启动呢?难道看着光盘封面不好看就不打算用了?难道这小子忽然被女朋友 ...

  3. 【连载】《linux入门很简单》电子版——作者:刘金鹏(第一章初来乍到——入住)...

    终于开始安装,我要住进这电脑啦- 安装有七步. 第一步 跟启动一样,还得先问下用户打算使用什么语言.有人 说了,你这家伙健忘吧,刚才不是选过了么?别急,听我解释.刚才 选择的是从光盘启动的 LiveC ...

  4. 【连载】《linux入门很简单》电子版——作者:刘金鹏(序:一切的起因2)

    这回要说的,是另一个传奇人物. Richard Stallman,1953 年出生在美国纽约曼哈顿地区,他从一出生就--没什么特别:他上小学的时候--反正我不认识他:等到他上初中的时候呢--也还没我呢 ...

  5. 【连载】《linux入门很简单》电子版——作者:刘金鹏(第一章初来乍到——抵达)...

    2010 年的 4 月,我来到了这个世界,并由出生的月份得到了我的代--10.04,也就是 2010年 4月的意思.当然,和我同一天出生的兄弟们还有很多,我们都是 Ubuntu10.04linux设备 ...

  6. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)...

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  7. mysql入门很简单系列视频-学习笔记

    mysql入门很简单系列视频-学习笔记 视频链接:mysql入门很简单系列视频 https://www.bilibili.com/video/av14920200/ 以前主要就了解DDL.DML.DC ...

  8. 简单php修改mysql数据类型_MySQL入门很简单—MySQL数据类型

    MySQL入门很简单---MySQL数据类型 一.整数类型: //类型名称字节数(长度)无符号数的取值范围有符号的取值范围 TINYNIT 1 (4)0~255-128~127 SMALLINT2 ( ...

  9. mysql入门很简单(一)

    之前一直都只会一些mysql简单的操作,对mysql的理解也不是很熟悉,找了很多mysql的基础书籍,也不是很理想,后来发现一本<mysql入门很简单>发现还不错,看了两遍,mysql基础 ...

最新文章

  1. Day004_Linux基础命令之特殊符号与正则表达式通配符
  2. STIMULUS(二) —— Hello, Stimulus
  3. Android开发之高德地图无法显示地图的原因
  4. 台式计算机风扇声音大怎么处理,如何解决电脑电源风扇声音大的问题?
  5. 工作238:Vue.js中this.$nextTick()的使用
  6. java随机安排座位表程序_java – 为长凳生成随机座位表的最有效算法?
  7. 玩转SpringBoot 2.x 解析BeanPostProcessor原理篇
  8. python resample_Python骚操作:利用Python获取摄像头并实时控制人脸!
  9. 爬虫:查找自己浏览器headers
  10. 论文Real-Time Lane and Obstacle Detection on the global System
  11. 最新csdn有奖任务答案
  12. xshell 导入.xsh 文件
  13. 窗口函数preceding和following字段
  14. IESM项目实训三——语音合成工具类
  15. 用计算机0和1表达难舍之情,表达不舍之情的说说
  16. 【速记】Android让View的显示超出父容器
  17. checkbox选中时如何改变默认样式
  18. Android基础控件—SearchView
  19. 苹果新品发布会:几张图片告诉你苹果发布会新品亮点
  20. MATLAB常用的适应度的函数

热门文章

  1. S5700交换机MAC地址绑定问题
  2. 使用ceph/daemon镜像手动部署ceph集群
  3. Facebook陷史上最大危机:近7千页机密文件泄露,Libra恐无缘明年推出
  4. 基于主题模型的专利文本挖掘
  5. 【C#】合并DataSet
  6. xmex割韭菜黑交易所内幕?xmex骗局背后隐藏着什么?
  7. java使用POI实现Excel批量导入数据。
  8. Linux Nginx的安装与配置(全程图文记录超详细)
  9. Echarts Y轴添加单位
  10. ssr面板_阴阳师SSR奴良陆生技能觉醒属性面板一览