IBM大型主机(Mainframe)技术简介之二——基本的系统支持
磁盘
由多个(例如8个)盘片组成,双面或单面,最顶上一面和最底下一面均不涉及。每个可读盘面均有一个磁头 (read/write head)负责读取,磁头由传动结构 (Actuator)统一驱动,每一时刻在同一平面位置上。每一个盘面以同心圆划分成磁道 (Track),每个磁道再由定角度扇形划分成扇区 (Sector),每个扇区是物理读写的最小单位 ,由此,每一时刻诸磁头都在同一磁道上,而在纵向上这一读写时刻看形成一个柱状区,称为柱面 (Cylinder)。但事实上每个特定瞬间,只有一个盘面,即一个磁道可被读写。传动结构将磁头移到指定柱面的活动叫传动活动 (Actuator Movement);为到达指定扇区磁盘转动所需时间称为旋转延迟 (Rotational Delay)。
数据记录
在Mainframe文件中,数据用记录(Record)作为最小单位组织。在一个扇区中含多个记录的组织形式叫分块记录 (Blocked Records),只含一个记录的叫无分块记录 (Unblocked Records)。由于扇区是最小的读写单位,使用分块记录可使系统一次读取一个块 所包含的一个或多个扇区中的多个记录 。一个块内的记录个数叫分块因子 (Blocking Factor)。
定长记录 和变长记录
变长记录(Variable-Length Records)有相应的数据字节指示其长度,变长记录通常采用分块方式保存。
顺序文件 (Sequential File)
记录顺序排放在物理磁盘上。只能从头至尾顺序读写,称为顺序访问 (Sequential Access)。一般应按某个键值排序,但如未排序,根据需要需要先排序再使用。为提高I/O效率,通常使用大的分块因子。
主索引 (Indexing)
索引文件分成数据单元(Data Component)和索引单元(Index Component)。索引文件必含有一个主索引(Primary Index),它基于主键值(Primary Key),它必须满足唯一性(Uniqueness)。顺着主索引访问数据可以获得按主键值排序的记录序列,类似于排序后顺序文件的顺序访问的效果。在创建时,数据记录是按主键顺序写入,但追加记录时,则不一定依序加在恰当位置,因此后续的顺序访问可能不是在物理上的顺序访问,会造成一定的效率问题。
次索引 (Alternate Indexes)
索引文件可包含次索引,次索引键值可以不必唯一,次索引可包含一个或多个键。在键值不唯一时,搜索结果返回第一个等值记录。
数据文件(Dataset)组织
顺序文件(Sequential Dataset)
ISPF
分区文件(Partitioned Dataset, PDS)
文件名称形式:
USERID.PROJECT.GROUP.TYPE
可含有多个Member
库文件(Library)
VSAM 数据文件 (VSAM Dataset)
VSAM文件通常只能用特殊的工具创建(如IDCAMS)和访问
ESDS
顺序存储;
KSDS
RRDS
LDS
(未完待续)