图书介绍
计算机系统设计原理PDF|Epub|txt|kindle电子书版本网盘下载
![计算机系统设计原理](https://www.shukui.net/cover/14/30328539.jpg)
- (美)索尔特(SALTZERJH.),(美)卡休克(KAASHOEKM.F.)著;陈文光,张广艳,陈康等译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302294597
- 出版时间:2012
- 标注页数:375页
- 文件大小:57MB
- 文件页数:395页
- 主题词:电子计算机-系统设计-教材
PDF下载
下载说明
计算机系统设计原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 系统1
1.0概述1
1.1系统和复杂性2
1.1.1不同领域中系统的共同问题2
1.1.2系统、组件、接口和环境5
1.1.3复杂性6
1.2复杂性的来源7
1.2.1相互影响的需求8
1.2.2保证高利用率10
1.3处理复杂性Ⅰ11
1.3.1模块化11
1.3.2抽象化13
1.3.3层次化15
1.3.4分级化15
1.3.5组合起来:用名字关联16
1.4求同存异:计算机系统与其他系统的比较16
1.4.1计算机系统组合没有限制17
1.4.2 d(技术)/dt是前所未有的18
1.5处理复杂性Ⅱ21
1.5.1为什么模块化、抽象化、层次化和分级化还不够21
1.5.2迭代法21
1.5.3保持简单23
1.6本书其他内容24
习题25
第2章 计算机系统的组成部分26
2.0概述26
2.1 3种基本抽象26
2.1.1存储器27
2.1.2解释器32
2.1.3通信链路36
2.2计算机系统中的命名37
2.2.1命名模型38
2.2.2默认上下文引用和显式上下文引用41
2.2.3路径名、命名网络和递归名字解析44
2.2.4多重查找:在分层的上下文中搜索46
2.2.5名字比较47
2.2.6名字发现48
2.3用名字和层次结构组织计算机系统49
2.3.1硬件层:总线51
2.3.2软件层:文件抽象55
2.4总结经验,面向未来58
2.5案例分析:UNIX文件系统中的层次和命名58
2.5.1 UNIX文件系统应用程序编程接口59
2.5.2块层60
2.5.3文件层61
2.5.4 inode编号层62
2.5.5文件名层62
2.5.6路径名层64
2.5.7连接65
2.5.8重命名66
2.5.9绝对路径层67
2.5.10符号连接层68
2.5.11实现文件系统API70
2.5.12 Shell,隐式上下文,搜索路径,名字发现73
2.5.13进一步阅读推荐74
习题75
第3章 命名方案的设计77
3.0概述77
3.1命名方案设计中的考虑因素77
3.1.1模块化共享77
3.1.2元数据与名字重载80
3.1.3地址:定位对象的名字82
3.1.4生成唯一的名字83
3.1.5预期用户与用户友好的名字86
3.1.6名字、值和绑定的相对寿命87
3.1.7回顾和展望:名字是基本的系统组件89
3.2案例研究:统一资源定位器(URL)90
3.2.1网页浏览作为参考经历;名字发现90
3.2.2 URL的解释90
3.2.3 URL大小写敏感性91
3.2.4部分URL的错误上下文引用92
3.2.5 URL中的名字重载94
3.3战争故事:名字使用中的病症95
3.3.1名字冲突赶走了笑容95
3.3.2来自重载的脆弱名字,以及市场对策95
3.3.3来自重载的更加脆弱的名字,伴随市场崩溃96
3.3.4用户友好的名字中的大小写敏感性97
3.3.5电话号码的用尽98
习题100
第4章 使用客户及服务增强模块化102
4.0概述102
4.1客户/服务组织方式103
4.1.1从软模块化到强制模块化103
4.1.2客户/服务的组织方式108
4.1.3多客户端和多服务器114
4.1.4可信中间方114
4.1.5一个简单的例子服务116
4.2客户端和服务端之间的通信117
4.2.1远程过程调用 (RPC)117
4.2.2 RPC不等于过程调用119
4.2.3通过中间方的通信121
4.3总结及前景122
4.4案例研究:因特网域名系统(DNS)123
4.4.1 DNS中的名字解析124
4.4.2层次化的名字管理128
4.4.3 DNS的其他特点128
4.4.4 DNS中的名字发现129
4.4.5 DN S响应的可信性130
4.5案例研究:网络文件系统(NFS)131
4.5.1命名远程的文件和目录131
4.5.2 NFS的远程过程调用133
4.5.3扩展UNIX文件系统来支持NFS136
4.5.4一致性137
4.5.5 NFS版本3及后续版本139
习题139
第5章 使用虚拟化技术强制模块化142
5.0概述142
5.1在一个计算机内部使用虚拟化技术进行客户端服务器组织142
5.1.1虚拟化计算机的抽象概念144
5.1.2仿真与虚拟机148
5.1.3路线图:逐步虚拟化148
5.2使用SEND、RECEIVE以及有界缓存区的虚拟连接149
5.2.1有界限缓存区的SEND与RECEIVE的接口150
5.2.2使用有界缓存区进行顺序合作150
5.2.3竞争状态153
5.2.4锁与前后原子性156
5.2.5死锁158
5.2.6实现ACQUIRE以及RELEASE160
5.2.7使用单一写原理实现前后原子性动作162
5.2.8使用异步连接在同步岛之间进行合作165
5.3在内存上强制模块化166
5.3.1使用域强制模块化166
5.3.2使用多个域控制共享167
5.3.3使用内核态与用户态更多强制模块化169
5.3.4门与模式转换170
5.3.5为有界缓存区强制模块化171
5.3.6内核172
5.4虚拟化内存175
5.4.1虚拟化地址176
5.4.2使用页映射翻译地址177
5.4.3虚拟地址空间179
5.4.4硬件与软件对比以及旁路转换缓存183
5.4.5段(高级主题)184
5.5使用线程虚拟化处理器185
5.5.1多个线程之间共享一个处理器186
5.5.2实现YIELD189
5.5.3建立和终结线程193
5.5.4使用线程强制模块化:抢先式调度197
5.5.5使用线程和地址空间强制模块化198
5.5.6线程分层199
5.6顺序合作的线程原语200
5.6.1通知丢失问题200
5.6.2使用事件计数器以及顺序器避免通知丢失问题203
5.6.3实现AWAIT、 ADVANCE、TICKET、 READ (高级主题)207
5.6.4轮询、中断与顺序合作209
5.7案例分析:在Intel x86 上强制模块化的演进211
5.7.1早期设计:没有对强制模块化的支持211
5.7.2使用段强制模块化212
5.7.3基于页的虚拟地址空间213
5.7.4概述:进一步的演进213
5.8应用:使用虚拟机强制模块化215
5.8.1虚拟机的使用215
5.8.2实现虚拟机216
5.8.3虚拟化的例子217
习题218
第6章 性能221
6.0概述221
6.1面向性能的设计221
6.1.1性能量度222
6.1.2一种系统化的面向性能的设计方法224
6.1.3利用工作负载的特性减少延迟225
6.1.4利用并发性减少延迟227
6.1.5提高吞吐率:并发性228
6.1.6排队与过载229
6.1.7消除瓶颈231
6.1.8示例:I/O瓶颈233
6.2多层存储237
6.2.1内存特征238
6.2.2利用虚存管理多层存储239
6.2.3给虚存系统增加多层存储管理的功能241
6.2.4分析多层存储系统244
6.2.5存储访问的局部性与工作集245
6.2.6多层存储管理策略247
6.2.7不同策略的比较分析251
6.2.8其他页替换算法254
6.2.9多层存储管理的其他方面256
6.3调度256
6.3.1资源调度257
6.3.2调度的量度258
6.3.3调度策略260
6.3.4实例研究:调度磁盘摇臂267
习题269
关于第二部分273
附录A:二元分类的权衡275
进一步阅读推荐278
问题集315
术语表357