Computer System: A programmer's perspective 深入理解计算机操作系统(读书笔记)

chapter one : A tour of computer system 计算机系统漫游

      对计算机系统做了总体的介绍,对后续章节将要展开的内容做了概括的阐述。

chapter two :Representing and manipulating information 信息表示和操作

     介绍了计算机中数据信息的表示形式,重点讲述了浮点数和整数的表示形式。

chapter three :Machine-level representation of program 程序的机器级别表示

     重点讲述汇编语言的相关知识,并且讲述了汇编语言与寄存器结构之间的关系。

chapter four :Processor architecture 处理器体系结构

     重点讲述处理器的结构,包括各种逻辑门电路、功能单元和指令集,还有指令执行的过程以及流水线。

chapter five :Optimizing program performance

     讲述了如何优化程序的执行效率,包括代码的优化,编译器的优化,CPU级别的优化,还包括几种能有效提高

代码性能的方法。

chapter six :The memory hierarchy

     详细介绍了计算机系统中的存储结构,其中包括不同种类的存储设备和对应的存取数据的方式,着重介绍了Cache

的工作方式,程序和cache是如何交互的,不同的循环嵌套顺序、遍历方向等对cache命中率的影响。

chapter seven:Linking 连接 

     主要讲述了程序的链接过程,分为静态连接和动态连接,还讲解了连接过程中使用到的符号解析、重定向等技术。

chapter eight:Exceptional control flow 异常控制流 

     本章所讲述的异常不同于C++和Java中狭义的异常,主要讲述的是广义的异常,包括中断(Interrupt)、陷阱(Trap)、

错误(Fault)、中止(Abort)等,还介绍了进程process级别的异常,用上下文切换(context switch)处理异常的手段。

chapter nine:Virtual memory 虚拟存储器

     虚拟存储技术是实现计算机多任务处理的一项重要技术,通过虚拟存储机制,使得每个进程在执行时仿佛在独占内存。

CPU在进行寻址操作时使用的是虚拟地址,通过存储管理单元(memory management unit)转换为实际的物理内存地址。

使用虚拟存储机制,可以方便的管理内存,提供内存保护机制。本章还通过Linux实例阐述了实际操作时的整个存储管理机制。

其他内容还包括存储映射(memory mapping)、动态内存分配和垃圾回收机制,以及C语言编程中的常见内存引用错误。

chapter ten:System-level I/O 系统级I/O

     主要介绍Unix系统下的I/O读写、系统层面的I/O接口。

chapter eleven:Network programming 网络编程

     主要介绍了网络模型,TCP/IP 协议,Unix系统的socket接口等。

chapter twelve:Concurrent programming 并发编程

     阐述了并发程序设计的内容,包括进程级别的并发,各个子进程拥有不同的虚拟地址空间,需要IPC(Interprocess

communication)机制共享数据,切换开销大。I/O复用、事件驱动、单进程运行、共享虚拟地址空间等方式并发效果不

理想。随即介绍了线程共享进程的虚拟地址空间,切换开销有效减少。还介绍了并发编程中访问共享变量的信号量机制,

讲述了四类容易引起线程不安全的函数。


总结:本书最大的优点在于,把所有计算机重要的基础知识进行了整合,能够帮助读者形成一个完成的计算机系统的概念。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010899135/article/details/50809080
个人分类: IT读书笔记
相关热词: computer
上一篇TOEFL 学习笔记(writing 8)
下一篇OJ 常见错误总结
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭