组合硬件和软件的I/O“栈”
系统经常被当作为功能栈来分析,特别是网络系统。大部分读者可能都熟悉协议栈,它表示网络通信的功能层。为了分析I / O操作,找出一个类似的模型可能是有益的。图2 - 2 2显示了一个I / O功能栈,它只涉及数据的存储和恢复,不表示任何标准化的接口,只是提供一种对I / O总体上的理解。
当用这个堆栈来分析存储时,需记住下面几个要点:
•最下面三层——物理、M A C和总线/网络层,在S C S I和光纤路径中已经成为标准。一般说来,这三层的功能由硬件执行,这些硬件包括主机I / O控制器、存储设备/子系统、总线缆线及互联设备。这并不是说这些层不能对现有的功能进行扩展。例如,传输控制和命名信息就是1 9 9 9年工业组正探讨的领域。
•今天,上层的功能都是在专有的产品中实现的。通常,数据/文件和分配层由文件系统或数据库系统负责,而块转换层由卷管理器、设备驱动程序、主机I / O控制器、存储子系统及存储域管理器负责。
•为了定义存储网络的接口和术语,成立了存储网络工业协会( S N I A )。S N I A本身并不是标准化组织,但可以向现存的标准化组织提出建议。由于涉及到的各种软件和硬件产品的功能太多,任何一个标准化组织都不可能参与所有I / O协议栈的技术。S N I A可能扮演协调各个组工作的角色。