基本概念

交互方式分类

  • 人-机交互
  • 机器可读设备

工作分类

  • 通信I/O系统
  • 存储I/O系统

功能行为

  • 输入/输出设备
  • 外部存储设备

I/O系统通常包括I/O设备I/O设备与处理机的连接接口两个主要部分

I/O设备的通用模型

  • 控制逻辑
  • 缓冲器
  • 数据,控制,状态三种信号

I/O系统评价

  • 性能指标
    • 连接特性
    • I/O系统的容量(这里不是指存储量,而是可以容纳的I/O设备数)
    • 响应时间和吞吐率
  • 可靠性
    • 可靠性: 指系统从某个初始参考点开始一直连续提供服务的能力
    • 可用性: 系统正常工作时间在连续两次正常服务间隔时间中所占的比例
    • 可信性: 指在多大程度可以合理地认为服务是可靠的,较难衡量

可靠性衡量参数

  • 平均无故障时间(MTTF)
  • 系统中断服务平均修复时间(MTTR)

MTTF的倒数即为系统的失效率

如果系统中每个模块的生存周期服从指数分布,那么系统整体的失效率是各部件的失效率之和

可用性衡量参数: $可用性 = \frac{MTTF}{MTTF+MTTR}$

串并联系统的可靠性模型

可靠度+不可靠度=1

串联系统中系统可靠度等于所有部件之积,提高可靠度方法

  • 提高单元可靠度
  • 减少串联单元数目

并联系统中系统可靠度等于1减去所有部件不可靠度之积

  • 提高单元可靠度
  • 增加并联单元数目

串并联混合系统的可靠度计算方法为模块化.

提高系统可靠度方法

  • 有效构建方法
  • 容错措施

另外,采用高可靠系统也可以让可用性提高

I/O系统设计实例

RAID,独立冗余磁盘阵列

  • 采用多个磁盘(包括驱动器)的组合
  • 以条带为单位把数据均匀地分布到多个磁盘上(交叉存放)
  • 条带存放可以使多个数据读写请求并行地被处理,让多个磁盘并行工作,从而提高总的I/O性能

上面的并行性有两方面的含义

  1. 多个独立的请求可以由多个盘来并行地处理,减少了I/O请求的排队等待时间
  2. 如果一个请求访问了多个块,就可以由多个盘合作来并行处理,提高了单个请求的数据传输率

这样会有一个问题,就是导致了磁盘阵列的可靠性降低,解决措施为设置冗余信息盘

大多数都采用奇偶校验,也有采用REED-SOLOMON码的.

RAID0,RAID1,RAID3…

RAID0不属于RAID系列

RAID1为镜像磁盘,对所有磁盘数据提高一份冗余的备份

RAID3为位交叉奇偶校验磁盘阵列,它是细粒度的磁盘阵列,采用的条带宽度较小(可以是一个字节或一位),实现多个磁盘的并行访问

RAID4为块交叉奇偶校验磁盘阵列,采用比较大的条带,用块为单位进行交叉存放和奇偶校验计算

RAID3,4采用独立的数据校验盘存储冗余的校验信息,但这样有一个问题,就是校验盘的请求可能过多,导致整个存储系统的效率降低.

消除瓶颈的方法,引出了RAID5,又称为块交叉分布式奇偶校验磁盘阵列,数据以块交叉存于各盘,无专用冗余盘

RAID6称为P+Q双校验磁盘阵列,开销是RAID5的两倍,但是能容忍两个磁盘出错,因此可靠性更高

RAID10为一种组合了RAID0和RAID1的方式,先进行镜像(RAID1)再进行条带存放(RAID0)

RAID01类似RAID10的反方法.

例题

一. 假定一个磁盘阵列RAID0,它的组成部件及MTTF如下:包含4个磁盘,每个磁盘的MTTF为800000小时;一个磁盘阵列控制器,其MTTF为400000小时;一个电源,其MTTF为400000小时;一个风扇,其MTTF为200000小时;一个网卡,其MTTF为200000小时。假定每个部件的生存周期服从指数分布,同时假定各个部件的故障是互相独立的,则这个系统的MTTF为

解:

$$
4 \times \frac{1}{8} + \frac{1}{4} + \frac{1}{4} + \frac{1}{2} + \frac{1}{2} = 2
$$

故为$\frac{100000}{2} = 50000$小时

二. 假设每个磁盘的可靠度为90%,则由8个盘组成的RAID 10系统的可靠度为

解:

$$
(1-(1-0.9)^2)^4 = 0.9606
$$

三. 假设每个磁盘的可靠度为90%,则由8个盘组成的RAID 01系统的可靠度为

解:
$$
1-(1-0.9^4)^2 = 0.9917
$$

四. 由容量均为2TB的10块磁盘,若配置为RAID 5级且有1个热备份盘,则有效容量为______TB

解:
热备份盘不知道什么意思,直接减去1就是,剩下9块盘,所以总共磁盘大小为$2 \times 8 = 16 TB$

五. 采用DMA方式传送数据时,每传送一个数据要占用( )。

A.一个指令周期
B.一个机器周期
C.一个存取周期
D.一个时钟周期

解: 答案为C
采用DMA方式传送数据时,每传送一个数据需要占用CPU一个存取周期,即在该存取周期内,CPU不能访存。

六. 由容量均为3TB的10块磁盘,若配置为RAID 6级且有1个热备份盘,则有效容量为______TB

解:
$$
(10-1-2) \times 3 = 21 TB
$$

七. 输入输出数据不经过CPU内部寄存器的输入输出方式是()
A . 程序控制输入输出方式
B . 中断输入输出方式
C . 直接存储器访问方式
D . 上述3种方式

解: C

八. 实现磁盘阵列的方式主要有________、________和________3种

解:

  • 软件
  • 阵列卡(PC上的实现方式)
  • 子系统

我很好奇