书籍作者:陈海波 夏虞斌 等著 | ISBN:9787111666073 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:2285 |
创建日期:2021-02-14 | 发布日期:2021-10-07 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书以三个“面向”为导向,即面向经典基础理论与方法,面向国际前沿研究,面向工业界实践,深入浅出地介绍操作系统的理论、架构、设计方法与具体实现。本书是首本以ARM64为主体介绍操作系统的教材,将学术前沿与工业实践充分结合,不仅介绍了现有的Linux宏内核操作系统架构,而且介绍了微内核、外核等操作系统架构。
本书共分为三个部分,其中第一部分(操作系统基础)以纸质版的形式出版,第二部分(操作系统进阶)和第三部分(ChCore课程实验)则以电子版的形式在本书网站发布。第一部分共分为11章,内容包括:操作系统概述、硬件结构、操作系统结构、内存管理、进程与线程、操作系统调度、进程间通信、同步原语、文件系统与存储、设备管理和系统虚拟化。
本书包含大量插图、示例和练习,并融入了典型的操作系统相关的技术问题,既可以作为高等院校计算机专业本科生和研究生的操作系统课程教材...
陈海波
上海交通大学特聘教授、博导,并行与分布式系统研究所所长,领域操作系统教育部工程研究中心主任,国家杰出青年基金获得者,ACM杰出科学家,CCF杰出会员与杰出演讲者。主要研究领域为操作系统和系统安全。曾获教育部技术发明一等奖(第一完成人)、全国优秀博士学位论文奖、CCF青年科学家奖。目前担任ACM SIGOPS ChinaSys主席、CCF系统软件专委会副主任、ACM旗舰杂志Communications of the ACM中国首位编委与Special Sections领域共同主席、ACM Transactions on Storage编委。曾任ACM SOSP 2017年大会共同主席、ACM CCS 2018系统安全领域主席、ACM SIGSAC奖励委员会委员。研究工作还获得了华为最*个人贡献奖、金牌团队奖。按照csrankings.org的统...
以三个“面向”为导向,即面向经典基础理论与方法,面向国际前沿研究,面向工业界实践,深入浅出地介绍操作系统的理论、架构、设计方法与具体实现。本书是首本以ARM64为主体介绍操作系统的教材,将学术前沿与工业实践充分结合,不仅介绍了现有的Linux宏内核操作系统架构,而且介绍了微内核、外核等操作系统架构。
本书作者陈海波现为上海交通大学特聘教授、博导,并行与分布式系统研究所所长,领域操作系统教育部工程研究中心主任,国家杰出青年基金获得者,ACM杰出科学家,CCF杰出会员与杰出演讲者,不但有丰富的教学经验,而且在工业界还有丰富的带领团队研发操作系统的经验。因此本书不但介绍了现代操作系统的经典理论与方法,还结合前沿研究与工业界实践,介绍了真实场景下的应用、问题和解决方案。
为了帮助读者更好地理解操作系统的设计与实现,上海交通大学并行与分布式系统研究所团队还专门实现了一个小巧但具有较完整基础功能的微内核架构教学操作系统ChCore,并基于ChCore设计了一系列的课程实验。
拥有丰富的教辅材料:在“好大学在线”设置了MOOC课程;建设了课程网站,提供了与课程教学配套的讲义PPT与授课视频;搭建了在线社区,供大家讨论与答疑等。
结合作者在工业界长期担任技术和综合面试官的经验,将一些典型的操作系统相关的技术问题融入本书内容以及每章的课后思考题中,既可为工业界从事操作系统相关领域研发工作的专业人员提供参考,又可对希望从事相关领域研发工作的求职者有所帮助。
序言一
序言二
前言
第一部分 操作系统基础
第1章 操作系统概述............................................................... 2
1.1 简约但不简单:从Hello World说起.............................................. 2
1.2 什么是操作系统................................................................ 3
1.3 操作系统简史.................................................................. 6
1.4 操作系统接口.................................................................. 9
1.5 ChCore:一个简单的实验操作系统............................................... 11
参考文献.......................................................................... 12
第2章 硬件结构.................................................................. 13
2.1 CPU与指令集架构.............................................................. 14
2.2 物理内存与CPU缓存........................................................... 17
2.3 设备与中断................................................................... 20
2.4 思考题....................................................................... 22
参考文献.......................................................................... 22
第3章 操作系统结构.............................................................. 23
3.1 操作系统的机制与策略......................................................... 24
3.2 操作系统复杂度管理方法....................................................... 25
3.3 操作系统内核架构............................................................. 274
3.4 操作系统框架结构............................................................. 35
3.5 思考题....................................................................... 39
参考文献.......................................................................... 40
第4章 内存管理.................................................................. 42
4.1 虚拟地址与物理地址........................................................... 43
4.2 基于分页的虚拟内存........................................................... 46
4.3 虚拟内存功能................................................................. 58
4.4 物理内存分配与管理........................................................... 62
4.5 案例分析:ChCore内存管理机制................................................ 70
4.6 思考题....................................................................... 73
参考文献.......................................................................... 74
第5章 进程与线程................................................................ 76
5.1 进程......................................................................... 76
5.2 案例分析:Linux的进程操作.................................................... 80
5.3 线程.......................................................................... 92
5.4 案例分析:ChCore的线程上下文................................................. 99
5.5 纤程......................................................................... 102
5.6 思考题....................................................................... 106
参考文献.......................................................................... 107
第6章 操作系统调度.............................................................. 108
6.1 计算机调度简介............................................................... 108
6.2 调度机制..................................................................... 113
6.3 单核调度策略................................................................. 117
6.4 多核调度策略................................................................. 141
6.5 调度进阶机制................................................................. 151
6.6 案例分析:现代调度器......................................................... 155
6.7 思考题...................................................................... 162
参考文献......................................................................... 163
第7章 进程间通信............................................................... 165
7.1 进程间通信基础.............................................................. 165
7.2 宏内核进程间通信............................................................ 175
7.3 微内核进程间通信............................................................ 186
7.4 案例分析:Android Binder.................................................... 195
7.5 案例分析:ChCore 进程间通信机制............................................. 201
7.6 思考题...................................................................... 203
参考文献......................................................................... 203
第8章 同步原语................................................................. 206
8.1 互斥锁...................................................................... 209
8.2 条件变量.................................................................... 219
8.3 信号量...................................................................... 223
8.4 读写锁...................................................................... 229
8.5 RCU......................................................................... 233
8.6 管程........................................................................ 237
8.7 同步带来的问题.............................................................. 239
8.8 案例分析:Linux中的futex................................................... 249
8.9 案例分析:ChCore中的同步原语................................................ 251
8.10 思考题..................................................................... 252
参考文献......................................................................... 254
第9章 文件系统................................................................. 256
9.1 基于inode的文件系统........................................................ 257
9.2 虚拟文件系统................................................................ 266
9.3 其他文件系统................................................................ 284
9.4 案例分析:ChCore文件系统.................................................... 294
9.5 思考题....................................................................... 296
参考文献.......................................................................... 297
第10章 设备管理................................................................. 299
10.1 计算机设备的连接和通信...................................................... 300
10.2 设备的识别.................................................................. 303
10.3 设备的中断处理.............................................................. 306
10.4 设备驱动与驱动模型.......................................................... 314
10.5 案例分析:Linux设备驱动模型................................................. 316
10.6 案例分析:Zircon的设备驱动模型.............................................. 323
10.7 案例分析:L4设备驱动模型.................................................... 327
10.8 案例分析:Linux的用户态驱动模型............................................. 329
10.9 思考题....................................................................... 332
参考文献........................................................................... 333
第11章 系统虚拟化................................................................ 335
11.1 系统虚拟化技术概述........................................................... 336
11.2 CPU虚拟化................................................................... 338
11.3 内存虚拟化................................................................... 347
11.4 I/O虚拟化................................................................... 357
11.5 中断虚拟化................................................................... 366
11.6 案例分析:QEMU/KVM........................................................... 367
11.7 思考题....................................................................... 372
参考文献........................................................................... 373
缩略语............................................................................. 375
在线章节
第二部分 操作系统进阶
第12章 多核与多处理器
第13章 文件系统崩溃一致性
第14章 网络协议栈与系统
第15章 轻量级虚拟化
第16章 操作系统安全
第17章 操作系统调测
第18章 形式化证明
第三部分 ChCore课程实验
第19章 Lab1:机器启动
第20章 Lab2:内存管理
第21章 Lab3:用户进程与异常处理
第22章 Lab4:多核处理
第23章 Lab5:文件系统与Shell
陈海波老师永远滴神,好书,就是level
2020-11-01 02:41:08
很好的一本书,操作系统的内容具有现代的特色。包含了一些比较新的基础知识。在国内操作系统教材中并不多见。
2020-10-31 11:18:52
好书强推
2020-09-28 19:35:34
图书,活动满减价格实惠,包装细致快递给力!
2020-10-31 00:01:25
冲着陈海波老师买的,国内系统领域绝对的大牛,书还没看,简单过了一遍发现有很多以前本科都没讲过的内容,值得一看!
2020-10-28 15:44:26