欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

linux系统有什么用处(linux操作系统的特点)

程序员文章站 2022-03-23 13:51:56
我们经常傻傻的分不清楚linux内核和linux操作系统。对redhat、centos和ubuntu等更是稀里糊涂。今天我们介绍一下关于linux的相关概念、发展历史及linux操作系统的整体架构。关...

我们经常傻傻的分不清楚linux内核和linux操作系统。对redhat、centos和ubuntu等更是稀里糊涂。今天我们介绍一下关于linux的相关概念、发展历史及linux操作系统的整体架构。

关于linux的技术及其它问题欢迎大家进圈子讨论,目前圈子是完全免费的!!!

由于普通文章无法修改,但技术文章不可避免的会出现一些错误,修改在所难免,因此本号稍后会将文章同步到专栏当中。专栏中的文章正确性更强,系统性也更强。

什么是linux及内核

在1991年,有个名为linus torvalds的学生在互联网上发布了一个名为linux的操作系统。说它是操作系统是因为它实现了对计算机核心硬件的管理。但是它有不能称为一个真正的或者说可用于生产的操作系统,因为它只实现了对计算机资源的简单管理(也就是实现了一个操作系统内核),却没有编译工具等其它操作系统必备的工具集成到其中。linux系统有什么用处(linux操作系统的特点)

图1 linus torvalds大神

在linux的早期,linux这个名词其实就是linux操作系统内核的简称。linux内核并非操作系统而是实现了对计算机硬件的管理,是操作系统的基座,通常包括如下几个方面:内存管理进程管理,其实就是对cpu的管理设备管理,例如鼠标,键盘等文件管理,也就是对硬盘等存储设备的管理,抽象为文件系统网络设备管理,网络设备可以看作一个特例应用程序开发接口

由于linux内核开源且免费的特点,越来越多的公司和个人参与到linux内核的开发当中。而且很多开源项目也移植到linux之上,这样linux逐渐丰满起来。

慢慢的,很多公司在linux内核的基础上增加了开发工具和应用软件,将linux内核和这些用户态的软件打包成为一个操作系统安装镜像,这个系统称为linux操作系统,或者称为linux发行版。这个linux操作系统就好像windows系统一样,普通用户可以使用它进行日常工作。

linux发行版很多,比如我们见的比较多的有ubuntu、redhat和suse等等,非常之多。对于传统概念,操作系统应该是一个具备完整功能的系统,它不仅仅包括内核,还要包括很多应用软件。因此,后来逐渐将linux的含义由linux转换为linux操作系统,而linux的内核则用”linux内核“作为称呼,以便于进行区分。

linux操作系统及各种发行版

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

自1991年发布linux内核来,很多公司加入其中,在内核的基础上构建了自己的操作系统版本,比如redhat、debian和suse等等。如图2是从1991年到2007年间linux发行版的演化情况(高清图请私信, linuxtl)。可以看出,到2007年已经有不少于20个发行版了。linux系统有什么用处(linux操作系统的特点)

图2 linux发行版时间线

linux发行版很多,下面简单的介绍比较流行的发行版。

redhat发行版

red hat linux是由red hat公司发布的一个linux发行版。red hat linux可算是一个“中年”的linux发布包,其1.0版本于1994年11月3日发布。red hat linux应该是业界应用最多的操作系统了,很多其它发行版都是基于该发行版,例如centos和oracle linux等等。linux系统有什么用处(linux操作系统的特点)

图3 redhat发行版

centos发行版

centos发行版是一个red hat linux的开源版本。它是来自于red hat linux依照开放源代码规定释出的源代码所编译而成。由于red hat linux本身是一个商业操作系统,因此很多企业在使用是存在诸多不便,这些企业就转移到centos上来。linux系统有什么用处(linux操作系统的特点)

图4 centos发行版

red hat和centos等操作系统发行版主要应用在企业服务中,更多的应用在服务端业务中,比如web服务和云计算等等

ubuntu发行版

ubuntu最早是一个基于dibian的桌面版发行版。ubuntu基本上可以代替windows实现日常办公,因为其发行版中包含日常办公常用的所有软件,比如邮件客户端,开源office套件等等我们能想到的工具。而且这些工具都是免费的。linux系统有什么用处(linux操作系统的特点)

图5 ubuntu发行版

下面是ubuntu桌面版的一个桌面截图,可以看出其跟windows或则macos很像,美观度也是很赞的。linux系统有什么用处(linux操作系统的特点)

图6 ubuntu桌面

ubuntu发展很快,目前除了桌面版外还有服务版和云计算版等其它版本,几乎涵盖了所有的应用领域。

suse发行版

suse是德国 suse linux ag公司发行维护的linux发行版,是属于此公司的注册商标。第一个版本出现在1994年年初,也是比较早的发行版之一。2004年这家公司被novell公司收购。linux系统有什么用处(linux操作系统的特点)

图7 suse发行版

我们只介绍了比较主流的发行版。linux的发行版还很多,很难全部介绍。最后我们总结一下几个关键发行版的时间线以及linux社区的比较重要的几个大事件,具体如图所示。当然,这里面不仅仅包括linux操作系统本身,还包括编译器和git版本控制工具等等。linux系统有什么用处(linux操作系统的特点)

图8 linux30件大事

linux操作系统整体架构

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

  1. 操作系统内核
  2. 系统库
  3. 系统工具集

基于上述关键组件,用户可以使用该操作系统,或者基于该操作系统开发自己的应用程序。如图4为linux操作系统架构简图。从这张图中我们可以看出操作系统与硬件及应用软件间的关系。下面我们分别介绍一下各部分含义和作用。linux系统有什么用处(linux操作系统的特点)

图4 linux整体架构

linux内核(kernel)

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

微内核,正如其名字一样,它只包含最基础的功能特性。在微内核操作系统中只提供了非常简单的软件,包括内存管理,进程管理和进程通信等等特性。

宏内核,宏内核不仅仅提供内存管理、进程管理和通信的特性,还包含很多驱动程序。而且,这些驱动程序通常是可以动态的加载和卸载。

系统库

操作系统不能自嗨,其最重要的是为上层提供抽象的接口,这样开发人员才能开发应用程序,从而利用计算机资源。其中系统库就是操作系统提供的抽象接口,也就是开发接口或者系统api。类似的接口很多,比如访问文件系统的api,网络套接字api或者进程管理api等等。

系统程序(工具集)

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

上面只是简单的介绍了一下linux操作系统的几个核心组件,其实linux的整体架构要复杂的多。单纯从linux内核的角度,它要管理cpu、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。linux系统有什么用处(linux操作系统的特点)

图5 linux子系统架构

由于篇幅有限,本文不可能对上述子系统进行更加详细的介绍。更多,更深入的介绍我们后面专门进行介绍。更多精彩内容请关注本号及圈子。