大容量存储器的结构笔记

前言

磁盘驱动器是绝大多数计算机的主要外存I/O设备。大多数次级存储设备是磁盘或磁带。现代磁盘驱动结构是一个==大型逻辑磁盘块的一维阵列==,每块一般为512B。
磁盘可以通过两种方式与计算机系统相连:(1)通过主机的本地I/O 端口;(2)通过网络来连接如存储区域网络。
磁盘I/O的请求主要由文件系统和虚拟内存系统所产生,每个请求以逻辑块号的形式指定所引用的磁盘地址。

一、 大容量存储器结构简介

  1. 磁盘:
    i. 磁盘为现代计算机系统提供了大容量的外存。
    ii. 每个磁盘片为扁平圆盘,两面都涂着磁质材料。通过在磁片上进行磁记录可以保存信息。
    iii. 磁盘片的表面被逻辑地划分为圆形磁道,磁道再进一步划分为扇区。位于同一磁臂位置的磁道集合形成了柱面。
    iv. 传输速率是在驱动器和计算机之间的数据传输速率。
    v. 定位时间(有时称为随机访问时间)由寻道时间(移动磁臂到所要柱面所需要时间)和旋转等待时间(等待所要的扇区旋转到磁臂下所需时间)
    vi. 磁盘所表现的传输速率总是低于有效的传输速率。传输速率是磁盘头从磁性介质读取比特速率,但这不同于给操作系统传输块的传输速率
  2. 磁带:速度慢、成本低,可用于备份设备
    火线:指一个接口,用于将外部设备,例如硬盘驱动器、DVD驱动器和数码摄像机连接到计算机系统。

二、 磁盘结构

  1. 现代磁盘驱动器可以看作一个一维的逻辑块的数组,逻辑块是最小的传输单位。逻辑块的大小通常为512B。一维逻辑块数组按顺序映射到磁盘的扇区。扇区0是最外面柱面的第一个磁道的第一个扇区。该映射是先按磁道内扇区顺序,再按柱面内磁道顺序,最后按从外到内的柱面顺序来排序的
  2. 通过映射,从理论上可以将逻辑块号转换为磁盘内的柱面号、柱面内的磁道号、磁道内的扇区号所组成的老式磁盘地址。
  3. 这种转换有些困难的原因,一是绝大多数磁盘都有一些缺陷扇区(因此映射必须用磁盘上其他的空闲扇区来替代这些缺陷扇区);二是对于有些磁盘,每个磁道的扇区数并不是常量。外部磁道的扇区数通常比内部磁道的扇区数多40%,所以内磁道到外磁道的位密度要不断降低以保持数据率不变(常量线性速度)

三、 磁盘附属

计算机访问磁盘存储有两种方式,一种是通过I/O端口(或主机附属存储),小系统常采用这种方式。另一种方式是通过分布式文件系统的远程主机,这称为网络附属存储

(一)主机附属存储:

封装在主机内,通过本地的I/O端口进行访问。硬盘驱动器、RAID阵列、CD、DVD和磁带驱动器可以使用该方式。向主机附属存储设备发出数据传输的I/O命令是针对特定存储单元的逻辑数据块的读和写。

(二)网络附属存储(NAS):

数据网络中远程访问的专用存储系统。客户通过远程进程调用接口来访问NAS,提供了一个共享存储池的方便方法,其命名和访问于主机附加存储一样方便,然而NAS效率更低、性能更差。远程进程调用(RPC)可通过IP网络(通常为向客户传输所有数据的局域网)的TCP或UDP来进行。
缺点:存储I/O操作需要使用数据网络的带宽,因此增加了网络通信延迟

(三)存储区域网络(SAN):

是服务器与存储单元之间的私有网络(采用存储协议而不是网络协议),比较灵活

四、 磁盘调度(目标是获得最小寻道时间)

  1. 对磁盘驱动器来说,满足操作系统有效地使用硬件这一要求意味着较快地访问速度和较宽地磁盘带宽。
  2. 寻道时间:磁臂将磁头移动到包含目标扇区的柱面的时间
  3. 旋转延迟:磁盘需要将目标扇区转动到磁头下的时间
  4. 磁盘带宽:所传递的总的字节数除以从服务请求开始到最后传递结束时的总时间

(一)FCFS调度:

先来先服务调度,算法本身比较公平,但是它通常不提供最快的服务

(二)SSTF调度:

  1. 从当前磁头位置选择距离当前磁头最近(即具有最短寻道时间)的请求
  2. 本质上是一种最短作业优先(STF)调度,是一种局部最优算法
  3. 不是最优算法,约FCFS调度算法所产生的磁头移动数量的1/3
  4. 可能导致某些请求的饥饿,因为需要考虑到请求并不一定是同时到达的
  5. 是一种普通且性能较好的调度算法,比较合适

(三)SCAN调度

  1. 也叫电梯调度,磁臂在磁盘上来回移动,同时当磁头移过每个柱面时,处理位于该柱面上的服务请求
  2. 使用该调度算法之前需要知道磁头当前位置以及移动方向
  3. 可以改善饥饿,但是仍然可能发生饥饿

(四)C-SCAN调度

  1. SCAN的一个变种,主要提供一个更为均匀的等待时间。
  2. 与SCAN一样,C-SCAN将磁头从磁盘一端移动到磁盘的另一端,随着移动不断地处理请求。不过当磁头移动到另一端时,它会马上返回到磁盘开始,返回时并不处理请求。
  3. C-SCAN调度算法基本上将柱面当作一个环链,以将最后的柱面和第一个柱面相连

(五) LOOK调度:

与SCAN类似,区别在它只移动到一个方向上的最远请求为止

(六) C-LOOK调度:

与C-SCAN类似,区别在它只移动到一个方向上的最远请求为止

五、 磁盘管理

  1. 磁盘初始化
    i. 低级格式化(物理格式化):在磁盘能存储数据之前,它必须分成扇区以便磁盘控制器能读和写
    ii. 低级格式化为磁盘每个扇区采用特别的数据结构,通常由头、数据区域(通常大小为512B)和尾部组成。头部和尾部包含了一些磁盘控制器所使用的信息,如扇区号码和EPC(纠错代码)
    iii. 为了使用磁盘存储文件,操作系统还需要将自己的数据结构记录在磁盘上,这分为两步;一是将磁盘分为由一个或多个柱面组成的分区。操作系统可以将每个分区作为一个独立的磁盘。二是逻辑格式化(创建文件系统)。操作系统将初始的文件系统数据结构存储到磁盘上。这些数据结构包括空闲和已分配的空间(FAT或者inode)和一个初始为空的目录
  2. 引导块
    i. 在重启或打开电源时,计算机会运行一个初始化程序(自举程序),初始化系统的各个方面,从CPU寄存器到设备控制器和内存,接着而启动操作系统。为此,自举程序需要能够找到磁盘上的操作系统内核,装入内存,并转到起始地址,从而开始操作系统的执行。
    ii. 绝大多数系统只在启动ROM中保留一个很小的自举加载程序,其作用是进一步从磁盘上调入更为完整的自举程序。这个完整的自举程序保存在磁盘的启动块上,启动块位于磁盘的固定位置。拥有启动分区的磁盘称为启动磁盘或系统磁盘。WINDOWS2000的启动代码在第一个扇区(主引导记录MBR)
  3. 坏块:一个或多个坏掉的扇区
    i. 对于简单磁盘,如使用IDE控制器的磁盘,可手工处理坏扇区
    ii. 对于复杂的磁盘,如用于高端PC、绝大多数工作站和服务器上的SCSI磁盘,其控制器维护一个磁盘坏块链表,该链表在出厂前进行低级格式化时就已经初始化了,并在磁盘整个使用过程中不断更新。低级格式化将一些块放在一边作为备用,操作系统看不到这些块。控制器可以用备用块来逻辑地替代坏块(该方案为扇区备用或转寄)

六、 交换空间管理

  1. 交换空间:虚拟内存使用磁盘空间作为主存的扩展,就是发生块交换(页面置换)的区域
  2. 交换空间位置:在普通文件系统上加以创建,或者在一个独立的磁盘分区上。通常是文件系统内的一个简单大文件(外部碎片可能导致多次寻道而增加空间),也可以是创建在独立的磁盘分区上(内部碎片可能增加)

七、 三级存储结构

  1. 可移动磁盘:软盘、次光盘、光盘
  2. 磁带:大容量、对随机访问处理很慢,磁带驱动器需要倒带或快进操作
  3. 未来技术:全息照相存储器、MEMS(微电子机械系统)

八、 操作系统支持

操作系统的两个主要任务是管理物理设备和为应用程序提供一个虚拟机器的抽象。对于磁盘,操作系统提供了两种抽象,一是生设备(即只是数据块的阵列);另一种是文件系统

  1. 应用接口:绝大多数磁盘和磁带都会有用于驱动器使用的应用接口,绝大多数是磁带驱动器有一个read_position以返回磁头所在的逻辑块号,写的时候会删除写之后位置的所有内容
  2. 文件命名:一般不对可移动介质的命名空间问题进行解决,而是让应用程序与用户来决定如何访问与解释数据,幸运的是,目前已经进行了标准化
  3. 层次存储管理:采用自动光盘塔,切换磁带或光盘驱动器内有可移动盘,而无需人工干预。层次存储系统扩展了存储层次,加入了可移动存储,用来扩展文件系统
  4. 性能:
    a) 速度:包括带宽(驱动器的持续带宽、有效带宽)和延迟
    b) 可靠性:可移动磁盘弱于固定磁盘
    c) 价格:主存大于磁盘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值