一、操作系统的概念
计算机系统可大致分为四个部分:硬件、操作系统、系统程序和应用程序、用户。
操作系统OS(Operating System)是作为计算机硬件和计算机用户之间的中介的程序,是管理计算机硬件的软件。
二、中断(Interrupt)
事件的发生通常通过硬件或软件的中断来表示。硬件可以随时通过系统总线向CPU发出信号,以触发中断。软件通过特别执行操作如系统调用(system call)(也称监视器调用(monitor call))也能触发中断。
当CPU中断时,它暂停正在做的事并立即转到固定的位置去继续执行。该固定位置通常是中断服务程序开始的位置。中断服务程序开始执行,在执行完后,CPU重新执行被中断的计算。
总结来说就是中断时CPU做两件事:一是保存当前执行结果,即寄存器的值和程序计数器(pc),这会造成延迟;二是恢复中断接下来要执行程序上次保存的执行结果。
三、存储结构
内存是处理器可以直接访问的唯一大容量存储区域(数兆到数千兆字节),它通常是用被称为动态随机访问内存(dynamic random access memory, DRAM)的半导体技术来实现的,是一组内存字的数组,每个字都有其地址。通过对特定内存地址执行一系列 load 或 store 指令来实现交互。指令 load 能将内存中的字移到 CPU 的寄存器中,面指令 store 能将寄存器中的内容移到内存中。除了显示使用 load 和 store 外,CPU 可自动从内存中装入指令来执行。
内存是易失性存储设备,当掉电时会失去所有内容。因此,绝大多数计算机系统都提供辅存(secondary storage)以作为内存的扩充,对辅存的主要要求是它能够永久地存储大量的数据,最常见的辅存设备是磁盘。
【词汇】易失存储(volatile storage),非易失存储(nonvolatile storage)
四、I/O 结构
在计算机中,存储器只是众多I/O设备中的一种,操作系统的大部分代码用来进行I/O管理。
通用计算机系统由一个CPU和多个设备控制器组成,它们通过共同的总线连接起来。每个设备控制器负责特定类型的设备,可有多个设备与其相连。设备控制器维护一定量的本地缓冲存储和一组特定用途的寄存器,负责在其所控制的外部设备与本地缓冲存储之间进行数据传递。
通常,操作系统为每个设备控制器提供一个设备驱动程序,这些设备驱动程序理解设备控制器,并提供一个设备与其余操作系统的统一接口。
I/O中断驱动:
设备驱动程序在设备控制器中装载适当的寄存器,并检查这些寄存器的内容以决定采取什么操作。控制器从设备向其他本场缓冲区传输数据,一旦完成数据传输,设备控制器就会通过中断通知设备驱动程序它已完成操作,然后,设备驱动程序返回对操作系统的控制。
缺点:每传送一个字节都要进行中断,其中中断控制器需要保留和恢复现场,花费的工作量很大。因此,这种操作只适合移动少量数据,对大量的数据交换,系统性能会很低,解决这个问题需要使用 DMA技术。
DMA(Direct Memory Access,直接内存访问):
在进行 DMA 数据传送之前,DMA 控制器会向CPU申请总线控制权,CPU 如果允许,则将控制权交出。因此,设备控制器能在本地缓冲和内存之间传送一整块数据,而无需 CPU 的干预,每块只产生一个中断。传输结束后,DMA 控制器将总线控制权交还给 CPU。
五、单处理器系统 & 多处理器系统
单处理器系统:只有一个通用 CPU。
多处理器系统:有多个紧密通信的 CPU,它们共享计算机总线,有时还有时钟、内存和外设等。
集群系统:将多个 CPU 集中起来完成计算任务,但是它是由两个或多个独立的系统耦合起来的。
六、高速缓存(cache)
高速缓冲存储器是存在于主存和 CPU 寄存器之间的一级存储器,由静态存储芯片 SRAM 组成,容量比较小但是速度比主存高得多,接近于 CPU 寄存器的速度。在计算机存储系统的层次结构中,是介于 CPU 寄存器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。一般意义上,每一个速度高一级的存储器都自动作为低一级存储器的高速缓存。
caching VS buffering
caching:将经常反复使用的数据存储起来以提高效率。
buffering:作为缓冲区与DMA结合使用。
七、多道程序设计
多道程序设计指的是允许多个程序同时进入一个计算机系统的主储存器并启动进行计算的方法,目的是为了提高 CPU 的利用率。
从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用 CPU,交替执行。
八、分时技术(time sharing)
使用一台计算机采用片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。分时操作系统将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。
分时操作系统的特点是可有效增加资源的使用率。
【注】此篇文章图片来源及内容参考来自于《操作系统概念(第七版)》