内容简介
本书全面、系统地阐述了现代操作系统的基本原理、主要功能及实现技术,重点论述多用户、多任务操作系统的运行机制,系统资源管理的策略和方法,操作系统提供的用户界面。书中讨论了现代操作系统采用的并行处理技术和虚拟技术,且以Linux系统为实例,剖析了其特点和具体的实现技术。同时本书还阐述了UNIX文件系统的主要结构及实现,给出了实例操作系统的并发机制及应用方法。
本书既可作为高等院校计算机和信息类本科、专科各专业和其他相关专业教材,也可供从事计算机科学、工程和应用等方面工作的科技人员参考。
目录
目 录
第1章 绪论 1
1.1 操作系统在计算机系统中的地位 1
1.1.1 存储程序式计算机的结构和特点 1
1.1.2 操作系统与计算机系统各层次的关系 3
1.1.3 操作系统与计算机体系结构的关系 4
1.2 操作系统的形成和发展 6
1.2.1 操作系统发展的初级阶段 6
1.2.2 操作系统的形成 8
1.2.3 操作系统的进一步发展 11
1.3 操作系统的基本概念 11
1.3.1 操作系统的定义和特性 11
1.3.2 操作系统的资源管理功能 13
1.3.3 操作系统应解决的基本问题 15
1.4 操作系统的基本类型 17
1.4.1 批量操作系统 17
1.4.2 分时操作系统 17
1.4.3 实时操作系统 18
1.4.4 个人计算机操作系统 19
1.4.5 网络操作系统 20
1.4.6 分布式系统 21
1.5 操作系统采用的关键技术 23
1.5.1 操作系统采用的并行处理技术 23
1.5.2 操作系统采用的虚拟技术 24
习题1 25
第2章 操作系统的结构和硬件支持 26
2.1 操作系统虚拟机 26
2.2 操作系统的组织结构 27
2.2.1 操作系统的结构 27
2.2.2 运行时的组织结构 29
2.2.3 操作系统与计算机系统各层次的接口 30
2.3 处理机的特权级 31
2.3.1 处理机的状态及分类 31
2.3.2 特权指令 32
2.4 中断及其处理 32
2.4.1 中断概念及类型 32
2.4.2 向量中断和探询中断? 34
2.4.3 中断进入 35
2.4.4 软件中断处理过程 36
习题2 38
第3章 操作系统的用户接口 39
3.1 用户工作环境 39
3.1.1 操作系统提供的环境 39
3.1.2 操作系统的生成和系统初启 40
3.1.3 应用程序的处理 43
3.2 用户接口 44
3.2.1 用户接口的定义 44
3.2.2 操作系统提供的用户接口 45
3.3 系统功能调用? 47
3.3.1 系统功能调用的定义? 47
3.3.2 系统功能调用的实现 48
3.3.3 应用程序的编程接口 48
习题3 49
第4章 进程及进程管理 50
4.1 进程引入 50
4.1.1 顺序程序及特点 50
4.1.2 并发程序及特点 51
4.1.3 与时间有关的错误 54
4.2 进程概念 55
4.2.1 进程的定义 55
4.2.2 进程的状态及变迁 56
4.2.3 进程控制块 57
4.3 进程控制 59
4.3.1 进程控制的概念 59
4.3.2 进程创建与撤销 59
4.3.3 进程阻塞与唤醒 61
4.4 进程之间的约束关系 62
4.4.1 进程竞争与合作 62
4.4.2 进程互斥的概念 63
4.4.3 进程同步的概念 64
4.5 同步机构 66
4.5.1 锁和上锁、开锁操作 66
4.5.2 信号灯和P、V操作 67
4.6 进程互斥与同步的实现 69
4.6.1 上锁原语和开锁原语实现进程互斥 69
4.6.2 信号灯实现进程互斥 70
4.6.3 进程同步的实现 71
4.6.4 生产者——消费者问题 74
4.7 进程通信 75
4.7.1 进程通信的概念 75
4.7.2 进程通信方式 75
4.8 线程概念及特点 77
4.8.1 线程的概念 77
4.8.2 线程的特点与状态 78
4.9 操作系统的并发机制实例 79
4.9.1 创建进程及应用实例 79
4.9.2 创建线程及应用实例 81
4.9.3 等待进程、线程的终止及其应用 82
4.9.4 信号量与使用方法 83
4.9.5 共享内存及应用实例 84
4.10 进程调度 86
4.10.1 调度/分派结构 86
4.10.2 进程调度的功能 87
4.10.3 调度方式 88
4.10.4 进程优先数调度算法 89
4.10.5 循环轮转调度 90
4.10.6 多级反馈队列调度 91
4.10.7 调度用的进程状态