图书介绍

Linux操作系统内核实习pdf电子书版本下载

Linux操作系统内核实习
  • (美)Gary Nutt著 著
  • 出版社:
  • ISBN:
  • 出版时间:2002
  • 标注页数:0页
  • 文件大小:51MB
  • 文件页数:183页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

Linux操作系统内核实习PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 Linux概况 1

1 Linux的演变 1

2 通用内核职责 4

2.1 资源抽象 4

2.2 共享资源 5

2.2.1 管理对资源的竞争 5

2.2.2 资源的独占使用 6

2.2.3 有控制的共享 6

2.3 操作系统的功能划分 7

3 内核的组织结构 8

3.1 中断 8

3.2 使用内核服务 10

3.3 串行执行 12

3.4 守护进程 13

3.5 引导过程 13

3.5.1 引导扇区 13

3.5.2 启动内核 14

3.6 登录到机器 15

3.7 机器中的控制流 16

4 进程与资源管理 17

4.1 运行进程管理程序 18

4.1.1 系统调用 18

4.1.2 中断 19

4.2 创建新任务 19

4.3 调度程序 20

4.4 进程间通信与同步机制 20

4.5 保护机制 21

5 存储管理 22

5.1 管理虚拟地址空间 22

5.2 辅助存储 23

5.3 缺页处理 23

5.4 地址变换 24

6 设备管理 26

6.1 设备驱动程序 27

6.2 处理中断 28

7 文件管理 29

7.1 装载文件系统 30

7.2 打开文件 31

7.3 读写文件 32

7.4 Ext2文件系统 33

8 了解Linux的更多信息 36

第二部分 练习 38

练习一 观察Linux行为 38

1.1 介绍 38

1.2 问题陈述 40

1.2.1 部分A 40

1.2.2 部分B 41

1.2.3 部分C 41

1.2.4 部分D 41

1.3 解决问题 42

1.3.1 /proc文件系统 42

1.3.2 使用argc和argv 42

1.3.3 组织方案 44

1.3.4 将工作保存在共享实验室 45

练习二 Shell编程 46

2.1 介绍 46

2.1.1 基本UNIX风格的shell操作 47

2.1.2 将进程放在后台 49

2.1.3 I/O重定向 49

2.1.4 shell管道 50

2.1.5 读取多个输入流 52

2.2 问题陈述 53

2.2.1 部分A 53

2.2.2 部分B 53

2.2.3 部分C 53

2.3 解决问题 54

2.3.1 组织方案 54

2.3.2 部分A 54

2.3.3 部分B和C 56

练习三 内核定时器 57

3.1 介绍 57

3.1.1 内核如何维护时间 57

3.1.2 每进程定时器 58

3.2 问题陈述 60

3.2.1 部分A 60

3.2.2 部分B 60

3.2.3 部分C 60

3.3 解决问题 61

3.3.1 Linux源代码组织结构 61

3.3.2 信号 62

3.3.3 组织方案 63

练习四 内核模块 66

4.1 介绍 66

4.1.1 模块组织结构 66

4.1.2 模块的装载与卸载 69

4.2 问题陈述 70

4.3 解决问题 70

4.3.1 read()过程 70

4.3.2 文件结束(EOF)条件 71

4.3.3 编译模块 71

4.3.4 装载和卸载模块 71

4.3.5 时钟精度问题 71

4.3.6 更多帮助 71

练习五 系统调用 72

5.1 介绍 72

5.1.1 系统调用链 72

5.1.2 定义系统调用编号 73

5.1.3 生成系统调用stub 74

5.1.4 内核函数组织结构 75

5.1.5 引用用户空间内存地址 76

5.2 问题陈述 76

5.2.1 部分A 76

5.2.2 部分B 76

5.3 解决问题 77

5.3.1 内核printk()函数 77

5.3.2 组织方案 77

5.3.3 重建内核 78

5.3.4 留下一个干净的环境 79

练习六 共享内存 80

6.1 介绍 80

6.1.1 共享内存API 80

6.1.2 实现 83

6.2 问题陈述 88

6.3 解决问题 88

练习七 虚拟存储 90

7.1 介绍 90

7.1.1 虚拟地址空间 91

7.1.2 虚拟存储区 93

7.1.3 地址变换 94

7.1.4 缺页处理程序 94

7.1.5 主存分配 97

7.2 问题陈述 97

7.2.1 部分A 97

7.2.2 部分B 97

7.3 解决问题 97

练习八 同步机制 98

8.1 介绍 98

8.1.1 阻塞任务 98

8.1.2 等待队列 99

8.1.3 使用等待队列 100

8.2 问题陈述 102

8.2.1 部分A 102

8.2.2 部分B 103

8.3 解决问题 103

练习九 调度程序 105

9.1 介绍 105

9.1.1 进程管理 105

9.1.2 进程状态 107

9.1.3 调度程序实现 108

9.1.4 公平共享调度 111

9.2 问题陈述 112

9.2.1 部分A 112

9.2.2 部分B 112

9.3 解决问题 112

9.3.1 设计解决方案 112

9.3.2 比较调度程序的性能 112

练习十 设备驱动程序 114

10.1 介绍 114

10.1.1 驱动程序组织结构 115

10.1.2 可装载内核模块驱动程序 117

10.1.3 示例:磁盘驱动程序 118

10.2 问题陈述 120

10.2.1 部分A 120

10.2.2 部分B 120

10.3 解决问题 120

练习十一 文件系统 122

11.1 介绍 122

11.1.1 虚拟文件系统 123

11.1.2 目录 127

11.1.3 示例:MS-DOS文件系统 128

11.2 问题陈述 129

11.2.1 部分A 129

11.2.2 部分B 130

11.2.3 部分C 130

11.3 解决问题 130

11.3.1 MS-DOS磁盘格式 130

11.3.2 MS-DOS FAT 132

11.3.3 使用软盘API 136

11.3.4 设计解决方案 137

练习十二 文件I/O 141

12.1 介绍 141

12.1.1 打开与关闭操作 142

12.1.2 读写操作 142

12.1.3 块分配 144

12.1.4 缓冲区管理 145

12.2 问题陈述 146

12.2.1 部分A 146

12.2.2 部分B 147

12.2.3 部分C 147

12.2.4 部分D 147

12.3 解决问题 147

12.3.1 open()函数 147

12.3.2 缓冲FAT 148

12.3.3 解决方案 148

进一步学习 151

附录A Linux Mandrake 7.0快速安装指南 152

附录B GNU通用公共许可证(版本2,1991.6) 156

参考文献 161

精品推荐