第1篇 基础篇 3
第1章 操作系统的用户界面 3
1.1 命令控制接口 3
实验1.1.1 Windows的命令控制接口 3
实验1.1.2 Linux的命令控制接口——Shell命令的使用 7
实验1.1.3 Linux的GNOME桌面环境及Vi编辑器 14
1.2 系统调用接口 20
实验1.2.1 Windows的系统调用——Windows API编程初步 20
实验1.2.2 Linux的系统调用——Shell程序设计(1) 25
实验1.2.3 Linux的系统调用——Shell程序设计(2) 27
第2章 操作系统的开发工具 31
2.1 编译系统 31
实验2.1.1 Linux-GCC编译器 31
2.2 调试工具 35
实验2.2.1 Linux-GDB调试器 35
2.3 程序维护工具 39
实验2.3.1 程序维护工具Make 39
第3章 操作系统的进程管理 48
3.1 进程的状态及控制 48
实验3.1.1 Windows的进程控制函数 48
实验3.1.2 Linux进程控制1 55
实验3.1.3 Linux进程控制2 63
实验3.1.4 Linux的文件管理 68
3.2 并发系统中的进程互斥和同步 71
实验3.2.1 观察Windows系统中的进程同步现象 72
实验3.2.2 进程互斥及锁机制 75
3.3 进程管理中的极端现象 78
实验3.3.1 僵尸进程 78
3.4 进程通信 80
实验3.4.1 信号机制 80
实验3.4.2 管道通信机制 85
实验3.4.3 消息缓冲机制 90
实验3.4.4 共享内存机制 97
第2篇 提高篇 105
第4章 经典同步问题 105
4.1 生产者—消费者问题 105
实验4.1.1 Windows操作系统中P-C问题的仿真 105
4.2 读者—写者问题 112
实验4.2.1 读者—写者问题 112
4.3 其他经典同步问题 118
实验4.3.1 其他经典同步问题的仿真程序 118
第5章 处理机调度 127
5.1 基本的调度算法及其评价指标 127
5.2 调度算法的仿真实现 128
实验5.2.1 调度算法的仿真实验 128
第6章 银行家算法 135
6.1 重温死锁的概念 135
6.2 用银行家算法避免死锁 136
实验6.2.1 银行家算法的仿真实验 136
第3篇 综合设计篇 147
第7章 Windows操作系统的复杂应用程序开发 147
7.1 Windows数据库应用开发 147
实验7.1.1 学生成绩查询系统 147
7.2 Windows多线程应用 158
实验7.2.1 用MFC制作Windows进程查看器 158
第8章 Linux操作系统的复杂应用程序开发 168
8.1 Shell与C程序的交叉应用 168
实验8.1.1 文件复制程序 168
8.2 编写自己的Shell 169
实验8.2.1 Myshell的实现 170
第9章 Linux数据库应用开发 174
9.1 数据库及开发平台简介 174
实验9.1.1 储备知识实验 174
9.2 数据库应用系统开发 180
实验9.2.1 列车信息服务系统的设计 180
附录 计算机操作系统及其应用实验报告 191