- 机械工业出版社
- 9787111604365
- 1-11
- 227166
- 45249412-3
- 平装
- 16开
- 2018-07
- 1000
- 628
- 工学
- 计算机科学与技术
- TP316
- 计算机科学与技术
- 本科
作者简介
内容简介
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共六部分,不仅详细讲解了进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版新增了多核系统和移动计算的内容,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
目录
目 录Operating System Concepts, Ninth Edition出版者的话译者序前言第一部分 概论第1章导论 21.1操作系统的功能 21.1.1用户视角 21.1.2系统视角 31.1.3操作系统的定义 41.2计算机系统的组成 41.2.1计算机系统的运行 51.2.2存储结构 61.2.3I/O结构 81.3计算机系统的体系结构 91.3.1单处理器系统 91.3.2多处理器系统 101.3.3集群系统 121.4操作系统的结构 131.5操作系统的执行 141.5.1双重模式与多重模式的执行 151.5.2定时器 161.6进程管理 171.7内存管理 181.8存储管理 181.8.1文件系统管理 181.8.2大容量存储器管理 191.8.3高速缓存 191.8.4I/O系统 211.9保护与安全 211.10内核数据结构 221.10.1列表、堆栈及队列 221.10.2树 231.10.3哈希函数与哈希表 231.10.4位图 241.11计算环境 241.11.1传统计算 241.11.2移动计算 251.11.3分布计算 261.11.4客户机-服务器计算 261.11.5对等计算 271.11.6虚拟化 281.11.7云计算 291.11.8实时嵌入式系统 301.12开源操作系统 311.12.1历史 311.12.2Linux 311.12.3BSD UNIX 321.12.4Solaris 321.12.5用作学习的开源操作系统 331.13小结 33习题 35推荐读物 36参考文献 36第2章操作系统结构 382.1操作系统的服务 382.2用户与操作系统的界面 402.2.1命令解释程序 402.2.2图形用户界面 412.2.3界面的选择 422.3系统调用 432.4系统调用的类型 462.4.1进程控制 462.4.2文件管理 492.4.3设备管理 502.4.4信息维护 502.4.5通信 502.4.6保护 512.5系统程序 512.6操作系统的设计与实现 522.6.1设计目标 522.6.2机制与策略 532.6.3实现 532.7操作系统的结构 542.7.1简单结构 542.7.2分层方法 552.7.3微内核 562.7.4模块 572.7.5混合系统 582.8操作系统的调试 602.8.1故障分析 602.8.2性能优化 602.8.3DTrace 612.9操作系统的生成 632.10系统引导 642.11小结 64习题 65编程题 66编程项目 66推荐读物 69参考文献 69第二部分 进程管理第3章 进程 723.1进程概念 723.1.1进程 723.1.2进程状态 733.1.3进程控制块 733.1.4线程 743.2进程调度 753.2.1调度队列 753.2.2调度程序 773.2.3上下文切换 783.3进程运行 793.3.1进程创建 793.3.2进程终止 823.4进程间通信 833.4.1共享内存系统 853.4.2消息传递系统 863.5IPC系统例子 893.5.1例子:POSIX共享内存 893.5.2例子:Mach 913.5.3例子:Windows 923.6客户机/服务器通信 933.6.1套接字 933.6.2远程过程调用 963.6.3管道 983.7小结 102习题 103编程题 105编程项目 107推荐读物 110参考文献 110第4章 多线程编程 1124.1概述 1124.1.1动机 1124.1.2优点 1134.2多核编程 1144.2.1编程挑战 1154.2.2并行类型 1154.3多线程模型 1164.3.1多对一模型 1164.3.2一对一模型 1164.3.3多对多模型 1164.4线程库 1174.4.1Pthreads 1184.4.2Windows线程 1194.4.3Java线程 1214.5隐式多线程 1224.5.1线程池 1234.5.2OpenMP 1244.5.3大中央调度 1254.5.4其他方法 1254.6多线程问题 1254.6.1系统调用fork()和exec() 1254.6.2信号处理 1264.6.3线程撤销 1274.6.4线程本地存储 1284.6.5调度程序激活 1284.7操作系统例子 1294.7.1Windows线程 1294.7.2Linux线程 1304.8小结 131习题 131编程题 133编程项目 134推荐读物 136参考文献 136第5章 进程调度 1385.1基本概念 1385.1.1CPU-I/O执行周期 1385.1.2CPU调度程序 1395.1.3抢占调度 1395.1.4调度程序 1405.2调度准则 1405.3调度算法 1415.3.1先到先服务调度 1415.3.2最短作业优先调度 1425.3.3优先级调度 1445.3.4轮转调度 1455.3.5多级队列调度 1475.3.6多级反馈队列调度 1485.4线程调度 1495.4.1竞争范围 1495.4.2Pthreads调度 1495.5多处理器调度 1515.5.1多处理器调度的方法 1515.5.2处理器亲和性 1515.5.3负载平衡 1525.5.4多核处理器 1525.6实时CPU调度 1545.6.1最小化延迟 1545.6.2优先权调度 1555.6.3单调速率调度 1565.6.4最早截止期限优先调度 1575.6.5比例分享调度 1585.6.6POSIX实时调度 1585.7操作系统例子 1605.7.1例子:Linux调度 1605.7.2例子:Windows调度 1625.7.3例子:Solaris调度 1645.8算法评估 1655.8.1确定性模型 1665.8.2排队模型 1675.8.3仿真 1675.8.4实现 1685.9小结 169习题 170推荐读物 172参考文献 173第6章 同步 1756.1背景 1756.2临界区问题 1776.3Peterson解决方案 1786.4硬件同步 1796.5互斥锁 1816.6信号量