CH1 概论 1 1.1 操作系统的定义和目标 1 1.1.1 OS作为用户与计算机硬件之间的接口 2 1.1.2 OS作为计算机系统的资源管理者 2 1.1.3 OS作为虚拟计算机 2 1.2 操作系统的形成和发展 3 1.2.1 人工操作阶段 3 1.2.2 管理程序阶段 4 1.2.3 操作系统的形成 5 1.2.4 操作系统发展的主要动力 6 1.2.5 操作系统的发展 6 1.3 流行操作系统简介 9 1.3.1 DOS操作系统 9 1.3.2 Windows操作系统 9 1.3.3 OS/2操作系统 10 1.3.4 Unix操作系统 11 1.3.5 Macintosh操作系统 11 1.3.6 MINIX操作系统 12 1.3.7 Linux操作系统 12 1.3.8 MACH操作系统 12 1.4 操作系统的分类 13 1.4.1 批处理操作系统 13 1.4.2 分时操作系统 13 1.4.3 实时操作系统 14 1.4.4 网络操作系统 15 1.4.5 分布式操作系统 16 1.4.6 嵌入式操作系统 17 1.4.7 自由软件和Linux操作系统 18 1.5 操作系统的功能 19 1.5.1 处理机管理 20 1.5.2 存储管理 20 1.5.3 设备管理 20 1.5.4 文件管理 21 1.5.5 用户接口 21 1.6 操作系统提供的用户接口 21 1.6.1 联机用户接口——操作命令 21 1.6.2 脱机用户接口——作业控制语言 22 1.6.3 程序接口——系统调用 23 1.7 操作系统的主要特性和需要解决的主要问题 23 1.7.1 操作系统的主要特性 23 1.7.2 操作系统需要解决的主要问题 24 CH2 操作系统的运行环境 26 2.1 中央处理器 26 2.1.1 单机系统和多机系统 26 2.1.2 寄存器 26 2.1.3 程序状态字寄存器 26 2.1.4 机器指令 27 2.1.5 特权指令 27 2.1.6 处理器状态 28 2.2 中断技术 28 2.2.1 中断的概念 28 2.2.2 中断源 29 2.2.3 中断装置 29 2.2.4 中断事件的处理 30 2.2.5 中断的优先级和多重中断 33 2.2.6 实例研究:Windows 2000的中断处理 34 2.3 主存储器 41 2.3.1 存储器的层次 41 2.3.2 地址转换与存储保护 42 2.4 输入输出系统 42 2.4.1 I/O系统 42 2.4.2 I/O控制方式 42 CH3 进程与线程 45 3.1 多道程序设计 45 3.1.1 多道程序设计的概念 45 3.1.2 多道程序设计的实现 46 3.2 顺序性与并发性 47 3.2.1 程序执行的顺序性 47 3.2.2 程序执行的并发性 48 3.3 进程的基本概念 49 3.3.1 进程的定义和性质 49 3.3.2 进程的状态和转换 51 3.3.3 进程的描述 54 3.3.4 进程的控制 57 3.3.5 进程管理的实现模型 59 3.3.6 实例研究——Unix SVR4的进程管理 60 3.4 线程的基本概念 63 3.4.1 引入多线程技术的必要性 63 3.4.2 多线程环境中的进程与线程 65 3.4.3 线程的实现 69 3.4.4 实例研究:JAVA语言中的线程 71 3.5 实例研究:SOLARIS的进程与线程 78 3.5.1 Solaris中的进程与线程概念 78 3.5.2 Solaris的进程结构 79 3.5.3 Solaris的线程状态 80 3.5.4 Solaris的线程程序设计接口 81 3.6 实例研究:WINDOWS 2000的进程与线程 82 3.6.1 Windows 2000中的进程与线程概念 82 3.6.2 进程对象 82 3.6.3 线程对象 85 3.6.4 作业对象 87 CH4 处理机调度 89 4.1 处理机调度的类型 89 4.1.1 处理机调度的层次 89 4.1.2 高级调度 90 4.1.3 中级调度 91 4.1.4 低级调度 91 4.1.5 选择调度算法的原则 91 4.2 批处理作业的管理与调度 92 4.2.1 批处理作业的管理 92 4.2.2 批处理作业的调度 93 4.2.3 作业调度算法 93 4.3 进程调度 95 4.3.1 进程调度的功能 95 4.3.2 进程调度算法 96 4.3.3 实时调度 98 4.3.4 多处理器调度 99 4.3.5 实例研究——传统Unix调度算法 102 4.3.6 实例研究——Unix SVR4调度算法 103 4.3.7 实例研究——Windows NT调度算法 104 CH5 并发进程 106 5.1 并发进程 106 5.1.1 顺序性和并发性 106 5.1.2 与时间有关的错误 106 5.1.3 进程的交互(Interaction Among Processes)——协作和竞争 108 5.2 临界区管理 109 5.2.1 互斥和临界区 109 5.2.2 临界区管理的尝试 110 5.2.3 实现临界区管理的软件方法 111 5.2.4 实现临界区管理的硬件设施 113 5.3 信号量与PV操作 114 5.3.1 同步和同步机制 114 5.3.2 记录型信号量与PV操作 116 5.3.3 用记录型信号量实现互斥 117 5.3.4 记录型信号量解决生产者-消费者问题 119 5.3.5 记录型信号量解决读者-写者问题 121 5.3.6 记录型信号量解决理发师问题 123 5.3.7 AND型信号量机制 123 5.3.8 一般型信号量机制 125 5.4 管程 127 5.4.1 管程和条件变量 127 5.4.2 Hanson方法实现管程 130 5.4.3 Hoare方法实现管程 135 5.5 消息传递 138 5.5.1 消息传递的概念 138 5.5.2 消息传递的方式 139 5.5.3 有关消息传递实现的若干问题 140 5.5.4 管道和套接字 143
- 粉丝: 9
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页