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,一经查实,立即删除!

相关文章

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是否完整,如果不完整&…

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

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

【面试总结大纲】

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

LVGL_基础控件Button

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

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

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

gdb的使用

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

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

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

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

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

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

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

QT4.8.7安装详细教程

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

更直观地学习 Git 命令

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

MySQL学习笔记23

逻辑备份: 1、回顾什么是逻辑备份? 逻辑备份就是把数据库、数据表或者数据进行导出,导出到一个文本文件中。 2、逻辑备份工具: mysqldump:提供全库级、数据库级别以及表级别的数据备份。 mysqldumpbinlog&#xff…

苹果签名有多少种类之TF签名(TestFlight签名)是什么?优势是什么?什么场合需要应用到?

(一)TestFlight 能够让您:邀请内部和外部的测试人员为应用程序提供反馈。 跟踪应用程序在测试过程中发现的 bug 和用户体验问题。 收集 Crash 报告,了解应用程序在真实设备上的运行状况。 要使用 TestFlight,您可以按照…

[Spring] Spring5——AOP 简介

目录 一、AOP 简介 1、什么是 AOP 二、AOP 底层原理 1、动态代理原理 2、基于接口的 JDK 动态代理 3、基于继承的 CGLib 动态代理 三、底层原理实现—— JDK 动态代理 1、使用 Proxy 类的方法创建代理对象 2、JDK 动态代理示例 四、AOP 操作术语 1、连接点 2、切入…

docker安装apisix全教程包含windows和linux

docker安装apisix 一、Windows安装1、首先需要安装docker和docker compose,如果直接安装docker desktop,会自动安装docker compose。2、重新启动电脑3、访问 Docker 的下载([https://www.docker.com/products/docker-desktop](https://www.do…

Java类型转换和类型提升

目录 一、类型转换 1.1 自动类型转换(隐式) 1.1.1 int 与 long 之间 1.1.2 float 与 double 之间 1.1.3 int 与 byte 之间 1.2 强制类型转换(显示) 1.2.1 int 与 long 之间 1.2.2 float 与 double 之间 1.2.3 int 与 d…

【网络编程】UDP数据报套接字编程和TCP流套接字编程

文章目录 1. 网络编程基础1.1 为什么需要网络编程?1.2 网络编程是什么?1.3 概念 2. Socket套接字3. UDP数据报套接字编程3.1 DatagramSocket API3.2 DatagramPacket API3.3 InetSocketAddress API 4. UDP构建服务端客户端(一发一收&#xff0…

osg实现鼠标框选

目录 1. 需求的提出 2. 具体实现 2.1. 禁止场景跟随鼠标转动 2.2. 矩形框前置绘制 3. 附加说明 3.1. 颜色设置说明 3.2.矩形框显示和隐藏的另一种实现 1. 需求的提出 有时需要在屏幕通过按住键盘上的某个键如Ctrl键且按住鼠标左键,拖出一个矩形,实现框…

ValueError: check_hostname requires server_hostname

使用jupyter 下载js2py 异常 !pip install js2py ValueError: check_hostname requires server_hostname 一开始以为是数据源问题,切换阿里云 还是这个异常 结果发现是开魔法导致的,关闭魔法即可