第1章 操作系统概述 1
1.1 什么是操作系统 1
1.2 操作系统的发展历史 4
1.3 操作系统的功能 13
1.4 操作系统的体系结构 16
1.5 操作系统的发展趋势 19
习题与思考 20
第2章 进程管理 23
2.1 为什么引入进程 23
2.2 进程的描述 28
2.3 进程状态及其转换 32
2.4 进程控制 33
2.5 进程互斥 38
2.6 进程同步 46
2.7 进程通信 55
2.8 死锁问题 57
2.9 线程 65
习题与思考 67
第3章 处理机调度 72
3.1 处理机的调度层次 72
3.2 进程调度 75
3.3 调度算法 77
3.4 综合实例解析 85
3.5 实时调度 86
习题与思考 90
第4章 存储管理 93
4.1 程序的装入和链接 93
4.2 连续空间分配 95
4.3 不连续空间分配 101
4.4 虚拟存储系统 111
习题与思考 115
第5章 文件系统 119
5.1 基本概念 119
5.2 文件结构 120
5.3 文件目录管理 126
5.4 文件存储空间管理 132
5.5 文件访问系统调用 134
5.6 文件的共享与保护 135
习题与思考 137
第6章 设备管理 139
6.1 I/O系统 139
6.2 I/O控制方式 141
6.3 设备I/O子系统 143
6.4 磁盘存储器 147
习题与思考 152
第7章 操作系统接口 153
7.1 用户接口 153
7.2 程序接口 156
习题与思考 158
第8章 嵌入式操作系统 159
8.1 嵌入式操作系统的定义 160
8.2 嵌入式操作系统的组成 160
8.3 嵌入式操作系统的特点 160
8.4 实时嵌入式操作系统 161
8.5 主流嵌入式操作系统 165
8.6 Android OS 172
8.7 物联网操作系统 174
习题与思考 177
第9章 操作系统实验 178
9.1 Linux的初步认识 178
9.2 系统调用实验 180
9.3 进程同步实验 189
9.4 进程通信实验 195
9.5 页面调度算法模拟 202
9.6 Linux socket编程 205
9.7 Linux设备驱动程序 213
9.8 虚拟文件系统 217
参考文献 236