深入理解计算机系统-计算机系统漫游-第一章

深入理解计算机系统-计算机系统漫游

  • 开篇说明
  • 计算机系统漫游
  • 总结

开篇说明

哈喽,如果你有幸看到了这篇文章,请允许我提前说明,本笔记只是我个人在阅读《深入理解计算机系统》时的笔记摘抄。如果觉得笔记有用,一定要去看这本书。让我们一起成长,步上成为为数不多的“大牛”道路。

计算机系统漫游

  1. 系统中所有的信息-包括磁盘文件、内存中的程序、内存存储的数据以及网络上传送的数据,都是由一串比特组成的。区分不同数据对象的唯一方法是我们读到对象时的上下文

  2. C一开始是作为一种用于Unix系统的程序语言开发出来的。

  3. C语言是系统级编程的首选。

  4. 编译系统
    编译系统

  5. 了解编译系统如何工作的好处

    • 优化程序性能。我们需要了解一些机器代码以及编译器将不同的C语句转化为机器代码的方式,以便写出更高效的程序。

    • 理解链接器的错误

    • 避免安全漏洞。缓冲区溢出错误是造成大多数网络和Internet服务器上安全漏洞的主要原因。

  6. shell的使用:如果输入shell命令行的第一个单词不是内置的shell命令,那么shell就会假设这个一个可执行文件的名字,它将加载并运行这个文件。

  7. 一个计算机系统的硬件组成有哪几个部分?
    深入理解计算机系统-计算机系统漫游-第一章_第1张图片
    深入理解计算机系统-计算机系统漫游-第一章_第2张图片

    • 总线:贯穿整个系统的是一组电子管道,称作总线。通常总线被设计成传送定长的字节块。
    • I/O设备:键盘、鼠标、显示器、磁盘。每个I/O设备通过一个控制器或适配器与I/O总线相连。
      • 控制器:I/O设备本身或系统主板上的芯片组
      • 适配器:一块插在主板插槽上的卡
        控制器和适配器功能都是在I/O总线和I/O设备之间传递信息。
    • 主存:临时存储设备,物理上是由一组动态随机存取存储器芯片组成;逻辑上是一个线性的字节数组。每个字节都有唯一的地址,地址从0开始。
    • 处理器CPU:核心是一个寄存器,称为程序计数器PC算术/逻辑单元ALU负责计算新的数据和地址值。处理器根据PC指向的地址运行对应的指令,执行过程是按照指令集模型来的,这个模型是由指令集架构决定的。区分指令集架构和微体系结构,指令集架构描述的是每条机器代码指令运行的效果;而微体系结构描述的是处理器实际上是如何实现的。
  8. 直接存储器存取DMA技术,数据可以不通过处理器而直接从磁盘到达主存。

  9. 运行速度越快的存储设备造价越高。

  10. 针对处理器和主存运行速度的差异,设计者采用了更小更快的存储设备,称为高速缓存存储器cache

  11. 存储器层次结构从上到下依次是:寄存器、L1高速缓存、L2高速缓存、L3高速缓存、主存、本地二级存储、远程二级存储。

  12. 操作系统的基本功能:1.防止硬件被失控的应用程序滥用。2.向应用程序提供简单一致的机制来控制复杂又大不相同的低级硬件设备。

  13. 操作系统通过几个抽象概念:进程、虚拟内存和文件来实现这两个功能。

  14. 文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。

  15. 内核是系统管理全部进程所用代码和数据结构的集合。从一个进程到另一个进程的切换是由操作系统内核管理的,内核是操作系统代码常驻主存的部分。

  16. 每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。多线程之间比多进程之间更容易共享数据。

  17. 进程的虚拟地址空间

    • 代码和数据区是直接按照可执行目标文件的内容初始化的。
    • 运行时堆可以在运行时动态地扩展和收缩。
    • 用户栈在程序执行期间也可以动态地扩展和收缩。
    • 顶部的区域是为内核保留的。不允许应用程序读写这个区域的内容或者直接调用内核代码定义的函数。相反,它们必须调用内核来执行这些操作
    • 虚拟内存的运作需要硬件和操作系统精密复杂的交互。基本思想是把一个进程虚拟内存的内容存储在磁盘,主存作为磁盘的高速缓存。
      深入理解计算机系统-计算机系统漫游-第一章_第3张图片
  18. 通过和GNU项目结合,Linux发展成一个完整的,符合Posix标准的Unix系统。

  19. 网络也是一种I/O设备。

  20. 当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度

  21. 多核处理器是将多个CPU集成到一个芯片上。每个核都有自己的L1和L2高速缓存,L3统一的高速缓存由所有的核共享。

  22. 在较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。如果处理器可以达到比一个周期一条指令更快的执行速率,就称之为超标量处理器

  23. 最低层次上,许多处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,这种方式称为单指令、多数据,即SIMD并行

  24. 虚拟机提供对整个计算机的抽象表示,包括操作系统、处理器和主存、I/O设备。

总结

关于这本深入理解计算机系统,我一直束之高阁。但现在以边分享边学习的方式,希望能看一遍这本书,了解下大牛之路。希望读这本书的伙伴可以一起打卡、分享笔记哈,一起成长一起进步!

你可能感兴趣的:(操作系统,windows,linux,操作系统)