新書推薦:
《
(棱镜精装人文译丛)蔑视大众:现代社会文化斗争的实验
》
售價:HK$
60.5
《
皇家宫廷中的保健秘方 中小学课外阅读
》
售價:HK$
63.8
《
《诗经》十五讲 十五堂《诗经》历史文化与文学课 丹曾人文通识丛书
》
售價:HK$
86.9
《
述异记汇笺及情节单元分类研究(上下册)
》
售價:HK$
104.5
《
环境、社会、治理(ESG)信息披露操作手册
》
售價:HK$
261.8
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:HK$
96.8
《
理论的意义
》
售價:HK$
74.8
《
悬壶杂记:医林旧事
》
售價:HK$
52.8
|
內容簡介: |
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共六部分,不仅详细讲解了进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版新增了多核系统和移动计算的内容,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
|
關於作者: |
---作者简介---
亚伯拉罕·西尔伯沙茨(Abraham Silberschatz) 计算机科学家,ACM、IEEE和AAAS会士。现任耶鲁大学计算机科学系教授,之前曾任贝尔实验室信息科学研究中心副主管。除本书外,他还是知名教材《数据库系统概念》的作者之一。
彼得·B. 高尔文(Peter B. Galvin) 现任Pluribus Networks首席解决方案架构师,之前曾任系统集成商Corporate Technologies的首席技术官,还曾在波士顿大学担任讲师。
格雷格·加涅(Greg Gagne) 威斯敏斯特学院计算机科学系主任,操作系统、计算机网络、并行编程和软件工程方面的专家。
---译者简介---
郑扣根,浙江大学计算机学院教授、博士生导师。1994年起于浙江大学任教至今,长期从事操作系统、计算理论、形式化方法、计算机网络等方面的教学和科研工作。
|
目錄:
|
目 录
Operating System Concepts, Ninth Edition
出版者的话
译者序
前言
第一部分 概论
第1章导论2
1.1操作系统的功能2
1.1.1用户视角2
1.1.2系统视角3
1.1.3操作系统的定义4
1.2计算机系统的组成4
1.2.1计算机系统的运行5
1.2.2存储结构6
1.2.3IO结构8
1.3计算机系统的体系结构9
1.3.1单处理器系统9
1.3.2多处理器系统10
1.3.3集群系统12
1.4操作系统的结构13
1.5操作系统的执行14
1.5.1双重模式与多重模式的执行15
1.5.2定时器16
1.6进程管理17
1.7内存管理18
1.8存储管理18
1.8.1文件系统管理18
1.8.2大容量存储器管理19
1.8.3高速缓存19
1.8.4IO系统21
1.9保护与安全21
1.10内核数据结构22
1.10.1列表、堆栈及队列22
1.10.2树23
1.10.3哈希函数与哈希表23
1.10.4位图24
1.11计算环境24
1.11.1传统计算24
1.11.2移动计算25
1.11.3分布计算26
1.11.4客户机-服务器计算26
1.11.5对等计算27
1.11.6虚拟化28
1.11.7云计算29
1.11.8实时嵌入式系统30
1.12开源操作系统31
1.12.1历史31
1.12.2Linux31
1.12.3BSD UNIX32
1.12.4Solaris32
1.12.5用作学习的开源操作系统33
1.13小结33
习题35
推荐读物36
参考文献36
第2章操作系统结构38
2.1操作系统的服务38
2.2用户与操作系统的界面40
2.2.1命令解释程序40
2.2.2图形用户界面41
2.2.3界面的选择42
2.3系统调用43
2.4系统调用的类型46
2.4.1进程控制46
2.4.2文件管理49
2.4.3设备管理50
2.4.4信息维护50
2.4.5通信50
2.4.6保护51
2.5系统程序51
2.6操作系统的设计与实现52
2.6.1设计目标52
2.6.2机制与策略53
2.6.3实现53
2.7操作系统的结构54
2.7.1简单结构54
2.7.2分层方法55
2.7.3微内核56
2.7.4模块57
2.7.5混合系统58
2.8操作系统的调试60
2.8.1故障分析60
2.8.2性能优化60
2.8.3DTrace61
2.9操作系统的生成63
2.10系统引导64
2.11小结64
习题65
编程题66
编程项目66
推荐读物69
参考文献69
第二部分 进程管理
第3章 进程72
3.1进程概念72
3.1.1进程72
3.1.2进程状态73
3.1.3进程控制块73
3.1.4线程74
3.2进程调度75
3.2.1调度队列75
3.2.2调度程序77
3.2.3上下文切换78
3.3进程运行79
3.3.1进程创建79
3.3.2进程终止82
3.4进程间通信83
3.4.1共享内存系统85
3.4.2消息传递系统86
3.5IPC系统例子89
3.5.1例子:POSIX共享内存89
3.5.2例子:Mach91
3.5.3例子:Windows92
3.6客户机服务器通信93
3.6.1套接字93
3.6.2远程过程调用96
3.6.3管道98
3.7小结102
习题103
编程题105
编程项目107
推荐读物110
参考文献110
第4章 多线程编程112
4.1概述112
4.1.1动机112
4.1.2优点113
4.2多核编程114
4.2.1编程挑战115
4.2.2并行类型115
4.3多线程模型116
4.3.1多对一模型116
4.3.2一对一模型116
4.3.3多对多模型116
4.4线程库117
4.4.1Pthreads118
4.4.2Windows线程119
4.4.3Java线程121
4.5隐式多线程122
4.5.1线程池123
4.5.2OpenMP124
4.5.3大中央调度125
4.5.4其他方法125
4.6多线程问题125
4.6.1系统调用fork和exec125
4.6.2信号处理126
4.6.3线程撤销127
4.6.4线程本地存储128
4.6.5调度程序激活128
4.7操作系统例子129
4.7.1Windows线程129
4.7.2Linux线程130
4.8小结131
习题131
编程题133
编程项目134
推荐读物136
参考文献136
第5章 进程调度138
5.1基本概念138
5.1.1CPU-IO执行周期138
5.1.2CPU调度程序139
5.1.3抢占调度139
5.1.4调度程序140
5.2调度准则140
5.3调度算法141
5.3.1先到先服务调度141
5.3.2最短作业优先调度142
5.3.3优先级调度144
5.3.4轮转调度145
5.3.5多级队列调度147
5.3.6多级反馈队列调度148
5.4线程调度149
5.4.1竞争范围149
5.4.2Pthreads调度149
5.5多处理器调度151
5.5.1多处理器调度的方法151
5.5.2处理器亲和性151
5.5.3负载平衡152
5.5.4多核处理器152
5.6实时CPU调度154
5.6.1最小化延迟154
5.6.2优先权调度155
5.6.3单调速率调度156
5.6.4最早截止期限优先调度157
5.6.5比例分享调度158
5.6.6POSIX实时调度158
5.7操作系统例子160
5.7.1例子:Linux调度160
5.7.2例子:Windows调度162
5.7.3例子:Solaris调度164
5.8算法评估165
5.8.1确定性模型166
5.8.2排队模型167
5.8.3仿真167
5.8.4实现168
5.9小结169
习题170
推荐读物172
参考文献173
第6章 同步175
6.1背景175
6.2临界区问题177
6.3Peterson解决方案178
6.4硬件同步179
6.5互斥锁181
6.6信号量
|
內容試閱:
|
前 言Operating System Concepts, Ninth Edition操作系统是任何计算机系统的重要组成部分。同样,操作系统课程也是计算机科学教育的基本组成部分。随着计算机逐渐渗透到日常生活的每个方面,从汽车的嵌入设备到政府和跨国公司的先进规划工具,这个领域发展迅猛。然而,其中的基本概念仍然比较清晰,这些概念就是本书讨论的基础。
本书是面向操作系统导论课程的教科书,适用于大三、大四学生和一年级研究生,同时也可供工程技术人员参考。本书清晰地描述了操作系统的概念。作为先决条件,我们假设读者熟悉基本数据结构、计算机组成和一种高级语言(如C或Java)。本书第1章包括了学习操作系统所需的硬件知识,还包括大多数操作系统普遍使用的基础数据结构。代码示例主要使用C和Java,不过,即使读者不具有这些语言的全部知识也能理解这些算法。
本书不仅直观描述了概念,而且包括重要的理论结果,但是省略了大部分的形式化证明。每章结尾的推荐读物给出了相关研究论文,其中有的首次提出或证明了这些理论结果,有的提供深入阅读的最新材料。本书通过图形和举例来代替证明,以说明为什么有关结果是真实有效的。
本书描述的基本概念和算法通常用于商用和开源的操作系统。我们的目标是,按照通用的(而非特定的)操作系统来描述这些概念和算法。另外,我们提供了最受欢迎和最具创新的操作系统的大量例子,包括Linux、Microsoft Windows、Apple Mac OS X和Solaris。我们还给出了两个主要移动操作系统(Android和iOS)的示例。
本书的编写综合了我们从事操作系统教学的多年经验以及IEEE计算机协会和ACM共同出版的课程指南。另外,还考虑了多位审稿人员提供的反馈意见,以及以前版本读者和学生的许多意见和建议。
本书内容本书包括六大部分:
概论。第1章和第2章解释了操作系统是什么,它们能做什么,以及它们是如何设计与构造的。这一部分讨论了操作系统的常见功能是什么,以及操作系统能为用户提供什么。我们不仅讨论PC和服务器的传统操作系统,而且讨论移动设备的操作系统。描述主要以启发和解释为主,避免讨论内部实现细节。因此,这部分适合低年级学生或类似读者,以便了解操作系统是什么而无需关注内部算法细节。
进程管理。第3~7章描述了进程概念和并发,这是现代操作系统的核心。进程是系统内的工作单元。这种系统包括一组并发执行进程,其中一些是操作系统进程(执行系统代码的进程),其余的是用户进程(执行用户代码的进程)。这一部分包括进程调度、进程间通信、进程同步及死锁处理等的方法,还包括线程分析以及多核系统和并行编程的有关分析。
内存管理。第8章和第9章是关于进程执行期间的内存管理的。为了改进CPU的使用率及其对用户的响应速度,计算机必须在内存中同时保存多个进程。内存管理具有很多不同方案,反映了内存管理的各种方法;而特定算法的有效性取决于应用情形。
存储管理。第10~13章描述了现代计算机系统如何处理文件系统、大容量存储和IO。文件系统提供了一种机制,以对数据和程序进行在线存储与访问。这一部分描述了存储管理的经典内部算法和结构,并且深入讨论了这些算法,比如它们的特性、优点和缺点。由于连到计算机的IO设备种类如此之多,操作系统需要为应用程序提供大量的功能,以控制这些设备的方方面面。这一部分深入讨论了IO系统,包括IO系统设计、接口及系统内部的结构和功能。在许多方面,IO设备也是计算机中最慢的主要组件。因为设备通常是性能瓶颈,所以这一部分也讨论了IO设备的性能问题。
保护与安全。第14章和第15章讨论了计算机系统保护与安全的必需机制。操作系统的进程活动必须互相保护,为此,我们必须确保只有获得操作系统适当授权的进程才能使用系统的文件、内存、CPU和其他资源。保护是一种机制,用于控制程序、进程和用户对计算机系统资源的访问,这种机制必须提供指定控制和实施控制的手段。安全机制保护系统存储的信息(数据和代码)的完整性和计算机的物理资源,从而避免未经授权的访问、恶意破坏或修改以及意外引入的不一致。
案例研究。本书的第16章和第17章以及附录A和附录B(见www.wiley.comcollegesilberschatz),详细研究了操作系统的实际案例,包括Linux、Windows 7、FreeBSD和Mach。虽然本书前面章节也有Linux和Windows 7的讨论,但是案例研究提供了更多细节。比较这两个非常不同的系统的设计是特别有意义的。最后的第18章简要地描述了其他一些有影响的操作系统。
第9版在编写本书第9版时,我们考虑了影响操作系统的两个重要领域的新发展:
多核系统移动计算为了强调这两个重要领域的新发展,我们在新版本中融入了相关讨论。另外,我们几乎重写了每章内容以反映最新变化,并且删除不再有趣或有关的材料。
我们也做了大量调整,例如删除了实时系统一章,但在其他章节中整合了对这些系统的适当讨论。大多数调整都是基于我们讲授操作系统课程的经验。
下面简要描述各章的主要修改:
第1章,导论,包括关于多处理器和多核系统以及内核数据结构的新内
|
|