昨天看文章时发现本身对 linux 操做系统不够了解,还记得 17 年时听过老师的一些课,对 linux 的历史有一点了解,不过当时并无记录笔记,如今已经忘的差很少了。php
此次从网上找资料,又从新看了一遍,同时作了一些笔记。linux
此次看的是鸟哥的文章,他把 unix linux 的起源历史讲的至关细致,读起来很是有意思,并且原本他们的历史也是一个很是复杂曲折的过程,认真读一读也是收货颇多。git
Unix 算是操做系统的鼻祖,尽管如今移动平台中的 Android、iOS 操做系统,电脑中的 MAC OS 以及 windows 操做系统都很流行,可是他们其实都是后来才出现的,何况苹果的 mac os 实际也是 Unix 的一个分支而来。github
Unix 诞生在上世纪 60 年代,但它的诞生并非有意为之,而是从贝尔实验室、麻省理工学院、通用电器合做的一个失败的项目(Multics)演变而来。当时他们作的项目因为资金问题以及延期等缘由失败了,后来项目中的另外一我的在作本身的我的项目时,想到了以前的旧项目,以为能够拿过来改一改,有可用的地方,因此本身大幅度更改了旧项目,让其简化,并起名 Unics ,不过一开始他用的是汇编语言,因此它的可移植性并很差。shell
后来实验室的同事发现这个东西太好用了,可是移植性差,后来便把它用更高级的 C 语言重写了一遍,同时把名字改成 Unix,这才是 Unix 的开始,这一年是 1973 年。windows
这时 Unix 正式登上历史舞台,不过当时版权、软件许可证等等条件都不完善,Unix 在变得流行的同时,也出现了不少问题,Unix 一开始比较 open,源代码你们能够相对轻松的看到,后来贝尔实验室的母公司 AT&T 发布了一条禁令,禁止大学用 Unix 源码进行教学。这条禁令让一个大学教授 Tanenbaum 很费神,由于他的工做就是教学生 Unix。模块化
可是方法总比问题多,他本身曲线救国,想到了本身造一个相似 Unix 的操做系统,毕竟他对 Unix 已经十分熟悉,为了防止版权问题,他在写操做系统时彻底不看 Unix 源码,后来本身耗时两年,在 1984 年开始写,到 1986 年写完了这个类 Unix 的操做系统,并起名 Minix,意思就是迷你 Unix 系统。另外这个系统彻底兼容 Unix,也就是说在 Unix 上运行的软件,也能够在 Minix 上运行。工具
不过 Tanenbaum 开发 Minix 初衷是为了方便本身教学,因此完成 Minix 后,他并不去推广,并且它并难免费,你想看必须经过购买光磁带才行,不过当时很便宜,与此同时磁带中还附带了源码,很是良心啊,可是这样传播仍是很慢,这是 1986 年。优化
慢慢的你们发现这个 Minix 也很好用啊,有不少人在论坛里给 Tanenbaum 提建议,以为 Minix 还能够变得更好,可是教授太忙,本身也无意去继续完善。操作系统
终于历史即将迎来起色...
Richard Stallman 是一个自由软件的追求者,同时是一个即刻,他信仰自由软件,相比商业软件,自由软件能够更加快速的传播,能够团结更多优秀工程师的力量,可是 Unix 在是一个商业软件,因此他但愿建立一个真真自由而开放源代码的专有 Unix 系统替代品。可是建立一个操做系统谈何容易,他开始以 GUN 的名义开发 Unix 平台上的工具程序和软件,Unix 源码不开源,可是我开发的这些软件套件开源。当时也有一个内核项目在进行,但倒是是一件很难的是。没有内核,
自由软件和开源就很难进行,可是他的工做仍是很是有意义的,他开发了 GUN 套件以及一些 Unix 平台上的编译程序,主要有:
后来不少软件开发者都在这些基础上用这些工具进行程序开发,进一步壮大自由软件团体,不过相比最初的构想,创建一个自由的 Unix 操做系统,这些还远远不够,由于没有内核,因此那些软件依旧只能运行在有专利的 Unix 平台上,一直到 Linux 的出现...
1988 年 芬兰人 Linus Torvalds 进入了本身外祖父的大学-赫尔辛基大学,就读计算机科学,由于专业关系,他在大学时接触到了 Unix,可是当时机器资源紧张,学校的机器不够他玩,他就像本身搞一个 Unix,可是这东西那是那么容易就搞,一个操做系统至关的复杂。
不过很快,他就知道了 Minix 的消息,因此他跟不少人同样也购买了 Minix 磁带,而后把 Minix 安装在了本身贷款购买的 Intel 386 电脑上,终于能够愉快的玩耍了,并且磁带中是有源码的,因此他就能够更改优化它,毕竟是大牛,很快他就让 Minix 支持了多任务。
后来他在 BBS 上也留言,说 Minix 能够变得更好更强大,可是 Tanenbaum 依旧不肯意去作这件事,后来 Linus Torvalds 就想,何不本身搞一个内核玩,并且如今还有 Minix 可借鉴,站在巨人的肩膀上,一切作起来就简单多了,因此他就开始了核心程序的开发。
好在那时的不少软件条件都已经具有,很重要的就是GNU 的自由软件, 他用GNU 的自由软件(上一节提到的)将核心程序代码与386牢牢的结合在一块儿,最终写出他所须要的核心程序。而后发布在了校内 BBS 上。
同时提供了下载,有趣的是因为 FTP 上下载目录的名称为: Linux,因此你们都开始叫它 Linux。
后来为了兼容 Unix,Linus Torvalds 决定修改 Linux,以便让全部 Unix 上能运行的软件均可以在 Linux 上运行,并且那时已经有成熟的 POSIX 规范,因此他按照这个规范,实现了这个规范,慢慢的 Linux 变得愈来愈好,愈来愈好...
咕咚,Android 工程师,我的博客 gudong.name,公众号:咕喱咕咚
