图书介绍
Linux内核分析 基于Linux 0.01版本pdf电子书版本下载
- 工业和信息化部软件与集成电路促进中心编著 著
- 出版社: 北京:中国水利水电出版社
- ISBN:7508488912
- 出版时间:2011
- 标注页数:124页
- 文件大小:19MB
- 文件页数:134页
- 主题词:
PDF下载
下载说明
Linux内核分析 基于Linux 0.01版本PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Linux和GNU简介 1
1.1 自由的天地:GNU和Linux 1
1.1.1 热爱和享受自由 2
1.1.2 神奇的Linux 3
1.2 在乐趣中获得成功:一起来玩操作系统 5
1.2.1 十一岁开始编程序 6
1.2.2 一种操作系统的诞生 6
1.3 GNU的开发工具 8
本章小结 8
第2章 操作系统设计入门 9
2.1 操作系统介绍 9
2.2 操作系统的基本功能 10
2.3 操作系统设计的基本准则 10
2.3.1 简单就是优美 11
2.3.2 利用已有的基础 11
2.3.3 良好的设计 11
2.3.4 单内核操作系统和微内核操作系统 12
本章小结 12
第3章 Linux 0.01内核 13
3.1 Linux 0.01内核简介 13
3.1.1 Linux 0.01内核背景 14
3.1.2 Linux 0.01的技术特色 14
3.1.3 存储管理 15
3.1.4 文件系统 15
3.1.5 硬件平台移植和应用程序 16
3.2 Linux 0.01核心代码目录 16
3.3 核心源代码的目录分布 17
3.3.1 boot目录 17
3.3.2 fs目录 18
3.3.3 include目录 19
3.3.4 init目录 20
3.3.5 kernel目录 21
3.3.6 lib目录 21
3.3.7 mm目录 22
3.3.8 tools目录 22
3.4 Linux 0.01的main.c分析 22
3.5 编译和运行Linux 0.01系统 26
本章小结 27
第4章 操作系统引导——装载内核 28
4.1 操作系统引导基本知识 28
4.1.1 系统引导设备 28
4.1.2 启动过程简介 29
4.1.3 硬盘主引导扇区简介 30
4.2 Linux 0.01引导代码分析 33
4.2.1 boot.s:BIOS引导代码 33
4.2.2 head.s:Linux的32位引导代码 33
4.3 实例:使用nasm生成引导代码 33
4.3.1 引导代码基础 34
4.3.2 最简单的引导程序 34
4.3.3 如何设置段寄存器 36
4.3.4 在引导程序中装入程序(基于扇区) 36
本章小结 40
第5章 进程管理和调度 41
5.1 进程的概念 41
5.1.1 进程的定义 41
5.1.2 进程的属性 42
5.2 进程调度 43
5.2.1 进程调度算法的选择 43
5.2.2 进程描述符 43
5.2.3 Linux进程调度源代码分析 44
5.2.4 进程的切换 45
5.3 Linux0.01内核中的进程调度实例 46
5.3.1 进程调度 46
5.3.2 用户进程和内核线程 47
本章小结 49
第6章 存储管理和设计 50
6.1 存储管理概述 50
6.1.1 信息的二级存储 51
6.1.2 存储管理的功能 51
6.2 段页式存储管理 52
6.2.1 页式存储管理 52
6.2.2 段式存储管理 53
6.2.3 段页式存储管理 54
6.2.4 3种存储管理方式的对比 55
6.3 物理存储管理 55
6.3.1 技术细节 56
6.3.2 物理存储管理器的组织 57
6.3.3 物理存储管理器的初始化 59
6.3.4 页面分配 59
6.3.5 页面回收 60
6.3.6 映射 60
6.3.7 内存映射 61
6.4 虚拟存储管理 62
6.4.1 技术细节 63
6.4.2 malloc()和free() 63
6.4.3 缺页处理 64
6.4.4 虚拟存储管理的页面分配 65
6.4.5 可执行程序 66
6.4.6 交换 66
6.4.7 总结 67
6.5 malloc()和free()的实现 68
6.6 Linux 0.01存储管理代码分析 68
6.6.1 memory.c分析 68
6.6.2 page.s分析 68
本章小结 69
第7章 设备管理和调度 70
7.1 Linux设备管理概述 70
7.1.1 设备管理的基本要求 71
7.1.2 驱动程序 71
7.2 Linux 0.01中断处理 73
7.2.1 中断处理的基本过程 73
7.2.2 traps.c文件分析 74
7.2.3 /kernel/asm.s文件分析 74
7.3 如何编写中断服务程序ISR 74
7.4 设备驱动程序实例——利用BIOS的探测系统设备 76
7.5 Linux 0.01设备驱动程序源代码分析 77
7.5.1 终端控制代码:console.c 77
7.5.2 rs323驱动代码:serial.c和rs io.s 77
本章小结 77
第8章 磁盘文件系统 78
8.1 硬盘驱动器结构简介 79
8.1.1 硬盘参数解释 79
8.1.2 基本Int 13H调用简介 79
8.1.3 扩展Int 13H简介 79
8.2 UNIX文件系统分析 80
8.3 VFS简介 81
8.3.1 VFS的体系结构 82
8.3.2 文件的表示 83
8.3.3 磁盘布局 83
8.4 文件系统设计步骤 84
8.4.1 步骤一:磁盘函数库 84
8.4.2 步骤二:文件系统 85
8.4.3 步骤三:容错性 87
8.5 实践:自己编写的简单文件系统 87
8.6 Linux 0.01文件系统源代码分析 88
本章小结 88
第9章 shell编程技术和实例 90
9.1 shell的基本概念 90
9.2 例子:最简单的shell程序 92
9.3 管道和I/O重定向 97
9.3.1 使用dup()重定向I/O 97
9.3.2 使用pipe()和dup() 98
9.3.3 使用dup2()的例子 99
9.4 t-shell实现代码分析 101
9.4.1 shell总体结构(不支持管道) 101
9.4.2 shell总体结构(支持管道) 102
9.4.3 main函数 102
9.4.4 initialization()函数 103
9.4.5 getline()函数 104
9.4.6 parse()函数 105
9.4.7 command()函数 107
9.4.8 execute()函数 108
9.4.9 forkexec()函数 110
9.4.10 check()函数 111
9.4.11 getname()函数 112
9.4.12 t-shell的运行效果 113
本章小结 113
第10章 Linux 0.01系统调用的实现 114
10.1 Linux系统调用概述 114
10.1.1 系统调用 114
10.1.2 系统调用实现 115
10.1.3 系统调用到int 0x80中断请求的转换 121
10.2 Linux 0.01系统调用实现分析 122
10.2.1 system_call.s 122
10.2.2 sys.c 122
10.3 实例:在Linux中添加新系统调用 122
10.3.1 实现系统调用代码 122
10.3.2 连接新的系统调用 123
10.3.3 重新编译Linux 0.01的内核 123
本章小结 124