Linux内核源码目录
一.Linux内核源码目录结构
1.Linux内核特性
Linux内核的组织形式为整体式结构
Linux进程调度方式简单而高效
Linux支持内核线程
解释:(1.守护线程;在后台运行,不需要终端和登录shell和他结合在一起的进程; |
2.有周期性的完成特定的任务,处理某一些事件:HD或者led等等; |
3.类似于用户进程,但又不等于,像内核一样不被放出,所以运行效率比较高); |
Linux支持多种平台的虚拟内存管理
解释:(为了虚拟技术的通用性, |
它为不同的平台提供了一个统一的接口) |
Linux的虚拟文件系统(VFS)
解释:(为逻辑文件系统提供一个标准统一的接口; |
为各种硬件设备提供统一的接口; |
硬件设备可以作为一种文件) |
Linux的模块机制使得内核保持独立而又非常容易扩充
Linux内核网络架构模块面向对象设计思想架构
(支持多种协议, |
多种网络协议程序等等) |
二、Linux操作系统结构
1. Linux内核在系统的位置
(系统调用由若干的指令构成的过程,实现一些特定的服务,与一般的过程不同,区别在系统调用在内核态/内核态,一般过程在用户态)
2.Linux内核各个子系统之间关系
进程管理:控制着进程对CPU的访问操作
|
与硬件无关:
提供进程的映射和 |
虚拟内存直接的对换 |
与硬件有关:
内存管理硬件提供一个虚拟接口
虚拟文件系统(VFS):
不同架构的硬件细节,提供一个统一的接口,支持不同文件系统。 |
分为设备驱动程序(为每一种硬件控制器所编写的设备驱动程序的模块)和逻辑文件系统 |
网络管理:
提供网络各种标准协议的存取、 |
各种网络硬件的支持 |
网络接口:
网络协议 |
、硬件的驱动的程序(和硬件设备通信) |
进程通信:
支持进程间各种通信机制
每一个子系统都需要挂载和恢复进程,
当一个硬件完成时,就被挂起,操作真正完成时,进程就恢复完成。但一个进程需要网络发送数据包信息时,网络接口就是需要挂起到进程,直到硬件完成消息的发送,网络接口返回代码(失败,成功)/还有其他子系统
进程调度和内存管理:
相互依赖,进程间通信子系统依赖内存管理中的共享内存机制,此机制允许自己的私有内存,共同的内存区。
虚拟文件系统和网络:
利用网络管理接口支持网络文件系统, |
也利用内存管理支持某些设备 |
内存管理和虚拟文件系统:
内存管理需要虚拟文件系统支持交换:调度程序进行调度,当一个程序的内存映射被放出时,内存管理需要向文件系统发出请求 ,同时挂起当前正在运行的进程。 |
所有的子系统需要共享一些资源 |
Linux内核源码目录相关推荐
- 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )
文章目录 一.解压内核源码 二.查询当前 Linux 内核版本号 三.进入并查看 linux 内核源码目录 一.解压内核源码 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz ...
- 【lLinux驱动】linux内核源码目录结构
linux内核源码目录结构 代码目录结构 在阅读源码之前,还应知道Linux内核源码的整体分布情况.现代的操作系统一般由进程管理.内存管理.文件系统.驱动程序和网络等组成.Linux内核源码的各个目录 ...
- 【Linux 内核】Linux 内核源码目录说明 ① ( arch 目录 | block 目录 | certs 目录 | crypto 目录 | Documentation 目录 )
文章目录 一.arch 目录 二.block 目录 三.certs 目录 四.crypto 目录 五.Documentation 目录 在上一篇博客 [Linux 内核]Linux 内核源码结构 ( ...
- Linux内核源码目录结构及含义
Linux内核源码包含多个目录,每个目录有不同的含义,以linux-4.9.253源码为例: 不同的Kernel版本源代码目录组织稍有不同,内核源码下载地址: HTTP https:// ...
- 【Linux 内核】Linux 内核源码目录说明 ② ( drivers 目录 | fs 目录 | include 目录 | init 目录 | ipc 目录 | kernel 目录 )
文章目录 一.drivers 目录 二.fs 目录 三.include 目录 四.init 目录 五.ipc 目录 六.kernel 目录 一.drivers 目录 drivers 目录中存储了 驱动 ...
- Linux内核源码目录说明
Linux内核源代码位于/usr/src/linux目录下,其结构分布如图1.3所示,每一个目录或子目录可以看作一个模块,其目录之间的连线表示"子目录或子模块"的关系.下面是对每一 ...
- linux内核源码系统调用有多少个,Linux内核源码目录介绍
Linux的内核源代码可以从很多途径得到,我一般常常去kernel.org看看.一般来讲,在安装的linux系统下,usr/src/linux目录下的东西就是内核源代码.源码的版本号有一个非常简单的编 ...
- Linux内核源码目录介绍
Linux内核目录如下: arch: 不同平台体系结构的相关代码 block:设备驱动 certs:与认证和签名相关代码 crypto:内核常用压缩算法.常用加密算法等等源代码 document:描述 ...
- Linux内核学习之Linux内核“源码目录”
一.Linux内核版本前期知识介绍 : 我们先去Linux官网看看,它的网站是:kernel.org: 我们可以看到最新稳定版本已经来到了5.6.7了,不过在这之前我们稍微了解一下版本号这一串数字的含 ...
- 【Linux 内核】Linux 内核源码目录说明 ③ ( lib 目录 | LICENSES 目录 | mm 目录 | net 目录 | samples 目录 | scripts 目录 )
文章目录 一.lib 目录 二.LICENSES 目录 三.mm 目录 四.net 目录 五.samples 目录 六.scripts 目录 一.lib 目录 lib 目录中存储了 C 语言标准库的子 ...
最新文章
- 抗击新冠肺炎,如何进行实时动态时序图谱建模与分析?
- PHP之Session与Cookie:存放 安全 应用场景 过期设定 依赖关系
- 显著性目标检测matlab代码_显著性目标检测代码全汇总!(包含2D、3D、4D以及Video)...
- 企业级php第三方支付平台,ThinkPHP新版企业级php第三方api第四方支付平台程序源码商业版 带接口文件等 某宝售价3000元...
- 如何在C++中嵌入JAVA程序
- 中国加氢处理催化剂行业市场供需与战略研究报告
- 个人源码管理,SVN本地化
- 软件测试实训平台 文档,软件测试实训-20210322233101.docx-原创力文档
- Linux init详解(转)
- npm常用命令及参数详解
- php 将日期转换时间戳,php怎么将日期转换为时间戳?
- 为什么要进行前后端分离
- redis.clients.jedis.exceptions.JedisDataException
- 《经济学通识》:人类会受到“东西不够、生命有限、相互依赖、需要协调”四方面的限制,影响我们的衣食住行
- 人体属性检测与深度实战
- HYSBZ - 2818 Gcd —— 莫比乌斯反演
- javascript——从「最被误解的语言」到「最流行的语言」
- c语言case什么,switch
- 面向对象版贪吃蛇大作战游戏创作
- 【VB6】如何用纯VB代码写个五子棋程序?(二)