1991. Linus Torvalds买了一台32位的386的机子,买不起正版的unix。
当时有一个用于教学的开放源码的unix系统, minix (由于早期unix系统的开放性, minix系统得以发展) , 但它只能运行于16位机器上,并且功能简单, Linus于是决定自己开发操作系统,借机学习386的底层编程技术。他借鉴了minix系统的设计原则, 编写了自己的内核。但linux系统用的是不同的实现方法。最显著的差别是: minix是微内核结构(micro kernel), linux是单内核(monolithic kernel). 这里有一篇文章比较了这两个系统的一些源码, 以说明linux是另外的实现而不是copy: 《Source comparison of early linux and minix versions》
1991.9.17, linux首次发布。
linux主要依据POSIX标准来设计, 在posix没有涉及的地方, linux除了网络部分一般都参考System V的实践。
讲linux,不得不提到GNU,GNU项目旨在创建一个类unix的,基于posix标准的操作系统及其上层的应用。GNU是richard stallman在1984年建立的自由软件基金会(Free Software Foundation)的一个子项目。在1991年linux发布的时候,gnu已经发展了gcc, emacs,bash等工具, 但并没有系统内核和驱动。 linux内核发布后很快采用了GNU的GPL协议, 在这个框架下, linux进一步发展,gun组件加入,而成就了gnu/linux。这也是linux是基于posix标准的原因。
随着linux的发展, 它有了更多的自己的特性。另一方面,第三方组件加入, 比如x-window system,使得linux发展成为一个功能全面的操作系统。各个厂商对linux内核的扩展(修改)不同, 就有了很多不同的linux版本, 如redhat, ubuntu。
参考链接
当时有一个用于教学的开放源码的unix系统, minix (由于早期unix系统的开放性, minix系统得以发展) , 但它只能运行于16位机器上,并且功能简单, Linus于是决定自己开发操作系统,借机学习386的底层编程技术。他借鉴了minix系统的设计原则, 编写了自己的内核。但linux系统用的是不同的实现方法。最显著的差别是: minix是微内核结构(micro kernel), linux是单内核(monolithic kernel). 这里有一篇文章比较了这两个系统的一些源码, 以说明linux是另外的实现而不是copy: 《Source comparison of early linux and minix versions》
1991.9.17, linux首次发布。
linux主要依据POSIX标准来设计, 在posix没有涉及的地方, linux除了网络部分一般都参考System V的实践。
讲linux,不得不提到GNU,GNU项目旨在创建一个类unix的,基于posix标准的操作系统及其上层的应用。GNU是richard stallman在1984年建立的自由软件基金会(Free Software Foundation)的一个子项目。在1991年linux发布的时候,gnu已经发展了gcc, emacs,bash等工具, 但并没有系统内核和驱动。 linux内核发布后很快采用了GNU的GPL协议, 在这个框架下, linux进一步发展,gun组件加入,而成就了gnu/linux。这也是linux是基于posix标准的原因。
随着linux的发展, 它有了更多的自己的特性。另一方面,第三方组件加入, 比如x-window system,使得linux发展成为一个功能全面的操作系统。各个厂商对linux内核的扩展(修改)不同, 就有了很多不同的linux版本, 如redhat, ubuntu。
参考链接
- Answers.com的linux条目
- History of Linux, 有意思的是minix的作者对linus的指责
- Linux: the big picture, linux的简要历史和其社会效应