休闲用户和低于铁杆的粉丝,Linux.是一个操作系统。然而,对于纯粹主义者来说,这是一个标题Linux.为驱动操作系统的内核保留。
模式
在解释什么是内核之前,理解这些术语是很重要的用户模式和内核模式。用户模式是执行代码无法直接访问硬件或引用内存的能力。要访问硬件和内存,请在用户模式下运行的代码必须将指示委派给系统应用程序编程接口。内核模式是在执行代码时具有对所有硬件的不受限制的访问 - 它保留了用于操作系统最受信任的功能。
什么是内核?
每个操作系统都有一个内核。视窗,macOS那iOS.那安卓那Chrome OS.并且Linux每个都有一个低级系统,该系统负责将所有应用与计算机的物理硬件接口。没有内核,您的应用程序都无法使用物理计算机;像Firefox,Chrome,LibreOffice或Outlook这样的应用程序将无法正常工作。内核也负责允许使用所谓的进程间通信的内容来交换信息。
(一般来说)三种类型的核:
- 单片内核:这些核包括CPU、内存、IPC、设备驱动程序、文件系统管理和系统服务器调用。它还负责将空闲的系统内存传递给应用程序。这些类型的内核通常更擅长访问硬件和多任务处理。
- microkernels.微内核采用最低限度的方法,只管理CPU、内存和IPC。
- 混合的内核:混合内核有能力决定他们想要在用户或内核模式下运行的内容。虽然这提供了两个世界的最佳,但它需要更多的是硬件制造商的更多信息来创建用于在运行代码和硬件之间接口的驱动程序。
Linux使用开源,单片内核,而MacOS和Windows都使用混合内核。Linux内核是由Linus Torvalds于1991年构思的。至今,Torvalds继续成为Linux内核上的主导开发人员,而来自世界各地的开发人员都会有助于Linux内核。事实上,据估计,自超过1000家公司的开发人员近10,000名开发人员为Linux内核贡献了2005年的跟踪。
内核在哪里?
如果打开终端窗口并发出命令ls / boot.,您将看到一个名为vmlinuz-VERSION(其中版本是发布名称或数字)。vmlinuz文件是实际的可启动Linux内核,以及Z.表示内核被压缩 - 所以而不是vmlinux.我们有vmlinuz.。
在该/引导目录中是其他重要内核文件,例如initrd.img-version,system.map-version和config-version(其中版本是名称或发行号码)。这些其他文件提供以下目的:
- initrd.:用作提取和执行实际内核文件的小ramdisk。
- system.map:用于内核加载之前的内存管理。
- 配置:指示内核在加载哪些选项和模块上。
模块
如果没有模块,内核就没有多大用处。模块有效地打开与硬件通信所需的驱动程序,而不消耗所有的系统内存。模块还向内核添加了一些功能,如与外围设备通信、管理文件系统、安全性等。用下面的命令列出、添加和删除内核中的模块:
- lsmod.列出所有当前加载的内核模块。
- insmod.将内核模块加载到运行内核中。
- rmmod.从正在运行的内核卸载模块。
在一些简单命令的帮助下,Linux内核可以非常灵活。
当前的核心
Linux内核经常更新,但并不是所有的Linux发行版都包含最新的内核。
您可以自由地下载不同版本的Linux内核kernel.org.自己编译。Linux内核的编译任务最好留给那些真正了解自己在做什么的人去完成。不正确编译的内核会导致系统无法引导。因此,除非您已经准备好深入研究在这个级别上编译代码的挑战性任务,否则请使用在选择的发行版上发布和更新的默认内核。