《深入理解计算机系统》day1 读书笔记

  1. 所有计算机系统都有相似的硬件和软件组成,又执行着相似的功能。阅读完这本书,可以深入了解这些组件是如何工作的以及这些组件是如何影响程序的正确性和性能性的。

  2. 将会学习一些实践技巧:
    (1)如何避免由计算机表示数字的方式引起的奇怪的数字错误;
    (2)怎样通过一些小窍门优化自己的C代码,以充分利用现代处理器和存储器系统的设计;
    (3)将了解编译器是如何实现过程调用的,以及如何利用这些知识来避免缓冲区溢出错误带来的安全漏洞,这些弱点给网络和因特网软件带来了巨大的麻烦;
    (4)如何识别和避免链接时哪些令人讨厌的错误,它们困扰着普通的程序员;
    (5)将会学如何编写自己的Unix shell 、自己的动态存储分配包,甚至于自己的Web服务器;
    (6)认识并发带来的希望和陷阱,这个主题随着单个芯片上集成了多个处理器核变得越来越重要。

  3. 信息就是 位+上下文
    系统中所有的信息,包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同对象的唯一方法是我们读到这些数据对象时的上下文。我们需要了解数字的机器表示方式。

  4. 程序被其他程序翻译成不同的格式
    《深入理解计算机系统》day1 读书笔记