第一章
抽象是管理复杂性的一个关键。
1 计算及主要部件
多数计算机有两种运行模式:内核态和用户态。内核态:操作系统具有对所有硬件的完全访问权限,可以执行机器能够运行的任何指令。
在用户态下,只使用了机器指令中的一个子集。
用户接口程序:允许用户运行其他程序,诸如:音乐播放器等
操作系统处于硬件之上,为所有其他软件提供基础的运行环境。
在内核态中运行的必然是操作系统的一部分,但一些内核外运行的程序也有争议的被认为是操作系统的一部分,或者至少与操作系统密切相关。
资源管理包括两种不同方式的复用:时间上复用和空间上复用。
时间复用:不同程序或用户轮流使用它。
空间复用:每个客户得到资源的一部分,取代客户排队。
PSW 中有一个二进制位控制着用户态和内核态两种模式,。
GPU 是指由成千上万个微核组成的处理器,他们擅长处理大量并行的简单计算。他们不太能胜任串行任务,并且很难编程。
- 存储器
顶层是在cpu中的寄存器,与 cpu 的材料相同,和cpu一样快。
下一层是高速缓存。高速缓存命中就不需要通过总线发送请求到主存
2 上下文切换
在多道程序系统中,从一个程序切换到另一个程序,有时称为上下文切换,有必要对来自缓存的所有修改过的块进行写回磁盘操作,并修改MMU中的映像寄存器。
3 进程:本质上是正在执行的一个程序。与每个进程相关的是地址空间,这是某个最小值的存储位置到最大值的存储位置的列表。该地址空间中存放有可执行程序、程序的数据、以及程序堆栈。与进程相关的还有资源集,通常包括寄存器、打开文件清单、有关进程清单,以及运行该程序所需要的所有其他程序。
在许多操作系统中,与一个进程相关的所有信息,除了该进程自身地址空间的内容以外,均存放在操作系统的一张表中,称为进程表。
每个进程有一个工作目录,对于没有斜线开头给出的绝对地址的路径,将在这个工作目录下找。进程可以通过使用系统调用来改变工作目录。
4 操作系统具有两种功能:为用户程序提供抽象和管理计算机资源。
5 在unix 中进程将其存储空间划分为三段:正文段(如程序代码)、数据段(如变量)、堆栈段