第 1 章 导论

  操作系统(operating system)是管理计算机硬件的程序,为应用程序提供基础,并且充当计算机用户和硬件的中介。

1.1 操作系统的功能

  计算机系统可粗分为四个组件:硬件、操作系统、应用程序、用户。

  操作系统是一直运行在计算机上的程序(通常称为内核)。除了内核外,还有系统程序(与系统的运行有关,但不是内核的一部分)和应用程序(与系统运行无关)。

1.1.1 用户视角

  操作系统设计的主要目的是使用方便,次要的是性能,不在乎的是资源利用。

1.1.2 系统视角

  操作系统可看作是资源分配器和控制程序。

1.2 操作系统的组成

1.2.1 计算机系统的运行

  当计算机电源打开或重启时,需要运行一个初始程序或引导程序,一般位于计算机的固件中(如ROM、电可擦可编程EEPROM)。它初始化系统的各个组件,从CPU寄存器、设备控制器到内存内容。引导程序必须定位操作系统内核并加载到内存。

  一旦内核加载到内存并执行,它就开始为系统和用户提供服务。除了内核外,系统程序在启动时加到内存而成为系统进程或系统后台程序,其生命周期和内核一样。

  事件发生通常通过硬件和软件的中断来通知。硬件可以随时通过系统总线发送信号到CPU以触发中断。软件也可以执行系统调用以触发中断。

  当CPU被中断时,停止正在做的事,并立即转到固定位置再继续执行。该固定位置通常包含中断服务程序的开始地址。中断服务程序开始执行,在执行完毕之后,CPU重新执行被中断的计算。

  中断的处理应当快捷。由于只有少量预先定义的中断,所有可以通过中断处理程序的指针表来提高速度。通常指针表位于低地址内存。这些位置包含各种设备的中断处理程序的地址。这种地址的数组或中断向量,对于任一给定的中断请求,可通过唯一的设备号来索引,进而提供设备的中断处理程序的地址。

1.2.2 存储结构

  CPU只能从内存中加载指令,因此执行程序必须位于内存中。大多数程序通常位于可读写内存中,称为内存(main memory),也称随机访问(访问任何位置时间一致)内存(RAM),内存通常为动态随机访问内存(DRAM),采用半导体技术实现。

  所有形式的内存都提供字节数组,每个字节都有地址。

  在冯·诺依曼体系结构上执行时,一个典型的指令周期是,首先从内存中获取指令,并存到指令寄存器。接着该指令被解码,也可能会从内存中获取操作数据并存到内部寄存器。在指令完成对数据的执行后,结构也可能存到内存。

  内存容量通常太少且是易失性的存储设备,掉电会失去所有内容。因此大部分计算机提供外存。

1.2.3 I/O结构

  计算机系统由一个CPU和多个设备控制器组成,通过共同的总线连在一起。每个设备管理器管理某一特定类型的设备。操作系统为每个设备控制器都提供了一个设备驱动程序。

1.3 计算机系统的体系结构

  单处理器系统:只要一个主CPU,带有其他专用处理器(不执行用户进程);

  多处理器系统(并行系统/多核系统):优点是增加吞吐量、规模经济、增加可靠性;

  集群系统:由两个以上的独立系统组成,共享存储并采用LAN或更快的连接。

1.4 操作系统的结构

  操作系统最重要的一点是具有多道程序能力。

  为了充分利用CPU,现代操作系统采用多道程序设计:允许多个作业同时位于内存,从而保证CPU总有一个作业可以执行。

  分时系统是多道程序系统的扩展,它采用了调度算法,以快速切换作业,好像每个作业同时进行。

1.5 操作系统的执行

1.5.1 多重模式  

  现代操作系统是中断驱动的。事件总是有中断和陷阱引起的。陷阱(或异常)是一种软件生成的中断,或源于错误(如除数为0),或源于用户程序的特定请求。

  操作系统必须确保计算机系统的正确运行。为了防止用户干预系统的正常进行,硬件会有两种模式:用户模式和内核模式(也称系统模式或特权模式)。计算机硬件可以通过一个模式位来表示当前模式:内核模式(0)和用户模式(1)。

  将可能引起损害的机器指令作为特权指令,并且硬件只有在内核模式下才允许执行特权指令,如果用户模式下试图执行特权指令,那么硬件不执行该指令,认为其非法并将以陷阱形式通知操作系统。

  许多指令(如I/O指令和停机指令)都是特权的,只能在特权模式下执行。操作系统驻留的内存也会加以保护,以防用户程序修改。

1.5.2 定时器   

   操作系统应该维持控制CPU,防止用户程序陷入死循环,或不调用系统服务并且不将控制返给操作系统。为了实现这一目标,可以使用定时器。

  在将控制交给用户之前,操作系统确保定时器已经设置好以便产生中断。当定时器产生中断时,控制自动转移到操作系统。

 1.6 进程管理

   程序本身不是进程。

  进程是操作系统工作的基本单元。

  进程管理包括创建和删除进程、提供与其他进程通信和同步的机制。

1.7 内存管理

  操作系统管理内存,以跟踪内存的哪部分被使用以及被谁使用。操作系统还负责动态分配和释放内存空间。

1.8  存储管理

   操作系统对存储设备的物理属性进行了抽象,并定义了逻辑存储单元,即文件(file)。

1.8.1 文件系统管理

   文件系统管理文件和目录。

1.8.2 大容量存储器管理

   ...

1.8.3 高速缓存

  ...

  高速缓存一致性问题:由于多个CPU可以并发执行,应确保位于一个高速缓存的A值的更新,应该马上反映到所有其他A所在的高速缓存。

1.8.4 I/O系统

  ...

原文地址:https://www.cnblogs.com/astonc/p/12149240.html