专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

linux内核是是什么意思,一文看懂Linux内核

来源:小易整编  作者:小易  发布时间:2023-03-20 08:46
摘要:linux内核是是什么意思,一文看懂Linux内核Linux内核预备工作理解Linux内核最好预备的知识点:懂C语言懂一点操作系统的知识熟悉少量相关算法懂计算机体系结构Linux内核的特点:结合了unix操作系统的一些基础概念。Linux内...

linux内核是是什么意思,一文看懂Linux内核

Linux内核预备工作

理解Linux内核最好预备的知识点:
懂C语言
懂一点操作系统的知识
熟悉少量相关算法
懂计算机体系结构

Linux内核的特点:

结合了 unix 操作系统的一些基础概念。

Linux内核的任务:
1. 从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

2. 从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。
3. 内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。
4. 内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。
内核实现策略:
1. 微内核。最基本的功能由中央内核(微内核)实现。所有其他的功能都委托给一些独立进程,这些进程通过明确定义的通信接口与中心内核通信。
2. 宏内核。内核的所有代码,包括子系统(如内存管理、文件管理、设备驱动程序)都打包到一个文件中。内核中的每一个函数都可以访问到内核中所有其他部分。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。
哪些地方用到了内核机制?
1. 进程(在cpu的虚拟内存中分配地址空间,各个进程的地址空间完全独立;同时执行的进程数最多不超过cpu数目)之间进行通   信,需要使用特定的内核机制。
2. 进程间切换(同时执行的进程数最多不超过cpu数目),也需要用到内核机制。
进程切换也需要像 FreeRTOS 任务切换一样保存状态,并将进程置于闲置状态/恢复状态。

3. 进程的调度。确认哪个进程运行多长的时间。
Linux进程
1. 采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init 进程是进程树的根,所有的进程都直接或者间接起源于该进程。
2. 通过pstree命令查询。实际上系统的第一个进程是 systemd,而不是init(这也是疑问点)

3. 系统中每一个进程都有一个唯一标识符(ID),用户(或其他进程)可以使用ID来访问进程。

Linux内核源代码的目录结构

Linux内核源代码包括三个主要部分:
1. 内核核心代码,包括第3章所描述的各个子系统和子模块,以及其它的支撑子系统,例如电源管理、Linux初始化等。
2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软件,自己就可以编译通过)、固件集合、KVM(虚拟机技术)等。
3. 编译脚本、配置文件、帮助文档、版权说明等辅助性文件。
使用 ls 命令看到的内核源代码的顶层目录结构(Linux kernel 3.10),具体描述如下。
include/ --- 内核头文件,需要提供给外部模块(例如用户空间代码)使用。
kernel/ --- Linux内核的核心代码,包含了3.2小节所描述的进程调度子系统,以及和进程调度相关的模块。
mm/ --- 内存管理子系统(3.3小节)。
fs/ --- VFS子系统(3.4小节)。
net/ --- 不包括网络设备驱动的网络子系统(3.5小节)。
ipc/ --- IPC(进程间通信)子系统。
arch/ --- 体系结构相关的代码,例如 arm, x86 等等。 
  arch/mach --- 具体 machine/board 相关的代码。 
  arch/include/asm --- 体系结构相关的头文件。 
  arch/boot/dts --- 设备树(Device Tree)文件。
init/ --- Linux系统启动初始化相关的代码。 
block/ --- 提供块设备的层次。 
sound/ --- 音频相关的驱动及子系统,可以看作“音频子系统”。 
drivers/ --- 设备驱动(在Linux kernel 3.10中,设备驱动占了49.4的代码量)。
lib/ --- 实现需要在内核中使用的库函数,例如CRC、FIFO、list、MD5等。 
crypto/ --- 加密、解密相关的库函数。 
security/ --- 提供安全特性(SELinux)。 
virt/ --- 提供虚拟机技术(KVM等)的支持。 
usr/ --- 用于生成 initramfs 的代码。 
firmware/ --- 保存用于驱动第三方设备的固件。
samples/ --- 一些示例代码。 
tools/ --- 一些常用工具,如性能剖析、自测试等。
Kconfig, Kbuild, Makefile, scripts/ --- 用于内核编译的配置文件、脚本等。
COPYING --- 版权声明。 
MAINTAINERS ---维护者名单。 
CREDITS --- Linux主要的贡献者名单。 
REPORTING-BUGS --- Bug上报的指南。

Documentation, README --- 帮助、说明文档。

Linux内核体系结构简析

linux内核是是什么意思,一文看懂Linux内核


图1 Linux系统层次结构

最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。这点非常重要,因


本文地址:IT百科频道 https://www.hkm168.com/tags/933974.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT百科
小编:小易整编
相关文章相关阅读
  • 某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是什么

    某台微机安装的是64位操作系统中,64位指的是cpu的字长,即cpu每次能处理64位二进制数据。字长是cpu的主要技术指标之一,指的是cpu一次能并行处理的二进制位数,字长总是8的整数倍,通常pc机的字长为32位,64位。本教程操作环境:w...

  • c语言是什么意思

    c语言是什么意思

    一:c语言是什么意思C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言,以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低...

  • skype是什么软件

    skype是什么软件

    skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话,它使用全新的p2p【对等】技术将您与其他skype用户相连接。Skype是一种简单的免费软件,使您能够在数分钟之内在世界上的任何角落拨打免费电话。Sky...

  • 计算机按工作原理可分为什么

    计算机按工作原理可分为什么

    计算机按工作原理可分为数字计算机和模拟计算机。数字式电子计算机是当今世界电子计算机行业中的主流,其内部处理的是一种称为符号信号或数字信号的电信号,它有着运算速度快、运算精度高、通用性强等特点。模拟计算机是根据相似原理,用一种连续变化的模拟量...

  • 什么是电子版文件

    什么是电子版文件

    电子版文件是把纸质文档以计算机软件,如word、excel、pp、cad、photoshop等软件编辑出来,可以通过邮件、u盘、网络或其他传送方式传送的文件。本文操作环境:Windows7系统,DellG3电脑。电子版文件是把纸质文档以计...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 计算机的三类总线分别是什么?

    计算机的三类总线分别是什么?

    计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在ram之中储存的数据的地址;数据总线用于在cpu与ram之间来回传送需要处理或是需要储存的数据。总线(Bus)是计...

  • 2k屏幕是什么意思

    2k屏幕是什么意思

    2k屏幕是指分辨率能够达到2560*1440的屏幕。2k是一个通用术语,指屏幕或者内容的水平分辨率达约2000像素的分辨率等级;又因“16:9”的比例是高清晰度视频规格的国际标准,所以2k分辨率在视频制作、显示屏等领域常见格式为2560*1...

  • 周排行
  • 月排行
  • 年排行

精彩推荐