操作系统原理 内容简介
《21世纪重点大学规划教材:操作系统原理》针对计算机及其相关专业学生的发展需求,系统、全面地介绍了操作系统的概念、原理、方法与应用,详细介绍了硬件基础、操作系统概述、进程描述和控制、线程、互斥与同步、死锁和饥饿、存储管理、分页与分段设计、处理器管理、输入/输出管理、i/o设备管理、文件管理、操作系统安全、多媒体操作系统、嵌入式操作系统以及分布式处理、客户/服务器和集群系统等内容,力图反映操作系统领域的*新发展,具有较强的系统性和可读性。本书配有大量习题,并提供了部分习题的参考答案。
《21世纪重点大学规划教材:操作系统原理》是为高等院校操作系统(原理)课程全新设计编写的具有较强实践性的主教材,也可供有一定实践经验的软件开发人员参考,还可以作为各个级别的计算机软件专业技术资格和水平考试中相关内容的学习辅导书。
操作系统原理 目录
第1篇 背景知识 第1章 硬件基础 1.1 硬件的基本构成 1.2 处理器 1.2.1 cpu的性能因素 1.2.2 微处理器的发展 1.3 指令与指令周期 1.3.1 指令 1.3.2 指令周期 1.3.3 指令集的复杂性 1.3.4 流水线和并行处理 1.4 中断 1.4.1 中断和指令周期 1.4.2 中断处理 1.4.3 多个中断 1.5 存储器的层次结构 1.5.1 内存的4种类型 1.5.2 存储器的重要特性 1.5.3 存储器访问的局部性原理 1.6 高速缓存 1.7 直接内存存取 1.8 多处理器和多核计算机组织结构 1.8.1 对称多处理器 1.8.2 多核计算机 1.9 启动计算机 1.10 习题 第2章 操作系统概述 2.1 操作系统的功能 2.1.1 作为用户/计算机接口 2.1.2 作为资源管理器 2.1.3 作为扩展机器 2.2 操作系统的种类 2.3 操作系统的核心概念 2.3.1 进程 2.3.2 地址空间与内存管理 2.3.3 文件 2.3.4 调度和资源管理 2.3.5 输入/输出 2.3.6 保护 2.3.7 shell与图形用户界面 2.4 操作系统的发展 2.4.1 串行处理 2.4.2 简单批处理系统 2.4.3 多道批处理系统 2.4.4 分时系统 2.4.5 实时系统 2.4.6 通用操作系统 2.4.7 操作系统的进一步发展 2.5 系统调用 2.5.1 系统调用的概念 2.5.2 用于进程管理的系统调用 2.5.3 用于文件管理的系统调用 2.5.4 windows win32 api 2.6 操作系统结构 2.6.1 单体系统 2.6.2 层次式系统 2.6.3 微内核 2.6.4 客户机-服务器模式 2.6.5 虚拟机 2.6.6 外核 2.7 多处理器和多核计算机操作系统的设计因素 2.7.1 多线程 2.7.2 对称多处理器计算机 2.7.3 多核计算机 2.8 习题 第2篇 进程与线程 第3章 进程描述和控制 3.1 进程的概述 3.2 进程状态 3.2.1 两状态进程模型 3.2.2 进程的创建和终止 3.2.3 五状态模型 3.2.4 被挂起的进程 3.3 进程描述 3.3.1 操作系统的控制结构 3.3.2 进程控制结构 3.4 进程控制 3.4.1 进程创建 3.4.2 进程切换 3.5 操作系统的执行 3.5.1 无进程的内核 3.5.2 在用户进程中执行 3.5.3 基于进程的操作系统 3.6 习题 第4章 线程 4.1 线程的概念 4.1.1 单线程和多线程 4.1.2 线程的属性 4.1.3 线程的功能特性 4.1.4 线程和进程的区别 4.2 用户级和内核级线程 4.3 多核和多线程 4.4 windows 7线程和smp管理 4.4.1 进程对象和线程对象 4.4.2 多线程 4.4.3 线程状态 4.4.4 对os子系统的支持 4.4.5 对称多处理的支持 4.5 习题 第5章 互斥与同步 5.1 并发的原理 5.1.1 同步与互斥 5.1.2 简单举例 5.1.3 进程的交互 5.1.4 互斥的要求 5.2 互斥:硬件的支持 5.3 信号量 5.3.1 互斥 5.3.2 生产者/消费者问题 5.3.3 信号量的实现 5.4 管程 5.4.1 使用信号的管程 5.4.2 使用通知和广播的管程 5.5 消息传递 5.5.1 同步 5.5.2 寻址 5.5.3 消息格式 5.5.4 排队原则 5.5.5 互斥 5.6 读者/写者问题 5.6.1 读者优先 5.6.2 写者优先 5.7 习题 第6章 死锁与饥饿 6.1 死锁原理 6.1.1 可抢占资源和不可抢占资源 6.1.2 可重用资源和可消耗资源 6.1.3 资源获取 6.1.4 死锁的定义 6.1.5 资源死锁的条件 6.1.6 死锁建模 6.2 死锁检测和死锁恢复 6.2.1 死锁检测 6.2.2 死锁恢复 6.3 死锁避免 6.3.1 资源轨迹图 6.3.2 安全状态和不安全状态 6.3.3 单个资源的银行家算法 6.3.4 多个资源的银行家算法 6.4 死锁预防 6.5 活锁与饥饿 6.5.1 两阶段加锁 6.5.2 通信死锁 6.5.3 活锁 6.5.4 饥饿 6.6 哲学家就餐问题 6.7 习题 第3篇 存储管理与调度 第7章 存储管理 7.1 无存储器抽象 7.2 存储器抽象:地址空间 7.2.1 地址空间的概念 7.2.2 交换技术 7.2.3 空闲内存管理 7.2.4 驻留集管理 7.3 虚拟内存 7.3.1 分页 7.3.2 页表 7.3.3 加速分页过程 7.3.4 针对大内存的页表 7.4 页面置换算法 7.4.1 *优页面置换算法 7.4.2 *近未使用(nru)页面置换算法 7.4.3 先进先出(fifo)页面置换算法 7.4.4 第二次机会页面置换算法 7.4.5 时钟页面置换算法 7.4.6 *近*少使用(lru)页面置换算法 7.4.7 *不常用页面置换算法 7.4.8 工作集页面置换算法 7.4.9 工作集时钟(wsclock)页面置换算法 7.5 习题 第8章 分页与分段设计 8.1 分页系统的设计问题 8.1.1 局部分配策略与全局分配策略 8.1.2 负载控制 8.1.3 页面大小 8.1.4 分离的指令空间和数据空间 8.1.5 共享页面 8.1.6 共享库 8.1.7 内存映射文件 8.1.8 清除策略 8.1.9 虚拟内存接口 8.2 设计的实现问题 8.2.1 与分页有关的工作 8.2.2 指令备份 8.2.3 后备存储 8.3 分段 8.3.1 纯分段的实现 8.3.2 分段和分页结合:multics 8.3.3 分段和分页结合:intel pentium 8.4 习题 第9章 处理器管理 9.1 处理器调度的类型 9.2 调度算法 9.2.1 短程调度准则 9.2.2 优先级的使用 9.2.3 选择调度策略 9.2.4 公平共享调度 9.3 多处理器调度 9.3.1 粒度 9.3.2 设计问题 9.3.3 进程调度 9.3.4 线程调度 9.4 实时调度 9.4.1 实时操作系统的特点 9.4.2 实时调度方法 9.4.3 限期调度 9.4.4 速率单调调度 9.4.5 优先级反转 9.5 习题 第4篇 输入/输出和文件管理 第10章 输入/输出管理 10.1 i/o硬件原理 10.1.1 i/o设备 10.1.2 设备控制器 10.1.3 内存映射i/o 10.1.4 直接存储器存取 10.2 i/o软件原理 10.2.1 i/o软件的目标 10.2.2 程序控制i/o 10.2.3 中断驱动i/o 10.2.4 使用dma的i/o 10.3 i/o软件层次 10.3.1 中断处理程序 10.3.2 设备驱动程序 10.3.3 与设备无关的i/o软件 10.3.4 用户空间的i/o软件 10.4 习题 第11章 i/o设备管理 11.1 盘 11.1.1 磁盘 11.1.2 光盘 11.1.3 固态硬盘 11.2 磁盘臂调度算法 11.3 磁盘阵列(raid) 11.4 时钟 11.4.1 时钟硬件 11.4.2 时钟软件 11.4.3 软定时器 11.5 用户界面:键盘、鼠标和监视器 11.5.1 输入软件 11.5.2 输出软件 11.6 电源管理 11.7 习题 第12章 文件管理 12.1 文件 12.1.1 文件命名 12.1.2 文件结构 12.1.3 文件类型 12.1.4 文件存取 12.1.5 文件属性 12.1.6 文件操作 12.2 目录 12.2.1 一级目录系统 12.2.2 层次目录系统 12.2.3 路径名 12.2.4 目录操作 12.3 文件系统的实现 12.3.1 文件系统布局 12.3.2 文件的实现 12.3.3 目录的实现 12.3.4 虚拟文件系统 12.4 文件系统管理和优化 12.4.1 磁盘空间管理 12.4.2 文件系统备份 12.4.3 文件系统的一致性 12.4.4 文件系统性能 12.4.5 磁盘碎片整理 12.5 习题 第5篇 操作系统进阶 第13章 操作系统安全 13.1 安全的概念 13.2 威胁、攻击与资产 13.2.1 威胁与资产 13.2.2 入侵者 13.2.3 数据意外遗失 13.3 恶意软件 13.3.1 特洛伊木马 13.3.2 病毒 13.3.3 蠕虫 13.3.4 僵尸 13.3.5 移动代码 13.3.6 间谍软件 13.3.7 rootkit 13.4 内部与外部攻击 13.4.1 后门陷阱 13.4.2 逻辑炸弹 13.4.3 登录欺骗 13.4.4 利用代码漏洞 13.5 身份验证与访问控制 13.5.1 基于密码的身份验证 13.5.2 基于令牌的身份验证 13.5.3 生物特征识别认证 13.5.4 访问控制 13.6 入侵检测 13.6.1 基于主机的入侵检测技术 13.6.2 审计记录 13.7 防御 13.7.1 防火墙 13.7.2 反病毒技术 13.7.3 蠕虫对策 13.8 习题 第14章 多媒体操作系统 14.1 多媒体概述 14.2 多媒体文件 14.2.1 视频编码 14.2.2 音频编码 14.3 视频压缩 14.3.1 jpeg标准 14.3.2 mpeg标准 14.4 音频压缩 14.5 多媒体进程调度 14.5.1 调度同质进程 14.5.2 一般实时调度 14.5.3 速率单调调度 14.5.4 *早*终时限优先调度 14.6 多媒体文件系统 14.6.1 vcr控制功能 14.6.2 近似视频点播 14.7 文件存放 14.7.1 在单个磁盘上存放文件 14.7.2 两个替代的文件组织策略 14.7.3 近似视频点播的文件存放 14.7.4 在单个磁盘上存放多个文件 14.7.5 在多个磁盘上存放文件 14.8 高速缓存 14.8.1 块高速缓存 14.8.2 文件高速缓存 14.9 多媒体磁盘调度 14.9.1 静态磁盘调度 14.9.2 动态磁盘调度 14.10 习题 第15章 嵌入式操作系统 15.1 嵌入式系统 15.2 ecos 15.2.1 可配置性 15.2.2 ecos组件 15.2.3 ecos调度程序 15.2.4 ecos线程同步 15.3 tinyos 15.3.1 无线传感器网络 15.3.2 tinyos的目标 15.3.3 tinyos的组件 15.3.4 tinyos的调度程序 15.3.5 tinyos的资源接口 15.4 习题 第16章 分布式处理、客户/服务器和集群系统 16.1 客户/服务器计算模型 16.1.1 客户/服务器的概念 16.1.2 客户/服务器的应用 16.1.3 中间件 16.2 面向服务的体系结构 16.3 分布式消息传递 16.4 远程过程调用 16.5 集群 16.5.1 集群的配置 16.5.2 操作系统的设计问题 16.5.3 集群计算机的体系结构 16.5.4 windows集群服务器 16.5.5 beowulf和linux集群 16.6 习题 附录 部分习题参考答案 参考文献
|