第一篇 计算机操作系统上机实践基础 1
第1章 Linux基本操作环境 1
1.1 Linux的登录与退出 1
1.2 Linux常用命令 2
1.3 Linux系统主要文件目录 10
1.4 vi文本编辑器 12
1.5 gnu c编译器 14
1.6 gdb调试工具 15
1.7 Linux系统下C语言程序的运行 16
第2章 进程管理与通信 18
2.1 进程及其创建 18
2.2 进程状态及其控制 21
2.3 进程互斥 23
2.4 信号通信机制 24
2.5 管道通信机制 29
2.6 消息传递机制 33
2.7 共享存储区机制 37
第3章 内存管理 41
3.1 相关命令与系统文件及函数 41
3.2 动态分区存储管理 42
第4章 文件管理 49
4.1 相关的文件目录及文件系统调用 49
4.2 文件管理 51
4.3 目录管理 52
4.4 主要文件操作的处理 54
第5章 设备管理 56
5.1 设备驱动程序 56
5.2 设备驱动的功能 59
5.3 设备驱动的实现 60
5.4 设备驱动的安装与设备的使用 72
第6章 用户接口 74
6.1 控制台命令接口 74
6.2 系统调用 75
第7章 内核模块 79
7.1 模块及其组织结构 79
7.2 模块的编译 81
7.3 模块的加载与卸载 82
第二篇 计算机操作系统上机实验 85
第8章 Linux基本操作实验 85
8.1 实验准备 85
8.2 Linux上机基础实验 85
第9章 进程管理实验 89
9.1 实验准备 89
9.2 进程的创建实验 89
9.3 进程的控制实验 91
9.4 进程的互斥实验 94
第10章 进程通信实验 100
10.1 实验准备 100
10.2 信号通信实验 100
10.3 管道通信实验 105
10.4 消息传递实验 110
10.5 共享存储区实验 113
第11章 内存管理实验 120
11.1 实验准备 120
11.2 分区与页式存储管理实验 120
第12章 文件系统实验 132
12.1 实验准备 132
12.2 简单文件系统设计实验 132
第13章 设备管理实验 149
13.1 实验准备 149
13.2 设备管理与驱动实验 149
第14章 用户接口实验 159
14.1 实验准备 159
14.2 Shell与系统调用实验 159
第15章 综合实验 164
15.1 实验准备 164
15.2 内核模块实验 164
第三篇 计算机操作系统课程设计 170
第16章 进程调度与死锁算法的模拟实现 170
16.1 进程调度算法的模拟实现 170
16.2 生产者-消费者问题的模拟实现 173
16.3 银行家算法的模拟实现 177
第17章 内存与外存管理算法的模拟实现 181
17.1 页面置换算法的模拟实现 181
17.2 简单文件系统的模拟实现 182
附录 188
附录1 设备管理与驱动实验的参考代码 188
附录2 简单文件系统设计实验的参考代码 197
参考文献 231