专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

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)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。这点非常重要,因


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


百科问答
小编:小易整编
相关文章相关阅读
  • 销售额是什么意思?

    销售额是什么意思?

    销售额是指商业企业的一项关键指标,代表企业在一定时期内的营业额,它实时反映企业经营活动的情况,是衡量企业经营能力和效益的重要指标。销售额可以有多种形式,如零售销售额、批发销售额和出口销售额等。销售额的计算方法很简单,即:销售额=销售数量...

  • iTools是什么意思?

    iTools是什么意思?

    iTools是一款功能强大的苹果设备管理工具。它为苹果设备用户提供了便捷的设备管理功能,包括文件传输、备份还原、应用程序管理、屏幕截图、屏幕录制、音乐管理、视频管理等多种功能,而且支持所有的i系列设备,例如iPod、iPhone和iPad...

  • 无损分区工具是什么意思?

    无损分区工具是什么意思?

    无损分区工具是一种硬盘分区方式,是指在分区时保持原有数据不受损坏的一种分区技术,这种分区技术称为“无损分区”。无损分区可以保护硬盘上的数据,在分区时不会破坏硬盘上的任何数据。而且,在数据安全性上也有一定的优势,因为它不会破坏的数据,因此可...

  • 消费凭证是什么意思?

    消费凭证是什么意思?

    消费凭证是指一种书面的证明凭证,当消费者购买商品或服务时,商家会向其提供消费凭证,凭此凭证可以证明消费者购买了特定的商品或服务,以及在这次购买中耗费的钱财数额。消费凭证是一种用于表示购买交易的依据,是为消费者提供全面鉴证的凭证。它可以表明...

  • DSM系统是什么意思?

    DSM系统是什么意思?

    DSM是一种新晋的分布式、可扩展的模块化系统。它是以无服务器、全节点一致性的系统架构为基础,采用多进程系统将服务、运维功能以模块化的方式集合到一起而不会配置服务的的系统设计模型。DSM的核心特点在于采用了一致性的分布式架构,模块化的结构,...

  • 裸金属是什么意思?

    裸金属是什么意思?

    简而言之,裸金属是指被提取出来,没有被添加任何基材的未加工金属。它是将矿石熔化下去后提炼出来的金属,用来做各种活动和企业的原材料。裸金属通常是一种切削或加工的未经热处理的金属。裸金属一般不经过任何表面处理,以自身属性状态出售。它不会涂以油...

  • CVSS是什么意思?

    CVSS是什么意思?

    CVSS(CommonVulnerabilityScoringSystem,中文译名“公共漏洞评分系统”)是一种漏洞分级和评分系统,是由美国国家信息安全标准研究所(NIST)推行的一套机制,它利用特定的参数来构建一个漏洞评级分类体系...

  • 键盘接口是什么意思?

    键盘接口是什么意思?

    键盘接口一般是用于挂接键盘的接口。它也称为键盘插座或键盘接头,它是一个连接键盘和计算机系统之间的重要硬件部件。键盘接口可以用来接收键盘上发出信号,以便在主板上发出完整的指令。键盘接口可以分为有线和无线两种,有线键盘接口是指采用插孔的连接方...

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

精彩推荐