• 4、Linux内核的分析


    一、内核分析

    1、内核的概念

    作为计算机而言,软件和硬件之间是相互依赖的,硬件如果脱离了软件,则无法正常工作,软件脱离了硬件则无法正常运行。这个软件一般指的是操作系统的内核,作为Linux而言,内核也被称为Kernel。内核主要由5部分组成:进程管理、内存管理、设备管理、网络协议、文件系统

    2、内核的作用

    ①、进程管理:进程的创建与删除、进程的时间片分配、进程的通信、进程的优先级管理

    ②、内存管理:内存的分配算法、每个进程的内存空间

    ③、设备管理:一般指的是字符设备(键盘、鼠标、LCD)、块设备(U盘、硬盘)

    ④、网络协议:协议簇、网络协议、TCP/IP、传输层(TCP/UDP)、应用层(HTTP、FTP、MQTT)

    ⑤、文件系统:支持多种文件系统,如下
    在这里插入图片描述

    内核的版本

    Linux内核源码下载地址:Linux内核源码下载
    在这里插入图片描述

    内核的输出

    (1)、内存管理
    在这里插入图片描述
    (2)、文件系统
    在这里插入图片描述

    (3)、网络协议
    在这里插入图片描述
    (4)、设备管理
    在这里插入图片描述

    文件系统的分析

    Linux系统离不开文件系统,首先Linux系统搭载的是根文件系统rootfs,需要注意:根文件系统本身就是文件系统,只不过是Linux内核挂载的第一个文件系统。Linux内核是存储在文件系统中,所以启动引导程序时会加载内核并利用内核挂载根文件系统

    根文件系统被挂载以后,一些服务和一些脚本才可以存储到文件系统中,其他的文件系统才可以被挂载

    根文件系统会提供一些服务:比如根文件系统会提供一个根目录(关键文件和目录)、一个shell终端(用户才可以输入命令)、根文件系统会存储应用程序…所以,Linux内核离开根文件系统是无法正常工作的

    • 根目录文件
      在这里插入图片描述

    • 树状型目录:
      在这里插入图片描述

    root:
    - 该目录为管理员,也称为超级权限者的用户目录

    sbin:
    - s就是Super User的意思,是Superuser Binaries(超级用户的二进制文件)的缩写,这里存放的是系统管理员使用的系统管理程序

    srv:
    - 该目录存放一些服务器启动之后需要提取的数据

    temp:
    - 用来存放一些临时文件

    usr:
    - 用户的很多应用程序和文件都放在这个目录下

    usr/bin:
    - 系统用户使用的应用程序

    bin:
    - 这个目录存放经常使用的命令

    boot:
    - 存放一些启动Linux时使用的核心文件,包括一些链接文件和镜像文件

    dev:
    - 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的

    etc:
    - 这个目录用来存放系统管理所需要的配置文件和子目录(比如一些脚本文件)

    home:
    - 用户的主目录,每个用户都有一个自己的目录,一般是以用户账户名命名的

    lib:
    - 存放着系统最基本的动态链接共享库,几乎所有程序都会用到这些共享库

    lost+found:
    - 这个目录一般是空的,当系统非法关机之后,就存放了一些文件

    media:
    - Linux会自动识别一些设备,比如U盘、光驱等。当识别后,Linux会把设备挂载在这个目录下

    opt:
    - 是给主机额外安装软件所添加的目录

    proc:
    - 是Processes进程的缩写,是一种伪文件系统(虚拟文件系统),存储的是当前内核运行状态的一系列文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息

    usr/src:
    - 内核源码默认的放置目录

    var:
    - 一般将经常被修改的目录放在这个目录下,包括各种日志文件

  • 相关阅读:
    【K8S系列】深入解析k8s网络插件—Flannel
    第一百五十九回 SliverAppBar组件
    opencv特征增强,纺射变幻,模糊,锐化,翻转
    基于C语言 --- 自己写一个通讯录
    书生·浦语大模型开源体系(六)作业
    特征提取 - 骨架、中轴和距离变换
    如何基于OpenCV和Sklearn算法库开展机器学习算法研究
    golang语言开发:1.在windows下使用vscode搭建golang环境并进行调试
    数据结构之B树详解(极简)
    The Kernel Symbol Table
  • 原文地址:https://blog.csdn.net/qq_53402930/article/details/133325542