操作系统的存储结构及层次(含示意图)

  • 内容
  • 评论
  • 相关

CPU 只能从内存中加载指令,因此执行程序必须位于内存。通用计算机运行的大多数程序通常位于可读写内存,称为内存(main memory),也称为随机访问内存(Random Access Memory,RAM)。内存通常为动态随机访问内存(Dynamic Random Access Memory,DRAM),它采用半导体技术来实现。

计算机也使用其他形式的内存,如我们已经提到的只读内存(ROM)和电可擦可编程只读内存(EEPROM)。由于 ROM 不可修改,因此只能将静态程序(如引导程序)存在其中。ROM 的不可变性对游戏盒来说还是有用的。EEPROM 可以修改,但是不能经常修改,因此可以保存大多数的静态程序,例如,智能手机采用 EEPROM 来存储工厂安装的程序。

所有形式的内存都提供字节数组,每个字节都有地址。交互通过针对特定内存地址,执行一系列 load 或 store 指令来实现。指令 load 将内存字节或字保存到 CPU 寄存器,而指令 store 将寄存器内容保存到内存。除了明确使用 load 和 store 外,CPU 还会自动加载内存指令以便执行。

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

注意,内存单元只能看到内存地址的流,而并不知道它们如何产生(通过指令计数器、索引、间接、常量地址或其他方式)或它们是什么样(指令或数据)的地址。相应地,我们可以忽略程序如何产生内存地址,而只关注由程序运行所生成的地址序列。

在理想情况下,程序和数据都应永久驻留在内存中。由于以下两个原因,这是不可能的:

  1. 内存通常太少,不能永久保存所有需要的程序和数据。
  2. 内存是易失性的(volatile)存储设备,掉电时就会失去所有内容。

因此,大多数的计算机系统都提供外存(secondary storage)来扩充内存。外存的主要需求是,能够永久存储大量数据。最为常用的外存设备为硬盘磁盘(Hard Disk Drive,HDD),它能存储程序和数据。大多数程序(系统与应用)都保存在磁盘上,当要执行时才加载到内存。许多程序都使用硬盘作为它们处理的起点和终点。因此,磁盘存储的管理是否适当,对计算机系统来说十分重要(这将在后续章节中加以讨论)。

从更广意义上来说,以上所述的存储结构(由寄存器、内存和磁盘组成的),仅仅只是多种存储系统的一种。除此之外,还有高速缓存、CD-ROM、磁带等。每个存储系统都可存储与保存数据,以便以后提取。各种存储系统的主要差异是速度、价格、大小和易失性。


存储设备的层次
图 1 存储设备的层次

本文标题:操作系统的存储结构及层次(含示意图)

本文地址:https://www.hosteonscn.com/3525.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注