0

0

linux内核是什么意思

藏色散人

藏色散人

发布时间:2019-01-14 10:48:18

|

17421人浏览过

|

来源于php中文网

原创

linux内核是与计算机中的硬件接口的最低级别的易于更换的软件;内核负责将以“用户模式”运行的所有应用程序连接到物理硬件,并允许进程使用进程间通信从彼此获取信息。

linux内核是什么意思

本文操作环境:linux5.9.8系统、Dell G3电脑。

Linux内核拥有超过1300万行代码,是世界上最大的开源项目之一。

那么内核是什么?

内核是与计算机中的硬件接口的最低级别的易于更换的软件。它负责将以“用户模式”运行的所有应用程序连接到物理硬件,并允许进程(称为服务器)使用进程间通信(IPC)从彼此获取信息。

不同类型的内核

当然,从头开始构建内核时,有不同的方法来构建内核和架构注意事项。通常,大多数内核属于三种类型之一:单片,微内核和混合。Linux是一个单片内核,而OS X(XNU)和Windows 7使用混合内核。。

单片内核

单片内核与微内核相反,因为它们不仅包含CPU,内存和IPC,还包括设备驱动程序,文件系统管理和系统服务器调用等内容。单片内核在访问硬件和多任务处理方面往往更好,因为如果程序需要从内存中获取信息或运行它的另一个进程有一个更直接的线来访问它,而不必在队列中等待完成任务。然而,这可能会导致问题,因为在管理程序模式下运行的事情越多,如果一个行为不正常就会导致系统崩溃。

优点

更直接地访问程序的硬件

进程之间的通信更容易相互通信

如果您的设备受支持,则无需额外安装即可使用

进程反应更快,因为没有处理器时间队列

缺点

安装占地面积大

内存占用大

不太安全,因为一切都以管理员模式运行

kernel-panic-shadow.png

思乐微信商城微分销系统
思乐微信商城微分销系统

思乐微信商城微分销系统是以.net+access/mssql进行开发的微信分销系统。基于微信朋友圈的传播,是打造以分销商为中心的全新微信分销体验。让粉丝实时有效的获取朋友圈流量并快速分享购买分佣。因为是基于微信,所以要在微信上体验才更好。关注我们的微信核心功能:1、自动提示用户关注微信,解决一般程序无关注微信公众号的过程2、只要通过链接进一次,不过好久注册,什么方面注册,只要是用微信注册的,都会算

下载

Linux内核文件在哪里?

5.png

Ubuntu中的内核文件存储在/ boot文件夹中,名为vmlinuz- version。名称vmlinuz来自unix世界,他们过去常常在60年代将其内核称为“unix”,因此Linux在90年代首次开发时就开始调用他们的内核“linux”。

当开发虚拟内存以实现更轻松的多任务处理能力时,“vm”被放在文件的前面以显示内核支持虚拟内存。有一段时间Linux内核被称为vmlinux,但内核变得太大而无法容纳在可用的启动内存中,因此内核映像被压缩,结尾x被更改为az以显示它是使用zlib压缩进行压缩的。这种压缩并不总是使用,通常用LZMA或BZIP2代替,有些内核简称为zImage。

版本编号将采用ABCD格式,AB可能为2.6,C为您的版本,D表示您的补丁或修补程序

kernel-files.png

在/ boot文件夹中还有其他非常重要的文件,名为initrd.img-version,system.map-version和config-version。initrd文件用作小型RAM磁盘,用于提取和执行实际的内核文件。system.map文件在内核完全加载之前用于内存管理,配置文件告诉内核在编译内核时要加载到内核映像中的选项和模块。

Linux内核架构

由于Linux内核是单片内核,因此与其他类型的内核相比,它具有最大的占用空间和最大的复杂性。这是一个设计特性,在Linux的早期阶段引起了相当多的争论,并且仍然存在一些与单片内核固有相同的设计缺陷。

Linux内核开发人员解决这些缺陷的一件事是制作可在运行时加载和卸载的内核模块,这意味着您可以动态添加或删除内核的功能。这不仅仅是通过包含运行服务器进程的模块(如低级虚拟化)向内核添加硬件功能,而且还可以在不需要在某些情况下重新启动计算机的情况下更换整个内核。

想象一下,如果您可以升级到Windows服务包而无需重新启动...

内核模块

6.png

如果Windows已经安装了所有可用的驱动程序并且您只需打开所需的驱动程序,该怎么办?这基本上是内核模块为Linux做的。内核模块,也称为可加载内核模块(LKM),对于保持内核与所有硬件一起运行而不消耗所有可用内存至关重要。

模块通常会为基本内核添加功能,例如设备,文件系统和系统调用。LKM的文件扩展名为.ko,通常存储在/ lib / modules目录中。由于它们的模块化特性,您可以通过在启动期间使用menuconfig命令或通过编辑/ boot / config文件来设置要加载或不加载的模块来轻松自定义内核,或者您可以使用modprobe动态加载和卸载模块命令。

某些发行版(如Ubuntu)中提供了第三方和闭源模块,默认情况下可能无法安装,因为模块的源代码不可用。该软件的开发人员(即nVidia,ATI等)不提供源代码,而是构建自己的模块并编译所需的.ko文件以进行分发。虽然这些模块在啤酒中是免费的,但它们并不像语音中那样免费,因此一些发行版不包含这些模块,因为维护者认为它通过提供非自由软件来“玷污”内核。

内核不是魔术,但对于任何正常运行的计算机来说都是必不可少的。Linux内核与OS X和Windows不同,因为它包含内核级别的驱动程序,并且“开箱即用”支持许多内容。希望您能更多地了解您的软件和硬件如何协同工作以及启动计算机所需的文件。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1018

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

62

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

400

2025.12.29

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

74

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

28

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

59

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

35

2025.11.27

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

576

2023.07.26

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

PHP面向对象基础课程(更新中)
PHP面向对象基础课程(更新中)

共12课时 | 0.7万人学习

MySQL高级进阶视频教程
MySQL高级进阶视频教程

共38课时 | 12.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号