程序员必备的技能-深入理解 Linux 内核拆解

简介: 程序员必备的技能-深入理解 Linux 内核拆解

841 页的《深入理解 Linux内核》堪称经典,时隔多年打开,泛黄的纸张上面仍然跳跃出一个个让人心潮澎湃的知识点,突然让我想起一位微信朋友的昵称:知识的舔狗!


拆,开始~



前言


第一章 绪论


Linux与其他类Unix内核的比较

硬件的依赖性
Linux版本

操作系统基本概念

Unix文件系统概述

Unix内核概

第二章 内存寻址


内存地址

硬件中的分段

Linux中的分段

硬件中的分页

Linux中的分页

第三章 进程


进程、轻量级进程和线程

进程描述符

进程切换

创建进程

撤消进程

第四章 中断和异常


中断信号的作用

中断和异常

中断和异常处理程序的嵌套执行

初始化中断描述符表

异常处理

中断处理

软中断及tasklet

工作队列

从中断和异常返

第五章 内核同步

内核如何为不同的请求提供服务

同步原语

对内核数据结构的同步访问

避免竞争条件的实

第六章 定时测量

时钟和定时器电路

Linux计时体系结构

更新时间和日期

更新系统统计数

软定时器和延迟函数

与定时测量相关的系统调用

第七章 进程调度

调度策略

调度算法

调度程序所使用的数据结构

调度程序所使用的函数

多处理器系统中运行队列的平衡

与调度相关的系统调用

第八章 内存管理

页框管理

内存区管理

非连续内存区管理

第九章 进程地址空间

进程的地址空间

内存描述符

线性区

缺页异常处理程序

创建和删除进程的地址空间

堆的管理

第十章 系统调用

POSIX API和系统调用

系统调用处理程序及服务例程

进入和退出系统调用

参数传递

内核封装例程

第十一章 信号

信号的作用

产生信号

传递信号

与信号处理相关的系统调用

第十二章 虚拟文件系统

虚拟文件系统(VFS)的作用

VFS的数据结构

文件系统类型

文件系统处理

路径名查找

VFS系统调用的实现

文件加锁

第十三章 I/O体系结构和设备驱动程序

I/O体系结构

设备驱动程序模型

设备文件

设备驱动程序

字符设备驱动程序

第十四章 块设备驱动程序

块设备的处理

通用块层

I/O调度程序

块设备驱动程序

打开块设备文件

第十五章 页高速缓存

页高速缓存

把块存放在页高速缓存中

把脏页写入磁盘

sync()、fsync()和fdatasync()系统调用

第十六章 访问文件

读写文件

内存映射

直接I/O传送

异步I/O

第十七章 回收页框

页框回收算法

反向映射

PFRA实现

交换

第十八章 Ext2和Ext3文件系统

Ext2的一般特征

Ext2磁盘数据结构

Ext2的内存数据结构

创建Ext2文件系统

Ext2的方法

管理Ext2磁盘空间

Ext3文件系统

第十九章 进程通信

管道

FIFO

System V IPC

POSIX消息队列

第二十章 程序的执行

可执行文件

可执行格式

执行域

exec函数

附录一 系统启动

附录二 模块

附录

《深入理解Linux内核》第三版是2007年中国电力出版社出版的图书。将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。


相关文章
|
8月前
|
安全 网络协议 Linux
深入理解Linux内核模块:加载机制、参数传递与实战开发
本文深入解析了Linux内核模块的加载机制、参数传递方式及实战开发技巧。内容涵盖模块基础概念、加载与卸载流程、生命周期管理、参数配置方法,并通过“Hello World”模块和字符设备驱动实例,带领读者逐步掌握模块开发技能。同时,介绍了调试手段、常见问题排查、开发规范及高级特性,如内核线程、模块间通信与性能优化策略。适合希望深入理解Linux内核机制、提升系统编程能力的技术人员阅读与实践。
725 1
|
8月前
|
Ubuntu Linux
Ubuntu 23.04 用上 Linux 6.2 内核,预计下放到 22.04 LTS 版本
Linux 6.2 带来了多项内容更新,修复了 AMD 锐龙处理器设备在启用 fTPM 后的运行卡顿问题,还增强了文件系统。
|
8月前
|
Ubuntu Linux
Ubuntu 23.10 现在由Linux内核6.3提供支持
如果你想在你的个人电脑上测试一下Ubuntu 23.10的最新开发快照,你可以从官方下载服务器下载最新的每日构建ISO。然而,请记住,这是一个预发布版本,所以不要在生产机器上使用或安装它。
|
8月前
|
传感器 监控 Ubuntu
10 月发布,Ubuntu 23.10 已升级到 Linux Kernel 6.3 内核
硬件方面,Linux 6.3 引入了在 HID 中引入了原生的 Steam Deck 控制器接口,允许罗技 G923 Xbox 版赛车方向盘在 Linux 上运行;改善 8BitDo Pro 2 有线控制器的行为;并为一系列华硕 Ryzen 主板添加传感器监控。
|
8月前
|
Ubuntu Linux
Ubuntu24.04LTS默认采用Linux 6.8内核,实验性版本可通过PPA获得
IT之家提醒,当下的 Ubuntu 23.10 也是一个“短期支持版本”,该版本将在今年 7 月终止支持,而今年 4 月推出的 Ubuntu 24.04 LTS 长期支持版本将获得 5 年的更新支持。
|
8月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
876 0
|
8月前
|
Web App开发 缓存 Rust
|
8月前
|
Ubuntu 安全 Linux
Ubuntu 发行版更新 Linux 内核,修复 17 个安全漏洞
本地攻击者可以利用上述漏洞,攻击 Ubuntu 22.10、Ubuntu 22.04、Ubuntu 20.04 LTS 发行版,导致拒绝服务(系统崩溃)或执行任意代码。
|
8月前
|
Ubuntu 机器人 物联网
Linux Ubuntu 22.04 LTS 测试版实时内核已可申请
请注意,在启用实时内核后您需要手动配置 grub 以恢复到原始内核。更多内容请参考:

热门文章

最新文章