《深入理解计算机系统(第3版)》读书笔记(持续更新)

第一章 计算机系统漫游

  1. 执行一个hello world程序的步骤:
    (1)第一步,shell中键入"./hello"字符串之后,字符串先到寄存器,再到内存。具体来说是:键盘 --> I/O桥 --> 总线接口 --> 寄存器–> 总线接口 --> I/O桥 -->** 内存**。
    (2)第二步,键入回车。从磁盘把可执行文件运输到内存中,利用DMA技术可以不通过CPU把数据直接从磁盘读入内存。
    (3)可执行文件加载到内存之后,CPU开始执行,执行的过程是将代码运输到寄存器中执行,最后将字符串复制到显示设备。
    总结一下:①hello程序的机器码最初在磁盘上,加载时复制到内存,运行时复制到处理器(主要是寄存器里)②类似的,字符串“hello, world \n”最初在磁盘上,加载时复制到内存,运行时复制到显示屏上
  2. 阅读本书比较重要的帮助有:①学习优化C代码的窍门,以充分利用现代处理器和存储器系统的设计。②了解编译器如何实现过程调用,利用这些知识来避免缓冲区溢出。③并发,在“单芯片集成多处理器核”的时代越来越重要,了解并发带来的希望与陷阱。
  3. C语言是系统级编程的首选,也非常适用于应用级编程,但是它缺乏对非常有用的抽象的显式支持,例如类、对象和异常
  4. 总线被设计成传送定长的字节块,也就是字。32位机器字长是4字节,64位机器字长是8字节。
  5. DRAM常用来做内存(主存),SRAM常用来做高速缓存。
  6. 计算机硬件可以分为3类:处理器、I/O设备、内存,应用程序不直接操作硬件,而是通过操作系统,操作系统有两个主要设计目的:①防止硬件被失控的程序滥用。②给应用程序提供统一的API来控制复杂且大不相同的低级硬件设备。
  7. 为了实现以上操作系统的两个目的,引入了三个抽象概念:进程、虚拟内存、文件
  8. 进程间切换:操作系统在实现这种交错执行的机制成为上下文切换,上下文切换是由操作系统内核管理的,内核是操作系统代码常驻主存的部分
  9. 内核不是一个独立的进程,相反,内核是系统管理全部进程所用代码和数据结构的集合
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值