CSAPP第一章笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maijia0754/article/details/82591168
  1. 寄存器:寄存器是CPU内的组成部分。寄存器是有限存储容量的高速存储部件,可用来暂存指令、数据和地址。在CPU的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在CPU的算术及逻辑部件中,包含的寄存器有累加器。寄存器在存储器层次结构中的最顶端,也是操作系统数据的最快速途径。
    存储器层次结构图
  2. 总线:总线是贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件之间传递。通常总线被设计成传送定长的字节块,也就是字(word)。32位是4个字节,64位是8个字节。
  3. 主存:是一种临时存储设备,在处理器执行程序时,用来存放程序与程序处理的数据。从物理上来讲是一组动态随机存取存储器(DRAM)芯片组成,从逻辑上来讲是一个线性的字节数组,每个字节都有其唯一的地址(数组索引),这些地址从零开始。
  4. I/O:I/O设备是系统与外部世界的联系通道,I/O通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。磁盘、光盘也是I/O设备。每个I/O设备都通过一个控制器或适配器与I/O总线相连。控制器和适配器的主要区别在于他们的封装方式,控制器是I/O设备本身或者系统的主板上的芯片组,而适配器则是一块插在主板插槽上的卡。无论如何,他们的功能都是在I/O总线和I/O设备之间传递信息。
    系统硬件组成
  5. 操作系统的两个基本功能:(1)防止硬件被失控的应用程序滥用;(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。操作系统通过几个基本的抽象概念(进程、虚拟内存和文件)来实现这两个功能。文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。
  6. 进程是操纵系统对一个正在运行的程序的一种抽象。并发运行是指一个进程的指令和另一个进程的指令是交错执行的。一个cpu看上去都像是在并发地执行多个进程,这是通过处理器子进程间切换来实现的。操作系统实现这种交错执行的机制称为上下文切换。所谓的上下文是指操作系统保持跟踪进程运行所需的所有状态信息,包括PC和寄存器文件(由一些打个字长的寄存器组成,每个寄存器都有唯一的名字)的当前值以及主存的内容。当操作系统决定要把控制权从当前进程转移到另一个进程时,就会进行上下文切换,即保存当前进程的上下文、恢复新进程的上下文,然后将控制权传递到新进程,新进程就会从它上次停止的地方开始。
  7. 线程:一个进程可以由多个称为线程的执行单元组成,每个线程运行在进程的上下文中,并共享同样的代码和全局数据,线程比进程更易共享数据,而且更高效。
  8. 虚拟内存:虚拟内存是一个抽象概念,它为每个进程提供了一个假象,即每个进程都在独占地使用主存。每个进程看到的内存都是一致的,称为虚拟地址空间。在linux中,进程的虚拟地址空间如下图:
    虚拟地址空间
  9. 文件就是字节序列,每个I/O设备,包括磁盘、键盘、显示器,甚至网络,都可以看成文件。
  10. 并发与并行:并发是指同时具有多个活动的系统;并行是指用并发使一个系统运行得更快。
  11. 超线程:同时多线程,是一项允许一个CPU执行多个控制流的技术,也就是在一个实体CPU中,提供多个逻辑线程。

大多摘抄自CSAPP中,给自己记笔记。

猜你喜欢

转载自blog.csdn.net/maijia0754/article/details/82591168