细说Linux

我们经常糊涂地将Linux内核与Linux操作系统区分开。对 Redhat、CentOS和Ubuntu更加晕头转向。 今天,我们介绍Linux操作系统的相关概念、开发历史和总体架构。

什么是Linux及内核

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

在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发行版很多,下面简单的介绍比较流行的发行版。

Redhat发行版

Red HatLinux是由Red Hat公司发布的一个Linux发行版。Red Hat Linux可算是一个“中年”的Linux发布包,其1.0版本于1994年11月3日发布。Red Hat Linux应该是业界应用最多的操作系统了,很多其它发行版都是基于该发行版,例如CentOS和Oracle Linux等等。

CentOS发行版

CentOS发行版是一个Red Hat LInux的开源版本。它是来自于Red Hat Linux依照开放源代码规定释出的源代码所编译而成。由于Red Hat Linux本身是一个商业操作系统,因此很多企业在使用是存在诸多不便,这些企业就转移到CentOS上来。

Red Hat和CentOS等操作系统发行版主要应用在企业服务中,更多的应用在服务端业务中,比如Web服务和云计算等等。

Ubuntu发行版

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

下面是Ubuntu桌面版的一个桌面截图,可以看出其跟Windows或则MacOS很像,美观度也是很赞的。

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

Suse发行版

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

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

Linux操作系统整体架构

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

操作系统内核系统库系统工具集基于上述关键组件,用户可以使用该操作系统,或者基于该操作系统开发自己的应用程序。如图4为Linux操作系统架构简图。从这张图中我们可以看出操作系统与硬件及应用软件间的关系。下面我们分别介绍一下各部分含义和作用。

Linux内核(Kernel)

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

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

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

系统库

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

系统程序(工具集)

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

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

、来源:细说Linux - 21ic电子网

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux是一种开源的操作系统,它的核心是由Linus Torvalds开发的。它的特点是稳定、安全、高效、灵活和可定制化。Linux的基础知识包括以下几个方面: 1. Linux的文件系统:Linux的文件系统是以树形结构组织的,根目录为“/”,其他目录都是在根目录下的子目录。Linux的文件系统中,所有的文件和目录都是以“/”开头的绝对路径。 2. Linux的命令行界面:Linux的命令行界面是通过终端窗口来实现的。在终端窗口中,用户可以通过输入命令来操作系统。Linux的命令行界面可以让用户更加高效地操作系统。 3. Linux的用户和权限管理:Linux的用户和权限管理是非常重要的。Linux系统中,每个用户都有自己的用户名和密码。用户可以通过用户名和密码登录系统,并且每个用户都有自己的权限。管理员可以通过设置权限来控制用户对系统的访问。 4. Linux的软件包管理:Linux的软件包管理是非常方便的。Linux系统中,用户可以通过软件包管理器来安装、升级和删除软件包。软件包管理器可以自动解决软件包之间的依赖关系,让用户更加方便地管理软件。 5. Linux的网络管理:Linux的网络管理是非常强大的。Linux系统中,用户可以通过网络管理工具来配置网络设置、管理网络连接和监控网络流量。Linux还支持各种网络协议和服务,包括TCP/IP、HTTP、FTP、SSH等。 总之,Linux的基础知识包括文件系统、命令行界面、用户和权限管理、软件包管理和网络管理等方面。掌握这些知识可以让用户更加高效地使用Linux系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值