zOS是计算机操作系统,讲到计算机系统,不可避免说到处理器、存储控制、虚拟地址、程序编译执行、通信等等要素。所以学习zOS,需要具备操作系统的基本知识。《深入理解计算机系统》是本很好的书。
一、z/OS storage constructs: File systems, data sets, and more
1.Record是zOS程序可以处理的最基本的数据单元,Record的含义和数据库中Record的含义类似。Record的长度可以自定义,可以是定长或变长。field(字段)是Record的索引关键词,可以是name, age等,Record中专门有一段来存储这些field。
2.Data Set(DS)
一个及一个以上的Record构成了Data Set,并且这个DS会有一个名字。
3. Data Set的分类:
(1)Sequential Data Set(SDS)。其中的Record是连续存储的,系统和程序要读取其中的一条Record,必须遍历这条Record之前的所有Record;类似数据结构中的顺序存储结构;
(2)Partitioned Data Set(PDS)。PDS由两部分组成,directory and members。directory存members的地址,系统和程序通过directory中各个member的地址来找到member,有点类似对象中的指针数组成员;各个member是由一个或复数个Record构成。PDS也成为libraries。
(3)Virtual Storage Access Methodkey sequenced data set (VSAM KSDS)。在VSAM KSDS中,Record中有一个或多个Key字段。KSDS由index 和data组成,index就是key,通过index,程序可以直接找到data,类似散列存储。
4.Volume Table Of Contents(VTOC)
VTOC是一种数据结构,VTOC记录了当前卷(volume)上所有DS名称、位置、大小等属性。那么VTOC存在哪呢?在第一柱面的第一轨上,第一个Record记录了卷标(Volume Label)以及VTOC的地址,通过这个地址就可以找到VTOC,再通过VTOC找到各个DS。
(注:http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp和http://en.wikipedia.org/wiki/Volume_table_of_contents在VTOC和volume label的储存位置描述上有出入)