每天十条linux知识点-24-0226(1)

文章目录

  • 1.在哪下载linux内核源码?
  • 2.linux文件夹都有哪些文件?
    • ·arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。
    • ·block:块设备驱动程序I/O调度。
    • ·certs:这个目录可能包含用于内核和模块签名或认证的证书文件。这些证书可以确保加载的内核或模块经过合法认证,提高系统安全性。
    • ·crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。
    • ·documentation:内核各部分的通用解释和注释。
    • ·drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。
    • ·fs:所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2等。
    • ·include:头文件,与系统相关的头文件放置在include/linux子目录下。
    • ·init:内核初始化代码。著名的start_kernel()就位于init/main.c文件中。
    • -io_usring:这个目录可能包含有关 Linux 内核中用户态 I/O 用户环包的相关代码。用户态 I/O 用户环是一种提供高性能 I/O 操作的技术,可以在用户态进行异步 I/O 操作。
    • ·ipc:进程间通信的代码。
    • ·kernel:内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。
    • ·lib:库文件代码。
    • ·mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。
    • ·net:网络相关代码,实现各种常见的网络协议。
    • -rust:这个目录可能指的是 Linux 内核中用 Rust 编程语言编写的部分代码。Rust 是一种系统级编程语言,逐渐在 Linux 内核开发中得到一些应用。
    • -samples:这个目录包含一些示例代码或范例,用于展示如何在 Linux 内核中实现特定功能或特性。这些示例可以帮助开发人员快速了解如何使用内核提供的接口和功能。
    • ·scripts:用于配置内核的脚本文件。
    • ·security:主要是一个SELinux的模块。
    • ·sound:ALSA、OSS音频设备的驱动核心代码和常用设备驱动。
    • -tools:这个目录通常包含一些用于辅助开发、调试或分析 Linux 内核的工具。这些工具可以帮助开发人员对内核进行分析、性能调优等操作。
    • ·usr:实现用于打包和压缩的cpio等。
    • -virt:这个目录通常指的是 Linux 内核中用于支持虚拟化技术的相关代码。在这个目录下可能包含与虚拟化相关的驱动、接口、调度器等代码。
  • 3.linux内核的组成
  • 4.

1.在哪下载linux内核源码?

https://www.kernel.org/
在这里插入图片描述

2.linux文件夹都有哪些文件?

在这里插入图片描述

·arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、arm、arm64、powerpc、mips等。

Linux内核目前已经支持30种左右的体系结构。在arch目录下,存放的是各个平台以及各个平台的芯片对Linux内核进程调度、内存管理、中断等的支持,以及每个具体的SoC和电路板的板级支持代码。

·block:块设备驱动程序I/O调度。

·certs:这个目录可能包含用于内核和模块签名或认证的证书文件。这些证书可以确保加载的内核或模块经过合法认证,提高系统安全性。

·crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。

·documentation:内核各部分的通用解释和注释。

·drivers:设备驱动程序,每个不同的驱动占用一个子目录,如char、block、net、mtd、i2c等。

·fs:所支持的各种文件系统,如EXT、FAT、NTFS、JFFS2等。

·include:头文件,与系统相关的头文件放置在include/linux子目录下。

·init:内核初始化代码。著名的start_kernel()就位于init/main.c文件中。

-io_usring:这个目录可能包含有关 Linux 内核中用户态 I/O 用户环包的相关代码。用户态 I/O 用户环是一种提供高性能 I/O 操作的技术,可以在用户态进行异步 I/O 操作。

·ipc:进程间通信的代码。

·kernel:内核最核心的部分,包括进程调度、定时器等,而和平台相关的一部分代码放在arch/*/kernel目录下。

·lib:库文件代码。

·mm:内存管理代码,和平台相关的一部分代码放在arch/*/mm目录下。

·net:网络相关代码,实现各种常见的网络协议。

-rust:这个目录可能指的是 Linux 内核中用 Rust 编程语言编写的部分代码。Rust 是一种系统级编程语言,逐渐在 Linux 内核开发中得到一些应用。

-samples:这个目录包含一些示例代码或范例,用于展示如何在 Linux 内核中实现特定功能或特性。这些示例可以帮助开发人员快速了解如何使用内核提供的接口和功能。

·scripts:用于配置内核的脚本文件。

·security:主要是一个SELinux的模块。

·sound:ALSA、OSS音频设备的驱动核心代码和常用设备驱动。

-tools:这个目录通常包含一些用于辅助开发、调试或分析 Linux 内核的工具。这些工具可以帮助开发人员对内核进行分析、性能调优等操作。

·usr:实现用于打包和压缩的cpio等。

-virt:这个目录通常指的是 Linux 内核中用于支持虚拟化技术的相关代码。在这个目录下可能包含与虚拟化相关的驱动、接口、调度器等代码。

内核一般要做到drivers与arch的软件架构分离,驱动中不包含板级信息,让驱动跨平台。同时内核的通用部分(如kernel、fs、ipc、net等)则与具体的硬件(arch和drivers)剥离。

3.linux内核的组成

答:
Linux内核主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)5个子系统组成。
在这里插入图片描述
在这里插入图片描述

4.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/499280.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

07-Linux部署Nginx

Linux部署Nginx 简介 NGINX是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的特点包括占用内存少、并发能力强,因此在处理高负载和高并发的场景时表现优秀。NGINX由俄罗斯的程序设计师Igor Sysoev开发,最初是为俄…

面向对象编程入门:掌握C++类的基础(2/3):深入理解C++中的类成员函数

在C编程中,类是构建程序的基石,而理解类的默认成员函数对于高效使用C至关重要。本文将深入探讨这六个默认成员函数及其他相关概念,提供给读者一个全面的视角。 类的6个默认成员函数: 如果一个类中什么成员都没有,简称为…

如何在Win系统从零开始搭建Z-blog网站,并将本地博客发布到公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

1990-2022年世界各国基于消费的人均CO2排放/世界各国基于人均消费的二氧化碳排放数据

1990-2022年世界各国基于消费的人均CO2排放/世界各国基于人均消费的二氧化碳排放数据 1、时间:1990-2022年 2、指标:Entity、Code、Year、Annual CO2 emissions (per capita)、Per capita consumption-based CO2 emissions 3、来源:GCP 4…

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习,在我之前的文章中射击子弹案例-CSDN博客 本篇使用C实现 1.创建C类 MyBullet,在MyBullet.h中包含相关头文件 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/StaticMeshComponent.…

本地搭建xss平台并获取cookie演练

前言 一般而言,搭建xss平台是不被允许的,但是由于教育的目的,搭建xss平台更能让学习者更加直观感受xss漏洞对我们的危害和它的重要性。 搭建xss平台 1.搭建xss平台的基础是在phpstudy一个集成环境上的,所有第一步要安装phpstudy&a…

VS Code常用快捷键

前言 对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率。以下是我整理的一份VS Code常用快捷键清单,希望能够帮助到你,欢迎在评论区留下你的常用快捷键🤞。 设置VS Code中的键盘快捷…

C++ 之LeetCode刷题记录(三十六)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 16. 最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你…

buuctf_web_knife

题目: 哥们,名字叫白给的shell,嘻嘻。本题主要练习一下蚁剑工具 激动的心,颤抖的手,我打开了蚁剑。在空白处右击 然后,输入URL,密码(所以上面说白给)是Syc 添加后点进…

Go语言必知必会100问题-10 小心类型嵌入导致的问题

小心类型嵌入导致的问题 在定义结构体时,Go语言支持通过类型嵌入的形式定义结构体字段。但是,如果我们没有真正理解类型嵌入的意义,有时可能会导致意想不到的行为。本文将主要分析如何嵌入类型,类型嵌入的作用以及可能出现的问题…

生成voc格式数据集

数据集存放格式:(Annotations文件夹放标注的xml文件,JPEGImages文件夹放标注的图片) 运行代码: import os import random import xml.etree.ElementTree as ETimport numpy as npdef get_classes(classes_path):with …

【LeetCode:124. 二叉树中的最大路径和 + 二叉树+递归】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…