图书介绍

深入理解计算机系统pdf电子书版本下载

深入理解计算机系统
  • (美)Randal E. Bryant,(美)David OHallaron著;龚奕利,雷迎春译 著
  • 出版社: 北京:中国电力出版社
  • ISBN:7508321758
  • 出版时间:2004
  • 标注页数:830页
  • 文件大小:71MB
  • 文件页数:853页
  • 主题词:计算机系统-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

深入理解计算机系统PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章计算机系统漫游 1

1.1信息就是位+上下文 2

1.2程序被其他程序翻译成不同的格式 4

1.3了解编译系统如何工作是大有益处的 5

1.4处理器读并解释储存在存储器中的指令 6

1.5高速缓存 9

1.6形成层次结构的存储设备 10

1.7操作系统管理硬件 11

1.8利用网络系统和其他系统通信 15

1.9下一步 17

1.10小结 17

第1部分程序结构和执行 21

第2章信息的表示和处理 21

2.1信息存储 23

2.2整数表示 42

2.3整数运算 54

2.4浮点 66

2.5 小结 81

第3章程序的机器级表示 103

3.1 历史观点 105

3.2程序编码 107

3.3数据格式 112

3.4访问信息 113

3.5算术和逻辑操作 119

3.6控制 124

3.7过程 143

3.8数组分配和访问 152

3.9异类的数据结构 161

3.10对齐(alignment) 168

3.11综合:理解指针 169

3.12现实生活:使用GDB调试器 173

3.13存储器的越界引用和缓冲区溢出 174

3.14浮点代码 178

3.15在C程序中嵌入汇编代码 188

3.16小结 194

第4章处理器体系结构 217

4.1 Y86指令集体系结构 219

4.2逻辑设计和硬件控制语言HCL 231

4.3 Y86的顺序(sequential)实现 239

4.4流水线的通用原理 262

4.5 Y86的流水线实现 270

4.6小结 304

第5章优化程序性能 321

5.1优化编译器的能力和局限性 323

5.2表示程序性能 325

5.3程序示例 327

5.4消除循环的低效率 329

5.5减少过程调用 333

5.6消除不必要的存储器引用 334

5.7理解现代处理器 336

5.8降低循环开销 347

5.9转换到指针代码 350

5.10提高并行性 353

5.11 综合:优化合并(Combing)代码的效果小结 360

5.12分支预测和预测错误处罚 362

5.13理解存储器性能 364

5.14现实生活:性能提高技术 371

5.15确认和消除性能瓶颈 372

5.16小结 377

第6章存储器层次结构 387

6.1存储技术 388

6.2局部性 406

6.3存储器层次结构 410

6.4 高速缓存存储器 414

6.5编写高速缓存友好的代码 430

6.6综合:高速缓存对程序性能的影响 435

6.7综合:利用程序中的局部性 446

6.8小结 446

第2部分在系统上运行程序 461

第7章链接 461

7.1编译器驱动程序 462

7.2静态链接 464

7.3 目标文件 464

7.4可重定位目标文件 465

7.5符号和符号表 466

7.6符号解析 469

7.7重定位 476

7.8可执行目标文件 481

7.9加载可执行目标文件 482

7.10动态链接共享库 483

7.11 从应用程序中加载和链接共享库 485

7.12与位置无关的代码(PIC) 487

7.13处理目标文件的工具 490

7.14小结 491

第8章异常控制流 501

8.1异常 503

8.2进程 508

8.3系统调用和错误处理 513

8.4进程控制 514

8.5信号 528

8.6非本地跳转 545

8.7操作进程的工具 548

8.8小结 548

第9章测量程序执行时间 559

9.1计算机系统上的时间流 561

9.2通过间隔计数(interval counting)来测量时间 565

9.3周期计数器 568

9.4用周期计数器来测量程序执行时间 570

9.5基于gettimeofday函数的测量 583

9.6综合:一个实验协议 586

9.7展望未来 586

9.8现实生活:K次最优测量方法 586

9.9得到的经验教训 587

9.10 小结 587

第10章虚拟存储器 593

10.1物理和虚拟寻址 595

10.2地址空间 596

10.3虚拟存储器作为缓存的工具 597

10.4虚拟存储器作为存储器管理的工具 601

10.5虚拟存储器作为存储器保护的工具 604

10.6地址翻译 604

10.7案例研究:Pentium/Linux存储器系统 614

10.8存储器映射 622

10.9动态存储器分配 627

10.10垃圾收集 648

10.11 C程序中常见的与存储器有关的错误 652

10.12扼要重述一些有关虚拟存储器的关键概念 656

10.13小结 657

第3部分程序间的交互和通信 669

第11章系统级I/O 669

11.1 Unix I/O 670

11.2打开和关闭文件 671

11.3 读和写文件 673

11.4用Rio包进行健壮地读和写 674

11.5读取文件元数据 679

11.6共享文件 681

11.7 I/O重定向 684

11.8标准I/O 685

11.9综合:我该使用哪些I/O函数? 686

11.10小结 687

第12章网络编程 691

12.1 客户端-服务器编程模型 692

12.2网络 693

12.3全球IP因特网 697

12.4套接字接口 704

12.5 Web服务器 712

12.6综合:Tiny Web服务器 719

12.7小结 726

第13章并发编程 731

13.1基于进程的并发编程 733

13.2基于I/O多路复用的并发编程 736

13.3基于线程的并发编程 744

13.4多线程程序中的共享变量 749

13.5用信号量同步线程 752

13.6综合:基于预线程化的并发服务器 762

13.7其他并发性问题 765

13.8小结 772

附录A处理器控制逻辑的HCL描述 783

A.1 HCL参考手册 784

A.2 SEQ 788

A.3 SEQ+ 792

A.4 PIPE 796

附录B错误处理 805

B.1 Unix系统中的错误处理 806

B.2错误处理包装函数 808

B.3 csapp.h头文件 809

B.4 csapp.c源文件 813

精品推荐