提到电脑的操作系统
相信大多数人会脱口而出:Windows!MacOS!
没错,这确实是目前市场上主流的两款操作系统。
但对于从事IT相关工作的人们来说,还有一种系统也必须拥有姓名
那就是Linux
看到这个词,大家的读法可能都不太统一。
不过这并不重要,因为有人说过:Linux是自由的,包括它的读音。
我们今天就来看看这个自由的Linux操作系统的前世今生。
为什么要有操作系统呢?
20世纪40-50年代,电子管技术得到了发展,诞生了第一台电子管计算机
由于零件的集成度太低,一台计算机必须用一个超大house来放置,而且这台机器在当时价值数百万美元,一般人用不起,都是一些豪横的组织才用得起。
早期的计算机是没有操作系统的,操作人员直接和计算机硬件交互,
类似下面这样...
所有的操作在控制台上进行,控制台上有显示灯、触发器、输入输出设备每次作业都需要有专门的的人员来操作,使用汇编语言写程序到纸片上,再穿孔成卡片,再将这些卡片交给专门的操作人员去操作,再花费时间等操作结果。
不仅计算机成本高,操作过程还极其复杂。
人们很自然就想到减少机器时间的浪费,于是就诞生了批处理系统。
Tips:批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。这种采用批量处理作业技术的操作系统称为批处理操作系统,不具有交互性。
对用户来讲,这种面向批处理作业的操作系统,尽管简化了操作过程,但对于需要立即得到响应的用户来说还是太慢了。
直至20世纪70年代,分时操作系统Unix诞生。
1969年,贝尔实验室的肯·汤普森(Ken Thompson)由于在一台老古董计算机PDP-7上玩游戏比较卡,运行速度比较慢,决定自己写一个操作系统。于是趁老婆带娃回娘家的两个月时间,自己在家用汇编语言开发出了Unix系统。
1973年,丹尼斯·里奇(Dennis Ritchie)对B语言进行改造创造了C语言,原本用汇编语言编写的UNIX也改用C语言进行编写,并由此产生了UNIX VersionV。
1974年,UNIX系统正式向外界披露,自此一发不可收拾。
两位大神:(还请记住他俩)
Ken Thompson 肯·汤普森 (左) UNIX之父
Dennis Ritchie 丹尼斯·里奇(右) C语言之父
随着UNIX系统的应用越来越广泛,贝尔实验室的老大也就是UNIX版权所有者AT&T公司却下了一步臭棋:他们把原本低廉甚至免费开源的UNIX改为闭源 并开始收费,甚至还对之前的UNIX及其衍生版本也声明了版权。
这就让人特别不爽,因为那些UNIX的变种大部分都是各个机构在UNIX源码基础上进行扩充和改进才形成的。
凭什么你说声明版权就声明版权?
于是在1983年,当时30岁的理查德·马修·斯托曼(Richard Matthew Stallman)发起了GNU计划,目标是创建一套完全自由的操作系统GNU。之后,他又建立了自由软件基金会来协助该计划的实施。
自由软件运动的精神领袖 —— 理查德·马修·斯托曼
1989年,为了避免 GNU 所开发的自由软件被其他人所利用而成为专利软件,斯托曼找了一群律师起草了广为使用的GNU通用公共协议证书(GNU General Public License),即GPL协议。
Tips:GPL 协议的核心就是要对源码进行公开,并且允许任何人修改源码,但是只要使用了 GPL 协议的软件源码,其衍生软件也必须公开源码,准许其他人阅读和修改源码。
为了构建开放、自由的Unix环境,理查德•斯托曼开发出来一系列大名鼎鼎的软件,每个单独拿出来都够人骄傲一辈子:
-
Emacs
-
GNU C (gcc)
-
GNU C Library (glibc)
-
Bash shell
尽管开发出了一系列的优秀软件,但在当时并没有一款“自由的核心”存在,所以GNU软件仍旧只能在那些有专利的 Unix 平台上工作,直到 Linux 的出现。
1991年,芬兰赫尔辛基大学的一名学生林纳斯·托瓦兹(Linus Torvalds)在Minix的启发下,开发了Linux系统内核。
Linux之父--林纳斯·托瓦兹(Linus Torvalds)
林纳斯当时的想法很简单,因为需要经常访问大学主机上的新闻组和邮件,为了方便读写和下载文件,他就编写了磁盘驱动程序和文件系统。而这就是Linux的第一个雏形。
开发完成后,他希望这个程序可以获得大家的一些修改建议,于是在1991年10 月5号他便将这个核心放置在网络上提供大家下载,同时在 BBS 上面贴了一则消息:
“Hello everybody out there using minix-
I'm doing a (free) operation system (just a hobby,
won't be big and professional like gnu) for 386(486) AT clones.”
而这个举动,让全世界的程序员大佬都纷纷参与到Linux内核代码修改编写的工作。
在自由软件之父理查德·斯托曼的精神感召下,林纳斯很快以Linux这个名字把这款类Unix的操作系统加入到了自由软件基金(FSF)的GNU计划中,并通过GPL的通用性授权。
短短几年间,在Linux身边已经聚集了成千上万的狂热分子,大家不计得失的为Linux增补、修改,并随之将开源运动的自由主义精神传扬下去,也就是说,Linux其实更是一个时代的结晶。
1994年3月,Linux 1.0发布,代码量达17万余行,Linux用户超过10万。
1996年6月,Linux 2.0内核发布,此时的Linux进入了实用阶段,在全球拥有约350万的用户。
随着开源软件运动的开展,也展开了一场历史性的Linux产业化运动。
因为Linux本身是开源的,再加上GPL并没有限制从事商业行为,于是涌现了越来越多的商业公司和团队来开发自己的Linux distribution。
如Ubuntu、Red Hat、SuSE、Fedora、Debian、CentOS等。
但因为这些不同版本的操作系统内核都是Linux,所以大家合在一起统一叫做Linux发行版。
Tips:将Linux内核配备一些软件、工具以及图形界面提供给用户直接使用,这就是Linux发行版操作系统。
Linux受到程序员们广泛追捧,也正是归功于其免费开源的特点,并且不断有大批程序员向Linux社区提供代码。
模块化程度高、硬件支持广泛、安全稳定、可移植性良好都是Linux在开发者眼中不可或缺的优势。Linux 可以说是一个近乎完美的操作系统,而且有着广阔的前景,值得我们每一个计算机爱好者学习和应用。
“ 程序员们成就了Linux,而Linux也成就着越来越多的程序员。”