Hard Disk Drives (HDD) 的特性
1. HDD 定义:
• 硬盘驱动器是计算机中最重要的永久性存储设备,尤其是在个人电脑(PC)中。
2. 与其他存储设备的主要区别:
• 大小(Size):通常容量较大。
• 速度(Speed):相比于磁带等大容量存储设备,硬盘速度更快。
• 持久性(Permanence):硬盘通常固定在计算机内部,不可轻易移除。
硬盘的结构图
1. 关键组件:
• Voice Coil Actuator(音圈执行器):
• 控制读写磁头的位置,确保对数据的精确读取和写入。
• Read-Write Head(读写磁头):
• 用于读取或写入磁盘表面上的数据。
• Data Sectors(数据扇区):
• 数据存储在磁盘表面按轨道分布的扇区中。
• Tracks(轨道):
• 每个磁盘上由同心圆组成的数据存储路径。
Tracks, Sectors 和 Cylinders
1. 磁盘的组织结构:
• Platter(磁盘盘片):
• 每个磁盘盘片的两个表面(surfaces)都可以存储数据。
• 每个表面对应一个 Head(磁头)。
Each platter has two heads
• Tracks(轨道):
• 数据按同心圆路径存储。
• Sectors(扇区):
• 轨道分割成更小的单元,通常每个扇区存储 512 字节。
• Cylinders(柱面):
• 多个磁盘中,所有轨道半径相同的轨道构成一个柱面。
Disk Cylinders, Tracks, Sectors(磁盘柱面、轨道和扇区)
Addressing(寻址方式)
1. CHS(柱面、磁头和扇区寻址):Cylinder, Head, Sector system.
• 基于柱面号(Cylinder)、磁头号(Head)、扇区号(Sector)来标识数据位置。
• 磁盘控制器(disk controller)使用这些信息定位并访问数据。
Can be mapped onto LBA.
2. LBA(逻辑块地址寻址):Large Block Addressing
• 使用绝对扇区号(逻辑块号)来标识数据位置。
硬盘工作原理
1. 数据访问流程:
• 步骤 1:确定数据存储的位置。
• 使用 CHS 或 LBA 寻址找到数据。
• 步骤 2:通过磁盘驱动接口向磁盘发送请求。
• disk drive interface接口发送的请求中包含目标地址和需要的操作(读或写)。
硬盘数据访问流程的核心是:
1. 通过 CHS 或 LBA 地址确定数据位置。
2. 向磁盘控制器发出请求。
3. 磁头移动、定位数据,并完成数据传输。
总结:
• CHS 和 LBA 是数据寻址的两种主要方法。
• LBA 由于其简单性,在现代硬盘中更为常用。
现代磁盘内部通常使用 LBA 表示位置,但为了兼容性,系统可以将 CHS 转换为 LBA
硬盘在过去 25 年的进步
1. 过去的硬盘:
• 容量:10 MB。
• 成本:约 100 英镑(约 1100 元人民币)每 MB。
2. 当前的硬盘:
• 容量:大于 300 GB。
• 成本:每 MB 少于半便士(极低成本)。
总结:
• 在过去 25 年,硬盘容量显著增加,成本显著降低,这是存储技术进步的体现。
硬盘 vs 主存(RAM)
1. 比较:
• 容量:硬盘容量更大。
• 速度:硬盘速度比主存慢得多。
• 成本:硬盘每 MB 的成本比主存更低。
2. 适用场景:
• 硬盘适合长期存储大量数据。
• 主存(RAM)适合高速临时存储运行数据。
磁盘缓存(Disk Cache)
1. 定义:
• 磁盘缓存是用主存的一部分作为缓冲区,临时存储要写入或读取磁盘的数据。
2. 特点:
• 磁盘写操作是聚集的(clustered):
• 写操作通常集中处理,以减少频繁访问磁盘的开销。
• 写入数据后,这些数据可能会再次被访问:
• 缓存中的数据可以快速读取,无需再次访问磁盘。
3. 示例:
• Java 中的 flush() 方法用于将缓存中的数据强制写入磁盘。
存储技术
1. 读取(Reading):
• 将文件从硬盘加载到 RAM 中。
• 示例:
• 加载应用程序。
• 打开文件(如文档或程序文件)。
2. 写入(Writing):
• 将数据从 RAM 保存到硬盘或其他次级存储设备。
总结:
• 读取是从次级存储加载数据到主存。
• 写入是将主存的数据备份到次级存储。
文件、记录、字段和键
1. 文件(Files):
• 例如:一个人事文件(Personnel File)。
• 文件是数据的集合。
2. 记录(Records):
• 文件中的单条记录,例如某个人的个人数据。
• 示例:
• Adam Smith, 35, Manager, Purchasing。
3. 字段(Fields):
• 记录中的具体数据项。
• 示例:
• 姓名(Name)、年龄(Age)、职位(Position)、部门(Job Function)。
4. 键(Key):
• 标识记录的唯一字段。
• 示例:
• “Adam Smith”可以作为记录的主键。
总结:
• 文件由多条记录组成,每条记录包含若干字段,其中键用来唯一标识记录。
Virtual Memory 概念
• 虚拟内存定义:
• 一种技术,和缓存技术在某种意义上是相反的。
• 通过使用低级别内存(如硬盘)来扩展高级别内存(主内存)。
• 作用:
• 提供一种方便的方法,将主内存的数据溢出(overflowing)到磁盘中,从而扩展了主内存。
• 关键术语:
• Swap Area:磁盘中专门用于存储被溢出数据的区域,称为交换区。
Virtual Memory 限制
• 虚拟内存的逻辑表示:
• 虚拟内存上限:系统的虚拟内存可以扩展到的最大容量(如1GB)。
• 物理内存上限:实际存在的主内存容量(如512MB)。
• 通过虚拟内存,逻辑上看系统拥有比物理内存更大的内存空间。
• 图表含义:
• 虚拟内存在逻辑层面扩展了物理内存的限制。
Memory Management - Virtual Memory
• 虚拟内存的关键点:
• 虚拟内存使用的是硬盘空间(hard disk space)。
• 当处理器需要更多的RAM(主存)空间时,会将不常用的数据交换到硬盘的虚拟内存区域。
• 优缺点:
• 提高了内存的灵活性。
• 缺点是虚拟内存比直接访问RAM慢很多。
Virtual Memory Management
• 内存分块机制:
• 主存被分成若干固定大小的块,称为帧(Frames),每块大小通常为4KB。
• 可执行程序被分割成与帧大小一致的块,称为页(Pages)。
• 加载机制:
• 程序启动时,并不是将所有的页加载到主存,而是仅加载一部分(通常是程序开始需要的部分)。
• 其余的页存储在磁盘的**交换区(Swap Area)**中。
• 页面调入和交换:
• 当程序需要从尚未加载到主存的页中获取指令时,该页会从磁盘加载到主存中。
• 如果主存中没有空闲帧,则会选择最少使用的帧(Least Used Frame),将其内容写回磁盘,腾出空间加载新的页。
• 术语:
• 这种操作被称为页面交换(Swapping)。
虚拟内存数据交换图解
• 图解描述:
• 数据在硬盘和主存之间流动:
• Page Out:当内存空间不足时,将主存中的数据页移到硬盘。
• Page In:当需要硬盘上的数据时,将数据页从硬盘移回主存。
• 交换流程:
• 当数据页被频繁交换时,会影响系统性能(即页面抖动(Thrashing))。
Virtual Memory Addressing(虚拟内存寻址)
• 逻辑地址的概念:
• 在用户程序中,地址以32位逻辑地址(logical address)的形式存在。
• 4KB分页系统(paging system)中的寻址:
• 低12位:表示页内偏移(即页面内的具体地址address within a page)。
• 高20位:表示页号(即该逻辑地址对应的页面编号)。
• 作用:
• **内存管理单元(Memory Management Unit MMU)**负责将逻辑地址映射为帧号及帧内的具体地址。
Virtual Memory Management(虚拟内存管理架构)
• 系统架构图解:
• CPU:中央处理器负责处理指令。
• MMU(内存管理单元):执行地址转换,将逻辑地址转换为物理地址。
• SRAM Cache(高速缓存):提供快速访问临时存储的数据。
• Main Memory(主内存):存储程序和当前活跃的数据。
• IO Subsystem(输入输出子系统):与外部设备的交互通道。
• System Bus(系统总线):连接各个组件以传输数据。
Q: When you save to this, your data will remain intact even when the computer is
turned off.
• a. RAM(随机存取存储器)
• b. motherboard(主板)
• c. secondary storage device(辅助存储设备)
• d. primary storage device(主要存储设备)
• 答案:
• c. secondary storage device(辅助存储设备,如硬盘、SSD等)。
问题:哪种数据访问方法会减慢数据检索的过程?
• 选项:
• a. direct access storage(直接访问存储)
• b. sequential storage(顺序存储)
• c. random access storage(随机访问存储)
• 答案:
• b. sequential storage(顺序存储)。
Q: The closed, concentric rings on a diskette are referred to as
磁盘上的封闭同心圆被称为?
• 选项:
• a. grooves(凹槽)
• b. tracks(磁道)
• c. sectors(扇区)
• d. circles(圆)
• 答案:
• b. tracks(磁道)。
• 原因:磁盘上的数据以同心圆形式存储,每一个同心圆称为磁道。
• 问题:当从辅助存储(secondary storage)中检索文件并显示在屏幕上时,以下哪种情况是正确的?
• 选项:
• a. 实际上检索了所需文件的副本并将其放置在桌面上。
• b. 旧版本文件仍保留在辅助存储中。
• c. 文件被发送到ROM。
• d. 如果检索后没有修改文件内容,原始文件不会被替换。
• 答案:
• b. 旧版本文件仍保留在辅助存储中。
• 原因:文件检索通常是将文件副本加载到内存或缓冲区中,原始文件仍保存在辅助存储中。