1 操作系统做什么
计算机系统有4个组成部分:计算机硬件,操作系统,系统程序与应用程序和用户。
2 用户视角
3 系统视角
操作系统在这个视角下是资源分配器。
4 定义操作系统
比较公认的一个定义:操作系统是一直运行在计算机上的程序(通常称为内核) 。
2 计算机系统组织
2.1 计算机系统操作
现代通用计算机系统由一个或多个CPU和若干设备控制器通过共同的总线相连而成。
引导程序:通常位于ROM或者EEPROM,称为计算机硬件中的固件。用来初始化系统的所有部分(CPU寄存器,设备控制器和内存)。
中断:硬件可随时通过系统总线向CPU发出信号,出发中断。软件通过系统调用(或者其他特别操作)触发中断。
指针表:通常位于低地址内存(前100左右的位置),包含各种设备的中断处理子程序的地址。这种地址的数组或中断向量可通过唯一设备号来索引,以提供设备的中断处理子程序的地址。
中断处理程序需要修改处理器状态,如修改寄存器的值,以明确保存当前状态并在返回之前恢复状态。处理中断之后,保存的返回地址被装入程序计数器,中断程序重新开始。
2.2 存储结构
内存是处理器可以直接访问的唯一的大容量存储区域。
一个典型指令执行周期如下:
辅存:一般是磁盘。(因为内存太小,而且是易失性存储设备。)
2.3 I/O结构
- 设备控制器连接一个或多个设备和CPU。例如SCSI(small computer system interface)可以连接7个或更多的设备。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,负责在其所控制的外部设备和本地缓冲存储之间进行数据传递。
- 通常操作系统为每个设备控制器提供一个设备驱动,用来理解设备控制器,并提供一个设备与其余操作系统的统一接口。
I/O操作如下所示:
(1):如果是读操作,返回的可能是数据或者数据的指针,如果是其他操作,返回的可能是状态信息。
- 除此,还有DMA(direct memory access)的I/O设备,在DMA中设置好缓冲、指针和计数器后,设备控制器能在本地缓冲和内存之间传送整块数据,无需CPU干涉。
- 每块只产生一个中断,告知设备驱动程序操作已完成(低速设备每个字节产生一个中断。
3 计算机系统体系结构
3.1 单处理器系统
- 只有一个主CPU执行一个通用指令集。
- 可能包含其他特定目的的处理器,仅运行受限的指令集。可能被操作系统管理,分发任务。也可能只是独立完成工作,不与操作系统通信。
3.2 多处理器系统
也称为并行系统或紧耦合系统。
优点:
- 增加吞吐量:通过增加处理器的数量,但同时会多出管理多个CPU的开销。
- 规模经济:通过共享外设,存储和电源来节省资金。
- 增加可靠性: 单个处理器失灵不会导致整个系统停止。
非对称多处理
每个CPU有各自特定的任务,一个主控制器控制系统,其他处理器向主处理器要任务或做预先定义的任务。
对称多处理(SMP)
每个处理器都要完成操作系统中的所有任务,好处是N个进程可以同时运行,但可能发生一个处理器空闲而另一个过载,影响效率。。
3.3 集群系统
是多CPU系统的另一种类型。但是由多个独立的系统耦合起来的。常用的方式是共享存储并通过局域网连接。也分对称和非对称两种。