Linux是什么?

Linux是操作系统。
是一套免费使用和自由传播的类 Unix 操作系统,支持多用户、多任务、支持多线程和多 CPU 的操作系统。
我们通常说的Linux指的是Linux内核。
(什么是内核见后文)

发展简史

  • 20世纪70年代:贝尔实验室,C语言和Unix正式诞生;
  • 1987年,阿姆斯特丹的大学教授:Andrew S. Tanenbaum教授发布Minix,是一个类Unix的用于教学的操作系统;
  • 1991年,Linix内核由芬兰人Linus第一次释出,它主要受到Minix和Unix思想的启发,是广泛传播的类UNIX操作系统。
  • 1994年,Linux 1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议;
  • 1995年,发行版问世,Bob Young创办了RedHat(小红帽),以GNU、Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux发行版,即RedHat Linux,称为Linux发行版,在市场上出售;
  • 1996年,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用;
  • 至今蓬勃发展,各种发行版在服务器、嵌入式操作系统中占统治地位;

操作系统内核

kernel(内核),
是操作系统最基本的部分。

它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。严格地说,内核并不是计算机系统中必要的组成部分。

内核由操作系统中用于管内理存储器、文件、外容设和系统资源的那些部分组成。
操作系统内核通常运行进程,并提供进程间的通信。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。
直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。
硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。早期计算机程序可直接地被调入计算机中执行,但是这样的问题就是你的程序中会包括大量的硬件驱动的代码。这和业务是没有关系的。
另外,一个内核不是一套完整的操作系统。
一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。
(内核又是很复杂的东西了,设计上整体分为宏内核和微内核)

发行版

上文说: 一个内核不是一套完整的操作系统。
那么发行版这个概念,我们可以简单的理解为:内核 + 应用软件,提供一套完整的计算机使用解决方案。
发行版有商业收费版和免费社区版,最常听到的有:

Red Hat

Red Hat,RHEL(Red Hat Enterprise Linux)是商业版Linux系统,一般多用于企业生产环境,提供完善的商业支持,在性能、稳定性方面也有很大的保障。
据说主要是靠中间件卖钱。

CentOS

CentOS可以理解为是基于RedHat商业版系统的社区编译重发布版,完全开源免费,因此相较于其他一些免费的Linux发行版会更加稳定,也因此一般企业里常用作服务器操作系统。
国内目前服务器首选。

Fedora

Fedora其实和RedHat也同属一个派系,背后的支撑企业也是红帽子公司。但是Fedora是免费发行版,而且更加侧重于新技术的试验和加持,因此稳定性方面的考量较CentOS会稍微次要一些。

Ubuntu

Ubuntu界面比较华丽,包管理器很完善,社区也非常活跃,个人用户确实很多,所以从市面上看的确比较大众化。
最好看,个人用户最多。

Debian

Debian和Ubuntu是一个派系的,但界面可能没有Ubuntu那么华丽,但是比较稳定,也适合用作服务器操作系统。Debian在开源圈子用得十分广泛,也有一大批开源爱好者活跃于其中。
据说国内不如国外流行。

这些是最常听说的。这些发行版本之间会有一些软件方面的差异,比如界面,包管理器,甚至命令。但总体上都是基于Linux内核的,都算Linux。

茶余饭后可以当小说的历史八卦文(作者文笔流畅,极具史诗感):
操作系统Unix、Windows、Mac OS、Linux的故事