《庖丁解牛Linux内核分析深入理解LINUX内核Linux内核源代码》[55M]百度网盘|pdf下载|亲测有效
《庖丁解牛Linux内核分析深入理解LINUX内核Linux内核源代码》[55M]百度网盘|pdf下载|亲测有效

庖丁解牛Linux内核分析深入理解LINUX内核Linux内核源代码 pdf下载

出版社 钰恒店
出版年 2025
页数 390页
装帧 精装
评分 9.3(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供庖丁解牛Linux内核分析深入理解LINUX内核Linux内核源代码电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com


书名:庖丁解牛Linux内核分析

定价:49

开 本:16开

纸 张:胶版纸

包 装:平装-胶订

出版社:人民邮电出版社

出版时间:2018年09月

书号ISBN:9787115491862

本书从理解计算机硬件的核心工作机制(存储程序计算机和函数调用堆栈)和用户态程序如何通过系统调用陷入内核(中断异常)入手,通过上下两个方向双向夹击的策略,并利用实际可运行程序的反汇编代码从实践的角度理解操作系统内核,然后开始分析Linux内核源代码,从系统调用陷入内核,进程调度与进程切换,后返回到用户态进程。


1章计算机工作原理 1
1.1 存储程序计算机工作模型1
1.2 x86-32汇编基础 3
1.2.1x86-32 CPU的寄存器 4
1.2.2数据格式 6
1.2.3寻址方式和常用汇编指令 7
1.2.4汇编代码范例解析 11
1.3 汇编一个简单的C语言程序并分析其汇编指令执行过程 13
1.4 单元测试题 26
1.5 实验 27
2章操作系统是如何工作的 29
2.1 函数调用堆栈 29
2.2 借助Linux内核部分源代码模拟存储程序计算机工作模型及时钟中断 32
2.2.1内嵌汇编 32
2.2.2虚拟一个x86的CPU硬件平台 34
2.3 在mykernel基础上构造一个简单的操作系统内核 36
2.3.1代码范例 36
2.3.2代码分析 42
2.4 单元测试题 48
2.5 实验 48
3章MenuOS的构造 50
3.1 Linux内核源代码简介50
3.2 构造一个简单的Linux内核 56
3.3 跟踪调试Linux内核的启动过程 60
3.4 单元测试题 65
3.5 实验 66
4章系统调用的三层机制(上) 67
4.1 用户态、内核态和中断67
4.2 系统调用概述 70
4.2.1操作系统提供的API和系统调用的关系 70
4.2.2触发系统调用及参数传递方式 71
4.3 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用 72
4.3.1使用库函数API触发一个系统调用 72
4.3.2内嵌汇编语法简介 73
4.3.3C代码中嵌入汇编代码触发一个系统调用 75
4.3.4含两个参数的系统调用范例 76
4.3.5通用的触发系统调用的库函数syscall 78
4.4 单元测试题 79
4.5 实验 80
5章系统调用的三层机制(下) 81
5.1 给MenuOS增加命令 81
5.2 使用gdb跟踪系统调用内核函数sys_time 83
5.3 系统调用在内核代码中的处理过程 85
5.3.1 中断向量0x80和system_call中断服务程序入口的关系 86
5.3.2 在system_call汇编代码中的系统调用内核处理函数 87
5.3.3 整体上理解系统调用的内核处理过程 88
5.4 单元测试题 91
5.5 实验 92
6章进程的描述和进程的创建 93
6.1 进程的描述 93
6.2 进程的创建 97
6.2.1 0号进程的初始化98
6.2.2 内存管理相关代码99
6.2.3 进程之间的父子、兄弟关系 100
6.2.4 保存进程上下文中CPU相关的一些状态信息的数据结构 101
6.2.5 进程的创建过程分析103
6.3 单元测试题 120
7章可执行程序工作原理 122
7.1 ELF目标文件格式122
7.1.1 ELF概述 122
7.1.2 ELF格式简介123
7.1.3 相关操作指令 128
7.2 程序编译 129
7.2.1 预处理 129
7.2.2 编译 130
7.2.3 汇编 131
7.2.4 链接 133
7.3 链接与库 134
7.3.1 符号与符号解析134
7.3.2 重定位 137
7.3.3 静态链接与动态链接139
7.4 程序装载 143
7.4.1 程序装载概要 143
7.4.2 fork与execve内核处理过程 148
7.4.3 庄周梦蝶 153
7.4.4 小结 154
7.5 单元测试题 155
7.6 实验 156
8章进程的切换和系统的一般执行过程 158
8.1 进程调度的时机 158
8.1.1 硬中断与软中断158
8.1.2 进程调度时机 159
8.2 调度策略与算法 161
8.2.1 进程的分类 161
8.2.2 调度策略 162
8.2.3 CFS调度算法164
8.3 进程上下文切换 165
8.3.1 进程执行环境的切换165
8.3.2 核心代码分析 167
8.4 Linux系统的运行过程172
8.5 Linux系统构架与执行过程概览 174
8.5.1 Linux操作系统的构架 174
8.5.2 ls命令执行过程即涉及操作系统相关概念 175
8.6 进程调度相关源代码跟踪和分析 176
8.6.1 配置运行MenuOS系统 176
8.6.2 配置gdb远程调试和设置断点 177
8.6.3 使用gdb跟踪分析schedule()函数 177
8.7 单元测试题 179