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:
- 一般将经常被修改的目录放在这个目录下,包括各种日志文件

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

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

相关文章

爬虫项目实战——爬取B站视频

目标:对B站视频详情页url进行视频的爬取。 注:由于B站的音频和视频的链接是分开的,所以在提取是需要分别提取,然后进行合成。 这里只管提取,合成的工作以后再说。 具体步骤 发送请求 对于视频详情页url地址发送请求 …

Unity中Shader的前向渲染路径ForwardRenderingPath

文章目录 前言一、前向渲染路径的特点二、渲染方式1、逐像素(效果最好)2、逐顶点(效果次之)3、SH球谐(效果最差) 三、Unity中对灯光设置 后,自动选择对应的渲染方式1、ForwardBase仅用于一个逐像素的平行灯,以及所有的逐顶点与SH2、ForwardAdd用于其他所…

浏览器从输入URL到展示的流程

文章目录 1. URL输入2. DNS解析3. 建立TCP连接4. 发送http或者https请求5. 服务器端响应请求6. 浏览器解析渲染页面7. 断开TCP连接 1. URL输入 输入URL后,浏览器会对URL进行以下的判断 是否合法如果合法,则判断URL是否完整,如果不完整&…

2023 css新特性简单总结

2023 css新特性简单总结 CSS 是一种用于设计网页和用户界面样式的强大语言。它在不断发展,不断添加新特性。2023 年,将有许多令人激动新的 CSS 新特性。 容器查询 最重要的新功能之一是容器查询。容器查询允许我们根据父容器的大小设置元素的样式。这…

Qt model/view 理解 2

这是我对 Qt 的 model/view 内容理解的第二篇 blog,在第一篇文章中,介绍 QTableView 和 QAbstractTableModel,实现显示了对数据源的显示,但是显示的格式和修改的模式都是按照 View 控件的自显示方式。在此,使用 Qt 自带…

重生奇迹MU刷装备注意事项

在打斗游戏里面装备的作用非常巨大,较好的武器装备可以为玩家带来不错的体验,很多玩家甚至不惜花重金打造属于好装备。那么游戏中刷装备需要注意什么。 一、对武器装备的认识 对于玩家来说需要对武器装备有一定的认识,连基本的武器装备分类都…

vue3项目中mitt的使用

Vue2.x使用EventBus进行组件通信,而Vue3.x推荐使用mitt.js。比起Vue实例上的EventBus,mitt.js好在哪里呢?首先它足够小,仅有200bytes,其次支持全部事件的监听和批量移除,它还不依赖Vue实例,所以…

【面试总结大纲】

面试 1. springSpring AOP的具体实现核心概念分别指的是什么?基于注解的切面实现主要包括以下几个步骤:两个切面,它们之间的顺序是怎么控制的 springmvc的工作流程设计模式原则Spring 框架中用到了哪些设计模式? 2. Java-锁2.1锁的分类可重入…

asp.net coremvc+efcore增删改查

下面是一个使用 EF Core 在 ASP.NET Core MVC 中完成增删改查的示例&#xff1a; 创建一个新的 ASP.NET Core MVC 项目。 安装 EF Core 相关的 NuGet 包。在项目文件 (.csproj) 中添加以下依赖项&#xff1a; <ItemGroup><PackageReference Include"Microsoft…

LCR 101.分割等和子集

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCR 101. 分割等和子集 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 将数组分为等和的两部分等价于数组是否中存在部分元素和为数组总和的一半。 首先&#xff0c;若数组长度为 1 或数组…

LVGL_基础控件Button

LVGL_基础控件Button 1、创建按键 /* 创建一个btn部件(对象) */lv_obj_t * btn lv_btn_create(lv_scr_act()); // 创建一个btn部件(对象),他的父对象是活动屏幕对象2、修改样式 // 修改按钮部件&#xff08;对象&#xff09;矩形背景部分的样式&#xff08;按下的时候背…

C/C++进程超详细详解【下部分】(系统性学习day8)

目录 前言 一&#xff0c;有名管道通信 1 .概念 2 .创建有名管道 实例代码如下&#xff1a; 二、信号通信 1 .概念 2 .用户进程对信号的响应方式 3. 用户进程对常用信号的缺省操作 4. 信号处理流程 5. 信号相关函数(系统调用) 5.1 kill - 给指定进程发送信号 实例代…

gdb的使用

目录 gdb工具的使用 代码调试相关指令 运行程序指令 r 显示代码的指令 l 给代码打断点 b 查看断点位置 info b 执行代码到断点处停止 关闭断点 d断点编号 关闭某个断点&#xff0c;但不删除 disable编号 打开某个断点 enable断点编号 逐过程调试代码 n 逐语句调试代码 s 查看…

复习Day09:哈希表part02:141.环形链表、142. 环形链表II、454.四数相加II、383赎金信

之前的blog&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…

go-fastdfs分布式文件存储集群搭建和测试

一、官方文件 https://sjqzhang.github.io/go-fastdfs/#character2、集群原理 小集群原理&#xff1a; 大集群原理 二、服务端集群部署 1、在集群每个节点机器上下载安装包 (建议使用最新稳定版本&#xff09; wget --no-check-certificate https://github.com/sjqzhang/go…

CSS 创建

当读到一个样式表时&#xff0c;浏览器会根据它来格式化 HTML 文档。 如何插入样式表 插入样式表的方法有三种: 外部样式表(External style sheet)内部样式表(Internal style sheet)内联样式(Inline style) 外部样式表 当样式需要应用于很多页面时&#xff0c;外部样式表将是…

专题一:递归【递归、搜索、回溯】

什么是递归 函数自己调用自己的情况。 为什么要用递归 主问题->子问题 子问题->子问题 宏观看待递归 不要在意细节展开图&#xff0c;把函数当成一个黑盒&#xff0c;相信这个黑盒一定能完成任务。 如何写好递归 一、汉诺塔 class Solution { public:void dfs(vec…

react项目从webpack迁移到vite的解决方案

虽然webpack是前端工程编译工具的王者&#xff0c;但是最近vite牛逼吹的震天响&#xff0c;说什么开发/生产打包速度甩webpack 100条街。不管是不是事实&#xff0c;总得尝试一下吧。 于是说干就干&#xff0c;在网上找了很多资料&#xff0c;终于搞定了&#xff0c;以下就是r…

QT4.8.7安装详细教程

QT4.8.7安装详细教程&#xff08;MinGW 4.8.2和QTCreator4.2.0&#xff09; 1.下载及安装2.配置环境 此文是在下方链接博文的基础上&#xff0c;按自己的理解整理的https://blog.csdn.net/xiaowanzi199009/article/details/104119265 1.下载及安装 这三个文件&#xff0c;顺序是…

更直观地学习 Git 命令

theme: condensed-night-purple 前言 本文参考于 Learn Git Branching 这个有趣的 Git 学习网站。 在该网站&#xff0c;可以使用 show command 命令展示所有可用命令。 你也可以直接访问网站的sandbox&#xff0c;自由发挥。 本地篇 基础篇 git commit git commit将暂…