图书介绍

计算机系统设计原理PDF|Epub|txt|kindle电子书版本网盘下载

计算机系统设计原理
  • (美)索尔特(SALTZERJH.),(美)卡休克(KAASHOEKM.F.)著;陈文光,张广艳,陈康等译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302294597
  • 出版时间:2012
  • 标注页数:375页
  • 文件大小:57MB
  • 文件页数:395页
  • 主题词:电子计算机-系统设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

计算机系统设计原理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

热门推荐