linux是什么系统 Linux内核及Linux操作系统

导读 linux是什么系统(Linux内核和Linux操作系统)?1991年,一个叫Linus Torvalds的学生在网上发布了一个名为Linux的操作系统。它是一个操作系

linux是什么系统(Linux内核和Linux操作系统)?

1991年,一个叫Linus Torvalds的学生在网上发布了一个名为Linux的操作系统。它是一个操作系统,因为它管理计算机的核心硬件。但不能称之为真正的或生产性的操作系统,因为它只实现了对计算机资源的简单管理(即实现了一个操作系统内核),而没有集成操作系统所必需的其他工具,比如编译工具。

图1 Linus Torvalds。

在Linux早期,名词Linux实际上是Linux操作系统内核的缩写。Linux内核不是操作系统,而是实现对计算机硬件的管理,是操作系统的基础,通常包括以下几个方面:

内存管理

进程管理其实就是对CPU的管理。

设备管理,如鼠标、键盘等。

文件管理,即硬盘等存储设备的管理,抽象为文件深圳生活网系统。

网络设备管理,网络设备可以视为特例。

应用程序开发界面

由于Linux内核的开源性和免费性,越来越多的公司和个人参与到Linux内核的开发中。而且很多开源项目都移植到了Linux上,让Linux逐渐充满了深圳生活网。

渐渐地,许多公司在Linux内核中加入了开发工具和应用软件,并将Linux内核和这些用户模式软件打包成操作系统安装映像。这个系统叫做Linux操作系统或者Linux发行版。这个Linux操作系统就像Windows一样,普通用户可以用它来进行日常工作。

Linux的发行版有很多,比如Ubuntu、红帽、Suse等等。对于传统的概念,操作系统应该是一个功能完备的系统,它不仅包括内核,还包括很多应用软件。于是,Linux的含义逐渐从Linux变成了Linux操作系统,而Linux的内核也换成了“Linux内核”作为标题,以示区别。

我们简单介绍了Linux操作系统、内核和发行版。对于Linux操作系统来说,它是一个整体,包括Linux内核、系统库和系统程序。Linux内核是其最基础的部分,它实现了对硬件资源的管理,并提供了使用这些硬件资源的通用接口。

自从1991年LInux内核发布以来,很多公司都加入了其中,并基于内核构建了自己的操作系统版本,比如Redhat、Debian和Suse。图2展示了从1991年到2007年Linux发行版的演变(高清图片,请发私信,linuxtl)。可以看出,到2007年,已经有不少于20次分发。

图2 Linux发行时间表。

Linux有很多发行版。下面是对流行发行版的简单介绍。

红色深圳生活网帽子发布。

红帽Linux是红帽公司发布的Linux发行版。Red HatLinux可以算是一个“中年人”的Linux发行包,其1.0版本发布于1994年11月3日。红帽Linux应该是业界使用最广泛的操作系统,很多其他发行版都是基于这个发行版,比如CentOS和Oracle Linux。

图3红帽分布。

CentOS发行版。

CentOS发行版是红帽LInux的开源版本。它是根据开源代码的规定,由红帽Linux发布的源代码编译而成。因为红帽Linux本身就是一个商业操作系统,很多企业在使用的时候都有很多不便,所以这些企业都迁移到了CentOS。

图4 CentOS分布。

红帽、CentOS等操作系统发行版主要用于企业服务,更多用于服务器服务,如Web服务、云计算等。

Ubuntu发行版。

Ubuntu最初是基于边地的桌面发行版。Ubuntu基本上可以代替Windows实现日常的Office工作,因为它的发行版包含了日常办公常用的所有软件,比如邮件客户端、开源办公套件等我们能想到的工具。而且这些工具都是免费的。

图5 Ubuntu分布。

以下是Ubuntu桌面版的桌面截图。可以看出,Ubuntu桌面版与Windows或MacOS非常相似,美观性也很好。

图6 Ubuntu桌面。

Ubuntu发展很快。目前除了桌面版还有其他版本,比如服务版、云计算版,几乎涵盖了所有的应用领域。

Suse分布。

Suse是由德国SuSE Linux AG发行维护的Linux发行版,是本公司的注册商标。第一个版本出现在1994年初,这也是较早的发行版本之一。这家公司于2004年被Novell收购。

图7 Suse分布。

我们只介绍了比较主流的发行版。Linux的发行版很多,很难全部介绍。最后,我们总结了Linux社区中几个关键发行版和几个重要事件的时间表,如图所示。当然,这不仅包括Linux操作系统本身,还包括编译器和Git版本控制工具。

图8 Linux中的30个主要事件。

我们介绍了操作系统不仅包含内核,而且内核只是操作系统的基础,实现了对硬件资源的管理。操作系统组件通常包括以下部分:

操作系统内核

系统数据库

系统工具集。

基于以上关键组件,用户可以使用操作系统或基于操作系统开发自己的应用程序。图4是Linux操作系统体系结构的示意图。从这张图中,我们可以看到操作系统与硬件和应用软件之间的关系。让我们分别介绍一下各个部分的含义和作用。

图4 Linux整体架构。

Linux内核(内核)

它是内核操作系统的核心和基础部分。它实现了对计算机硬件的管理,并提供了到上层的接口。这里的接口包括开发接口和管理接口等。一般来说,操作系统内核有两种类型,它们是微内核和宏内核。

微内核,顾名思义,只包含最基本的特性。在微内核操作系统中,只提供非常简单的软件,包括内存管理、进程管理、进程通信等。

宏内核,不仅提供内存管理、进程管理、通信等功能,还包含很多驱动。此外,这些驱动程序通常可以动态加载和卸载。

系统数据库

操作系统不能自激,但最重要的是为上层提供一个抽象的接口,让开发者可以开发应用,利用计算机资源。系统库是操作系统提供的抽象接口,即开发接口或系统API。类似的接口有很多,比如访问文件系统的API、网络套接字API或进程管理API等。

系统程序(工具集)

工具集实际上是操作系统附带的一些软件。这些软件主要实现对操作系统的管理和监控功能。例如,查看操作系统网络状态(ifconfig)、磁盘格式化和磁盘负载监控等。类似的工具有很多,这里不再赘述。

以上只是简单介绍了Linux操作系统的几个核心组件。事实上,Linux的整体架构要复杂得多。从Linux内核的角度来看,它需要管理CPU、内存、网卡、硬盘、I/O等设备,所以内核本身分为四个核心子系统:进程调度、内存管理、虚拟文件系统和网络接口。

图5 Linux子系统架构。

由于篇幅有限,本文无法详细介绍这些子系统。更多,更深入的介绍我们后面会介绍。更多精彩内容,请关注这个号和圈。