JanZou analyst, programmer

操作系统笔记(一)——背景


这一部分主要介绍一些背景知识,给出关于计算机系统结构和操作系统结构核心的基本概念。

计算机结构的基本构成

计算机结构有四个主要的结构化组件:

  • 处理器(processor):控制计算机的操作,执行数据处理功能。只有一个处理器时,通常指中央处理单元(CPU)。
  • 内存(main memory):存储数据和程序。又称实存储器(real memory)或主存储器(primary memory)。
  • 输入/输出模块(I/O module):在计算机和外部环境之间移动数据。
  • 系统总线(system bus):为处理器、内存和输入/输出模块间提供通信的设施。

处理器

处理器包含一组寄存器,它们提供一定的存储能力,比内存访问速度快,但比内存的容量小。 处理器中的两类寄存器:

  • 用户可见寄存器:优先使用这些寄存器,可以减少使用机器语言或汇编语言的程序员对内存的访问次数。对高级语言而言,由优化编译器负责决定哪些变量应该分配给寄存器,哪些变量应该分配给内存。
  • 控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,用以控制程序的执行。

存储器

计算机存储器的设计目标可以归纳为三个问题:多大容量?多快速度?多贵价格?存储器的这三个重要特性间存在着一定的折衷,即容量、存取时间和价格。 存储器的层次结构如下图所示: 存储器的层次结构 可以通过层次组织数据,是的随着组织层次的递减,对各层次的访问比例也依次递减。

高速缓存

由于处理器和内存的速度不匹配(处理器速度快于存储器访问速度),解决的办法是利用局部性原理,即在处理器和内存之间提供一个容量小而速度快的存储器,称作高速缓存。 高速缓存用于在内存和处理器的寄存器之间分段移动数据,以提高数据访问的性能。 高速缓存和内存

I/O通信技术

  • 可编程I/O 当处理器正在执行程序并遇到一个与I/O相关的指令时,它通过给相应的I/O模块发命令来执行这个指令。 处理器通常需要等待很长时间,来确定I/O模块是否做好了接收或发送更多数据的准备;等待期间要不断询问I/O模块的状态,严重降低了整个系统的性能。
  • 中断驱动I/O 处理器给模块发送I/O命令,然后继续做其他一些有用的工作。当I/O模块准备好与处理器交换数据时,它将打断处理器的执行并请求服务。
  • 直接内存存取(DMA) 上面两种I/O形式,处理器都需要主动干预在存储器和I/O模块之间的数据传送,且任何数据传送都必须完全通过处理器。因此,I/O传送速度受限于处理器测试设备和提供服务的速度,处理器也忙于管理I/O传送的工作。 DMA可以由系统总线中一个独立的模块完成,也可以并入到一个I/O模块中。DMA模块直接与存储器交互,传送整个数据块,每次传送一个字。这个过程不需要处理器参与。DMA模块需要控制总线以便与存储器进行数据传送。

操作系统

操作系统是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口。 操作系统的发展:

  • 串行处理
  • 简单批处理
  • 多道程序设计批处理
  • 分时系统

Reference:《操作系统:精髓与设计原理》