• 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
  • 操作系统导论【正版新书】
21年品牌 40万+商家 超1.5亿件商品

操作系统导论【正版新书】

正版新书出版社直发可开发票,支持7天无理由

52.3 5.3折 99 全新

库存96件

江苏无锡
认证卖家担保交易快速发货售后保障

作者[美] 雷姆兹·H.阿帕希杜塞尔( Remzi H. Arpaci-Dusseau), [美]安德莉亚·C.阿帕希杜塞尔(Andrea C. Arpaci-Dusseau)

出版社人民邮电出版社

ISBN9787115508232

出版时间2019-06

装帧平装

开本16开

定价99元

货号1201891962

上书时间2024-06-23

   商品详情   

品相描述:全新
商品描述
作者简介
雷姆兹·H.阿帕希杜塞尔(Remzi H.Arpaci-Dusseau)和安德莉亚·C.阿帕希杜塞尔
(Andrea C.Arpaci-Dusseau)夫妇是美国威斯康星大学计算机科学教授。二人都从事计算机操作系统方面的教学和研究。

目录
第 1章  关于本书的对话1
第  2章 操作系统介绍  3
2.1  虚拟化CPU  4
2.2  虚拟化内存  6
2.3  并发  7
2.4  持久性  9
2.5  设计目标  11
2.6  简单历史  12
2.7  小结  15
参考资料  15

第  1部分 虚拟化

第3章  关于虚拟化的对话  18
第4章  抽象:进程  19
4.1  抽象:进程  20
4.2  进程API  20
4.3  进程创建:更多细节  21
4.4  进程状态  22
4.5  数据结构  24
4.6  小结  25
参考资料  25
作业  26
问题  26
第5章  插叙:进程API  28
5.1  fork()系统调用  28
5.2  wait()系统调用  29
5.3  最后是exec()系统调用  30
5.4  为什么这样设计API  32
5.5  其他API  34
5.6  小结  34
参考资料  34
作业(编码)  35
问题  35
第6章  机制:受限直接执行  37
6.1  基本技巧:受限直接执行  37
6.2  问题1:受的操作  38
6.3  问题2:在进程之间切换  40
6.4  担心并发吗  44
6.5  小结  45
参考资料  45
作业(测量)  47
第7章  进程调度:介绍  48
7.1  工作负载假设  48
7.2  调度指标  49
7.3  优选先出(FIFO)  49
7.4  最短任务优先(SJF)  50
7.5  最短完成时间优先(STCF)  51
7.6  新度量指标:响应时间  52
7.7  轮转  52
7.8  结合I/O  54
7.9  无法预知  54
7.10  小结  55
参考资料  55
作业  56
问题  56
第8章  调度:多级反馈队列  57
8.1  MLFQ:基本规则  57
8.2  尝试 #1:如何改变优先级  58
8.3  尝试 #2:提升优先级  60
8.4  尝试 #3:更好的计时方式  61
8.5  MLFQ调优及其他问题  61
8.6  MLFQ:小结  62
参考资料  63
作业  64
问题  64
第9章  调度:比例份额  65
9.1  基本概念:彩票数表示份额  65
9.2  彩票机制  66
9.3  实现  67
9.4  一个例子  68
9.5  如何分配彩票  68
9.6  为什么不是确定的  69
9.7  小结  70
参考资料  70
作业  71
问题  71
第  10章 多处理器调度(高级)  73
10.1  背景:多处理器架构  73
10.2  别忘了同步  75
10.3  最后一个问题:缓存亲和度  76
10.4  单队列调度  76
10.5  多队列调度  77
10.6  Linux 多处理器调度  79
10.7  小结  79
参考资料  79
第  11章 关于CPU虚拟化的总结对话  81
第  12章 关于内存虚拟化的对话  83
第  13章 抽象:地址空间  85
13.1  早期系统  85
13.2  多道程序和时分共享  85
13.3  地址空间  86
13.4  目标  87
13.5  小结  89
参考资料  89
第  14章 插叙:内存操作API  91
14.1  内存类型  91
14.2  malloc()调用  92
14.3  free()调用  93
14.4  常见错误  93
14.5  底层操作系统支持  96
14.6  其他调用  97
14.7  小结  97
参考资料  97
作业(编码)  98
问题  98
第  15章 机制:地址转换  100
15.1  假设  101
15.2  一个例子  101
15.3  动态(基于硬件)重定位  103
15.4  硬件支持:总结  105
15.5  操作系统的问题  105
15.6  小结  108
参考资料  109
作业  110
问题  110
第  16章 分段  111
16.1  分段:泛化的基址/界限  111
16.2  我们引用哪个段  113
16.3  栈怎么办  114
16.4  支持共享  114
16.5  细粒度与粗粒度的分段  115
16.6  操作系统支持  115
16.7  小结  117
参考资料  117
作业  118
问题  119
第  17章 空闲空间管理  120
17.1  假设  120
17.2  底层机制  121
17.3  基本策略  126
17.4  其他方式  128
17.5  小结  130
参考资料  130
作业  131
问题  131
第  18章 分页:介绍  132
18.1  一个简单例子  132
18.2  页表存在哪里  134
18.3  列表中究竟有什么  135
18.4  分页:也很慢  136
18.5  内存追踪  137
18.6  小结  139
参考资料  139
作业  140
问题  140
第  19章 分页:快速地址转换(TLB)  142
19.1  TLB的基本算法  142
19.2  示例:访问数组  143
19.3  谁来处理TLB未命中  145
19.4  TLB的内容  146
19.5  上下文切换时对TLB的处理  147
19.6  TLB替换策略  149
19.7  实际系统的TLB表项  149
19.8  小结  150
参考资料  151
作业(测量)  152
问题  153
第  20章 分页:较小的表  154
20.1  简单的解决方案:更大的页  154
20.2  混合方法:分页和分段  155
20.3  多级页表  157
20.4  反向页表  162
20.5  将页表交换到磁盘  163
20.6  小结  163
参考资料  163
作业  164
问题  164
第  21章 超越物理内存:机制  165
21.1  交换空间  165
21.2  存在位  166
21.3  页错误  167
21.4  内存满了怎么办  168
21.5  页错误处理流程  168
21.6  交换何时真正发生  169
21.7  小结  170
参考资料  171
第  22章 超越物理内存:策略  172
22.1  缓存管理  172
22.2  很优替换策略  173
22.3  简单策略:FIFO  175
22.4  另一简单策略:随机  176
22.5  利用历史数据:LRU  177
22.6  工作负载示例  178
22.7  实现基于历史信息的算法  180
22.8  近似LRU  181
22.9  考虑脏页  182
22.10  其他虚拟内存策略  182
22.11  抖动  183
22.12  小结  183
参考资料  183
作业  185
问题  185
第  23章 VAX/VMS虚拟内存系统  186
23.1  背景  186
23.2  内存管理硬件  186
23.3  一个真实的地址空间  187
23.4  页替换  189
23.5  其他漂亮的虚拟内存技巧  190
23.6  小结  191
参考资料  191
第  24章 内存虚拟化总结对话  193

第  2部分 并发

第  25章 关于并发的对话  196
第  26章 并发:介绍  198
26.1  实例:线程创建  199
26.2  为什么更糟糕:共享数据  201
26.3  核心问题:不可控的调度  203
26.4  原子性愿望  205
26.5  还有一个问题:等待另一个
  线程  206
26.6  小结:为什么操作系统课要研究
  并发  207
参考资料  207
作业  208
问题  208
第  27章 插叙:线程API  210
27.1  线程创建  210
27.2  线程完成  211
27.3  锁  214
27.4  条件变量  215
27.5  编译和运行  217
27.6  小结  217
参考资料  218
第  28章 锁  219
28.1  锁的基本思想  219
28.2  Pthread锁  220
28.3  实现一个锁  220
28.4  评价锁  220
28.5  控制中断  221
28.6  测试并设置指令(原子交换)  222
28.7  实现可用的自旋锁  223
28.8  评价自旋锁  225
28.9  比较并交换  225
28.10  链接的加载和条件式存储指令  226
28.11  获取并增加  228
28.12  自旋过多:怎么办  229
28.13  简单方法:让出来吧,宝贝  229
28.14  使用队列:休眠替代自旋  230
28.15  不同操作系统,不同实现  232
28.16  两阶段锁  233
28.17  小结  233
参考资料  233
作业  235
问题  235
第  29章 基于锁的并发数据结构  237
29.1  并发计数器  237
29.2  并发链表  241
29.3  并发队列  244
29.4  并发散列表  245
29.5  小结  246
参考资料  247
第30章  条件变量  249
30.1  定义和程序  250
30.2  生产者/消费者(有界缓冲区)
  问题  252
30.3  覆盖条件  260
30.4  小结  261
参考资料  261
第31章  信号量  263
31.1  信号量的定义  263
31.2  二值信号量(锁)  264
31.3  信号量用作条件变量  266
31.4  生产者/消费者(有界缓冲区)
  问题  268
31.5  读者—写者锁  271
31.6  哲学家就餐问题  273
31.7  如何实现信号量  275
31.8  小结  276
参考资料  276
第32章  常见并发问题  279
32.1  有哪些类型的缺陷  279
32.2  非死锁缺陷  280
32.3  死锁缺陷  282
32.4  小结  288
参考资料  289
第33章  基于事件的并发(进阶)  291
33.1  基本想法:事件循环  291
33.2  重要API:select()(或poll())  292
33.3  使用select()  293
33.4  为何更简单?无须锁  294
33.5  一个问题:阻塞系统调用  294
33.6  解决方案:异步I/O  294
33.7  另一个问题:状态管理  296
33.8  什么事情仍然很难  297
33.9  小结&nb

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP