《操作系统课程设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:李善平,季江民,尹康凯编著
  • 出 版 社:杭州:浙江大学出版社
  • 出版年份:2009
  • ISBN:9787308067980
  • 页数:329 页
图书介绍:本书为计算机专业课程综合实验系列规划教材,通过课程设计加深对操作系统各资源管理模块的理解,掌握操作系统的基本原理及功能,具有初步分析实际操作系统、设计、构造和开发现代操作系统的基本能力。

第1章 操作系统课程设计概要 1

1.1 课程设计目的 1

1.2 课程设计实验报告基本要求 2

1.3 课程设计实验报告样例 2

第2章 Linux操作系统环境 5

第3章 编译Linux内核 12

3.1 Linux内核基础 12

3.1.1 Linux源程序的目录分布 13

3.1.2 kernel目录 14

3.1.3 mm目录 15

3.1.4 fs目录 15

3.1.5 arch目录 16

3.1.6 include目录 16

3.1.7 net目录 16

3.2 实验 编译Linux内核 16

3.2.1 下载内核源代码 17

3.2.2 部署内核源代码 17

3.2.3 配置内核 17

3.2.4 编译内核和模块 18

3.2.5 启动Linux内核 19

3.2.6 应用grub配置启动文件 21

第4章 系统调用 23

4.1 系统调用基础知识 23

4.1.1 一个使用系统调用的例子 23

4.1.2 系统调用是什么 24

4.1.3 为什么需要系统调用 24

4.2 Linux系统调用实现机制分析 25

4.2.1 entry.S汇编文件 25

4.2.2 traps.c(arch/i386/kernel/traps.c)文件 32

4.2.3 系统调用中普通参数的传递及unistd.h 33

4.2.4 getuid()系统调用的实现 41

4.3 实验1 添加一个简单系统调用 43

4.4 实验2 添加一个更复杂的系统调用 45

第5章 进程管理 49

5.1 Linux进程 49

5.1.1 进程是什么 49

5.1.2 Linux进程控制块 50

5.2 Linux进程创建及分析 65

5.2.1 第一个进程 65

5.2.2 fork、clone、kernel_thread 69

5.2.3 exec装载与执行进程 84

5.2.4 Linux中的线程 88

5.3 实验1 分析系统调用sys_exit函数 89

5.4 实验2 用fork()创建子进程 90

5.5 实验3 用clone()创建子进程 91

第6章 /proc文件系统 95

6.1 /proc文件系统的介绍 95

6.1.1 系统信息 97

6.1.2 进程信息 99

6.2 /proc文件系统的使用 100

6.2.1 创建与删除proc文件 101

6.2.2 读写proc文件 103

6.3 /proc文件系统分析 105

6.3.1 /proc文件数据结构定义 105

6.3.2 /proc下文件的创建和删除 108

6.3.3 /proc下超级块和索引节点的操作 112

6.3.4 /proc文件系统初始化 115

6.4 实验1 分析/proc文件系统初始化 115

6.5 实验2 /proc文件系统的一个简单应用 116

第7章 内核模块 121

7.1 什么是内核模块 121

7.2 内核模块实现机制 123

7.2.1 内核模块和应用程序的比较 123

7.2.2 内核符号表 124

7.2.3 模块依赖 124

7.2.4 内核代码分析 124

7.3 如何使用内核模块 132

7.3.1 模块的加载 132

7.3.2 模块的卸载 132

7.3.3 模块实用程序modutils 133

7.4 实验1 编写一个简单的内核模块 134

7.5 实验2 多文件内核模块的实现 135

第8章 虚拟内存管理 141

8.1 Linux虚拟内存管理 141

8.1.1 虚拟内存的抽象模型 141

8.1.2 Linux的分页管理 143

8.1.3 虚存段(vma)的组织和管理 146

8.1.4 页面分配与回收 150

8.2 实验1 统计系统缺页次数 167

8.3 实验2 统计一段时间内系统缺页次数 171

第9章 时钟与定时器 176

9.1 时钟和定时器介绍 176

9.1.1 系统时钟 177

9.1.2 定时器 177

9.1.3 bottom half 178

9.2 Linux系统时钟 179

9.2.1 系统时钟的正常运行 180

9.2.2 系统时钟的设置和调整 187

9.3 Linux系统定时器 194

9.3.1 定时器的实现机制 194

9.3.2 定时器具体实现 195

9.4 实验1 一个简单的定时器的实现 204

9.5 实验2 统计进程的时间 206

第10章 文件系统 212

10.1 Linux文件系统概念 212

10.2 VFS文件系统分析 213

10.2.1 什么是VFS文件系统 213

10.2.2 为什么需要VFS 214

10.2.3 VFS文件系统的结构 214

10.2.4 进程与文件的关系 229

10.2.5 文件系统的安装(mount) 231

10.2.6 路径的定位和查找 238

10.3 ext2文件系统 245

10.3.1 ext2体系结构 246

10.3.2 ext2的关键数据结构 247

10.3.3 ext2的操作实现 251

10.3.4 ext2数据块分配机制 252

10.4 文件操作分析 253

10.4.1 open操作 253

10.4.2 read操作 255

10.4.3 ext2的read、write操作 258

10.5 实验1 分析close和write操作 263

10.6 实验2 添加一个文件系统 263

附录 Linux操作系统环境 278

参考文献 327