什么是linux内核_linux内核有什么用

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解什么是linux内核_linux内核有什么用问题。 Linux是一个开源的计

大家好,我是本期栏目编辑小友,现在为大家讲解什么是linux内核_linux内核有什么用问题。

Linux是一个开源的计算机操作系统内核。它是一个类似Unix的操作系统,用C语言编写,符合POSIX标准。

Linux最初由芬兰黑客Linus Torvalds开发,试图在英特尔x86架构上提供一个免费的类似Unix的操作系统。该计划始于1991年,一些Minix黑客在计划的早期阶段提供了帮助。今天,全世界无数的程序员都在免费帮助这个程序。

Linux内核是整个操作系统的最底层,负责驱动整个硬件,提供各种系统所需的核心功能,包括防火墙机制,是否支持LVM或Quota等文件系统等。如果内核不知道一些最新的硬件,那么硬件就无法驱动,你也无法使用。

电脑真正工作的其实是硬件,比如数值计算的CPU,数据存储的硬盘,图形显示的显示适配器,音乐发声的声音芯片,连接互联网的网卡。核心是控制这些芯片如何工作。

当然,内核的内部结构也非常复杂,下图展示了内核各个模块之间的映射:

现在我们从更高的层面来看一下GNU/Linux操作系统的架构。您可以从两个层面考虑操作系统,如图2所示。

图2。GNU/Linux操作系统的基本架构。

顶部是用户(或应用程序)空间。这是执行用户应用程序的地方。用户空间下面是内核空间,Linux内核就在这里。

GNU C库(glibc)也在这里。它提供了与内核连接的系统调用接口,还提供了用户空间应用程序和内核之间的转换机制。这很重要,因为内核和用户空间应用程序使用不同的受保护地址空间。每个用户空间进程都使用自己的虚拟地址空间,而内核占用单独的地址空间。有关更多信息,请参见参考资料部分中的链接。

Linux内核可以进一步分为三层。顶部是系统调用接口,实现一些基本功能,比如读写。系统调用接口下面是内核代码,可以更准确地定义为独立于架构的内核代码。这些代码对于Linux支持的所有处理器架构都是通用的。这些代码下面是依赖于架构的代码,它构成了通常称为BSP(板支持包)的部分。这些代码用作给定架构的处理器和平台特定代码。

Linux内核的一些有用特性。

如果Linux内核的可移植性和效率不够好,那么Linux还提供了一些其他的特性,这些特性是不能归入以上几类的。

作为生产操作系统和开源软件,Linux是测试新协议及其增强的良好平台。Linux支持大量的网络协议,包括典型的TCP/IP和高速网络的扩展(超过1gb以太网[GbE]]和10 GbE)。Linux还可以支持流控制传输协议(SCTP)等协议,它提供了比TCP(它是传输层协议的继承者)更高级的特性。

Linux也是一个动态内核,支持动态添加或删除软件组件。它们被称为可动态加载的内核模块,用户可以在引导时根据需要(目前特定设备需要该模块)或随时插入。

Linux的最新增强是可以用作其他操作系统的操作系统(称为hypervisor)。最近内核做了修改,叫做基于内核的虚拟机(KVM)。这一修改为用户空间启用了一个新的界面,允许其他操作系统在支持KVM的内核上运行。除了运行Linux的其他实例,微软视窗也可以虚拟化。唯一的限制是底层处理器必须支持新的虚拟化指令。

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。