计算机系统笔记
第1章
信息就是位+上下文
信息是计算机科学中的一个核心概念,它被定义为“位(bits) + 上下文(context)”。
操作系统管理硬件
- 文件是对I/O设备的抽象表示。
- 虚拟内存是对主存和磁盘I/O设备的抽线表示。
- 进程是对处理器、主存和I/O设备的抽象表示。
进程
- 进程是操作系统对一个正在运行的程序的一种抽象。
- 操作系统通过处理器在进程间切换实现交错执行多个进程,称为上下文切换。
- 操作系统保持跟踪进程运行所需的所有状态信息。这种状态就是上下文。
线程
每个线程都运行在进程的上下文中。
虚拟内存
虚拟内存为每个进程提供了一个假象。即每个进程都在独立地使用主存。每个进程看到的内存都是一致的,成为虚拟地址空间。
- 程序代码和数据。对所有的进程来说。代码是从同一固定地址开始,紧接着的是和C全局变量相对应的数据位置。
- 堆。代码和数据区后紧随着的是运行时堆。堆可以在运行时动态地扩展和收缩。
- 共享库。
- 栈。位于用户虚拟地址空间顶部的是用户栈。编译器用它来实现函数调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。
- 内核虚拟内存。地址空间顶部的区域是为内核保留的。
文件
文件就是字节序列。
第2章 信息的表示和处理
信息存储
- 机器级程序将内存视为一个非常大的字节数组,称为虚拟内存(virtual memory)。
- 内存的每个字节都由一个唯一的数字来标识,称为它的地址(address)。
- 所有可能地址的集合称为虚拟地址空间(virtual address space)。
寻址和字节顺序
- 在内存中按照从最低有效字节到最高有效字节的顺序存储对象,称为小端法(little endian)。反之则称为大端法(big endian)。