Linux内核源码的组织结构

  • 为什么要学习Linux内核
  • Linux操作系统结构
  • Linux内核源码组织
  • Linux内核的特征

为什么要学习Linux内核

  1. 提高研发出高水平的软件
  2. 开发自己的操作系统
  3. 有助于计算机科学领域研究
  4. Linux系统性能优化

Linux操作系统结构

Linux内核在系统中的位置
Linux内核并不孤立,要把它放到整个系统中去研究更容易理解,如下图所示内核在操作系统中的位置

Linux内核子系统之间关系
Linux内核由五大主要子系统,它们之间有如下关系:

系统数据结构
在Linux内核中,有些使用频度较高的数据结构如下:
task_struct:代表一个进程数据结构指针形成一个task数组。
mm_struct:代表进程的虚拟内存。
inode:代表虚拟文件系统中的文件、目录等对应的索引节点(inode)。

Linux内核源码组织

为了深入地了解Linux的实现机 制,还必须阅读Linux的内核源代码, 下面是对有关源代码的介绍。内核源代 码的版本多,对不同的内核版本,系统 调用一般是相同的。新版本也许可以增 加一个新的系统调用,在大多数情况下, 设备文件将仍然相同,而另一方面,版 本之间的内部接口有所变化。
Linux内核版本有两种:稳定版和开发板,Linux内核版本号由3组数字组成,
第一组数字:目前发布的内核主版本;
第二组数字:偶数表示稳定版本,奇数表示开发中的版本;
第三组数字:错误修补次数

Linux内核的特征

  1. Linux内核组织形式为整体式结构
  2. 进程调度方式简单而有效
  3. 支持内核线程(或称为守护进程)
  4. 支持多种平台的虚拟内存管理
  5. 虚拟文件系统
  6. 模块机制
  7. 增加系统调用
  8. 面向对象

Linux内核源码的组织结构相关推荐

  1. 【Linux内核源码剖析】内核源码的组织结构

    文章目录 前言 一.Linux内核的特征 二.为什么要学Linux内核 三.Linux操作系统结构 1. Linux内核在系统中的位置 2. Linux内核子系统之间的关系 3. 系统主要的数据结构 ...

  2. Linux内核源码分析《进程管理》

    Linux内核源码分析<进程管理> 前言 1. Linux 内核源码分析架构 2. 进程原理分析 2.1 进程基础知识 2.2 Linux进程四要素 2.3 进程描述符 task_stru ...

  3. 腾讯首发Linux内核源码《嵌入式开发进阶笔记》差距差的不止一点点哦

    一,前言 Linux内核是一个操作系统(OS)内核,本质上定义为类Unix.它用于不同的操作系统,主要是以不同的Linux发行版的形式.Linux内核是第一个真正完整且突出的免费和开源软件示例.Lin ...

  4. Linux内核源码中使用宏定义的若干技巧

    在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...

  5. 深入分析Linux内核源码oss.org.cn/kernel-book/

    本html页面地址:http://oss.org.cn/kernel-book/ 深入分析Linux内核源码 前言         第一章 走进linux 1.1 GNU与Linux的成长 1.2 L ...

  6. Redhat7.2上编译Linux内核源码

    下载linux源码包:https://git.kernel.org/pub/scm/virt/kvm/kvm.git/snapshot/kvm-4.17-1.tar.gz (这是包含kvm开发版本的l ...

  7. 【Linux 内核】Linux 内核源码目录说明 ① ( arch 目录 | block 目录 | certs 目录 | crypto 目录 | Documentation 目录 )

    文章目录 一.arch 目录 二.block 目录 三.certs 目录 四.crypto 目录 五.Documentation 目录 在上一篇博客 [Linux 内核]Linux 内核源码结构 ( ...

  8. 【Linux 内核】编译 Linux 内核 ② ( 解压内核源码 | 查询当前 Linux 内核版本号 | 进入并查看 linux 内核源码目录 )

    文章目录 一.解压内核源码 二.查询当前 Linux 内核版本号 三.进入并查看 linux 内核源码目录 一.解压内核源码 将 下载的 Linux 内核源码 linux-5.6.14.tar.gz ...

  9. 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 )

    文章目录 一.下载 Linux 内核 1.下载最新版本 Linux 内核 2.下载指定版本 Linux 内核 二.Linux 内核版本号含义 一.下载 Linux 内核 1.下载最新版本 Linux ...

  10. ubuntu下wget下载Linux内核源码、make生成.config文件

    根据资料,如果要调试Linux内核源码,需要自己编译内核源码:原因是,一般下载的内核并不是为调试而编译的,要在编译时开启 "Compile the kernel with debug inf ...

最新文章

  1. 我的Pandas学习经历及动手实践
  2. 系统二级运维之业务单据错误处理
  3. java - 把日志生成到指定目录
  4. linux 硬件抽象,Linux 内核硬件抽象
  5. java nio.Buffer的属性变化
  6. 有符号数、无符号树混合计算问题。
  7. 【POJ - 3160】Father Christmas flymouse(Tarjan缩点,DAG最长路)
  8. django项目如何连接前端_工作笔记前端小白如何搭建前端项目
  9. jstl之c:forEach的使用
  10. 18650锂电池保护板接线图_锂电池保护板的基础知识
  11. 线性代数笔记4.3 齐次线性方程组
  12. [精简]托福核心词汇106
  13. 被发哥拉着跪向观众,朱军为何如此惊魂?
  14. 《纽约客》特写Jeff Dean与Sanjay:谷歌唯二11级工程师,同一台电脑上写代码
  15. 文献翻译-北京大学黄岩谊课题组在nature biotechnology的ECC测序方法文章
  16. 2017夸专业计算机考研,2017跨专业考研有难度吗?
  17. 无主复制系统(2)-读修复和反熵
  18. 为梦想窒息,乐视网中止上市
  19. python画小猪_利用python画小猪佩奇
  20. 秒杀项目之商品展示及商品秒杀

热门文章

  1. 二级计算机考试什么最难,计算机二级考试难吗 考试内容是什么
  2. 阻抗测量单芯片方案AD5933 芯片使用方法
  3. round函数几位小数c语言,Excel中利用round函数保留两位小数实例详解
  4. 向量的内积(点积)、叉积(向量积)
  5. 架构师的岗位职责和要求
  6. DIV+CSS布局-PxCook工具的简单使用
  7. 博客怎么推广才能达到最佳优化效果
  8. html5控制gif速度,用gifsicle优化GIF动图
  9. 如何生成SSH key?
  10. vue 获取当前本机ip_Vue项目启动时自动获取本机IP地址