抛个砖:谁促就了Linux系统的诞生?
这个“谁”,就是五大支柱“UNIX、Minix、Internet、GNU、POSIX标准”
下面主要讲解五大支柱。
支柱一:UNIX系统
Linus参考了M.J.Bach著的《UNIX操作系统设计》,Linus使用了该书的很多函数的算法
(普及一点:UNIX是1969年由肯·汤普逊(Ken Thompson)因想在PDP-7计算机玩他非常喜欢的星际游戏(Star Trek)而用BCPL语言
在一个月内(趁他夫人回乡度假期间)开发的操作系统。后来,丹尼斯·里奇(Dennis Ritchie)在1972年用C语言重写了UNIX)
支柱二:Minix系统
Linus参考了Tanenbaum著的《操作系统:设计与实现》一书的第1版,在Linux最初内核,使用了Minix的文件系统1.0版,
但没有使用Minix系统的一句源码。此外,Linux是在i386CPU实现的,故也参考了John H. Vrawford著的《Programming the 80386》
(普及一点:Minix是Andrew S.Tanenbaum为帮助学生学习操作原理而开发的)
支柱三:GNU计划
Linux系统主要使用了GNU提供的高质量自由软件(如gcc、gdb、Bash等)
(八卦一点:GNU计划的确功不可没,要不然GNU计划的创始人Stallman怎么会说:Linux应该称为:GNU/Linux)
支柱四:POSIX标准
POSIX标准使得Linux能够在标准的指导下进行开发,并能够与绝大多数UNIX操作系统兼容
(普及一点:POSIX标准是为保证编制的应用程序在”源代码“级别上多种操作系统移植和运行而提供的统一”系统调用接口“)
支柱五:Internet
不言而喻,没有Internet,肯定没有Linux。
因为Linux的发展壮大完全是由全世界各地拥护Linux的志愿者的完善促进的
(再八卦一点:这就是Linux的开源精神!足够强大到全世界去拥护!也特别敬佩那些志愿者们!)
总结:
Linux的诞生主要由外因(GNU、POSIX、Internet、UNIX、MINIX)和内因(Linus个人能力(开发Linux前已自己移植GNU工具到i386,编写
键盘/软盘驱动程序、终端仿真程序等))蹴就的。
忘了一点:Linux系统于1991.10.5由大二的Linus Benedict Torvalds用圣诞节的压岁钱和贷款购买的一台386兼容电脑上开发的。
(再八卦一点:大二?还自学编程?是高手没错了。。。)
主要参考:
《Linux内核完全剖析——基于0.12内核》第一章