大型主机操作系统6.ppt

上传人:夺命阿水 文档编号:248159 上传时间:2023-03-23 格式:PPT 页数:57 大小:832KB
返回 下载 相关 举报
大型主机操作系统6.ppt_第1页
第1页 / 共57页
大型主机操作系统6.ppt_第2页
第2页 / 共57页
大型主机操作系统6.ppt_第3页
第3页 / 共57页
大型主机操作系统6.ppt_第4页
第4页 / 共57页
大型主机操作系统6.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《大型主机操作系统6.ppt》由会员分享,可在线阅读,更多相关《大型主机操作系统6.ppt(57页珍藏版)》请在课桌文档上搜索。

1、第五章 VSAM数据集,内容提要,VSAM数据集优点VSAM数据集类型VSAM数据集结构VSAM数据集的操作方式编目的概念和结构IDCAMS,VSAM概述,VSAM-Virtual Storage Access Method,它是一种访问方法,用来组织数据记录并且利用编目实现数据集的维护。访问方法相当于接口的角色,是操作系统和应用程序之间的桥梁,主要的目的是提高数据存取的效率。,传统访问方法,QSAMQueued Sequential Access MethodBSAMBasic Sequential Access MethodISAMIndexed Sequential Access Met

2、hodBDAMBasic Direct Access MethodBPAMBasic Partitioned Access MethodPDS-EPartitioned Data Set ExtendedOAMObject Access Method,VSAM访问方法,VSAM访问方法是第一个针对虚拟存取环境设计的访问方法,和以上那些传统访问方法相比较,VSAM和操作系统的兼容性更好,并且具有高效率、多功能和安全性等特点。VSAM能顺序或直接存取磁盘中固定和变动长度的记录,其读取记录的过程如下:(1)VSAM负责解释应用程序的逻辑请求并且决定需要使用的设备;(2)VSAM负责向操作系统申请输入

3、和输出的操作;(3)操作系统执行实际的物理输入和输出操作;(4)VSAM将数据返回给应用程序处理。,VSAM的特点,VSAM存取方法有更高的存取效率,更好的数据安全性和完整性,而且容易使用与管理,其特点如下:(1)适用于不同类型的作业方式,包括批处理作业和在线作业;(2)高效的存取效率,VSAM存取记录时输入输出的单位是一个Control Interval(简称CI),而且加上Buffer Space的应用,数据集的存取效率较高;(3)使用简单,VSAM提供了一套很容易使用的命令,帮助用户建立和维护数据集;(4)集中管理,VSAM通过编目机制实现集中管理。,VSAM术语,控制段CI控制区CA相

4、对字节位置RBASpanned RecordCluster访问控制块访问方法服务集成编目访问方法服务,控制段CI,Control Interval(简称CI)是VSAM数据集(除了Liner Data Set数据集以外)输入输出的单位。结构如下图所示:,控制区CA,Control Area(简称CA)是由好几个连续的CI所组成。在同一个VSAM数据集里每一CA均拥有相同数目的CI,CA的大小也可以在定义VSAM数据集时指定。CA的大小最小为一个磁道,最大为一个柱面。VSAM数据集创建时所需要的磁盘空间大小是以CA的大小为单位进行分配的。,相对字节位置RBA,相对字节位置(简称RBA)是指VSA

5、M数据集中记录的相对位置,从数据集的起始位置开始计算,VSAM将数据看成连续的字节流,RBA使得记录的地址可以实现设备无关性。第一条记录的RBA为零,第二条记录的RBA为第一条记录的长度,也就是10,第三条记录的RBA为第一条记录的长度加上第二条记录的长度,也就是20;其余以此类推。同理每一CI的RBA计算方法与CI中记录的RBA计算方式相同。由RBA的定义可知RBA与CI在内存中的实际位置无关,它只是前面各CI之长度和。,Spanned Record,如果记录长度超过一个CI大小的称为Spanned Record。Spanned Record的最大长度是一个CA的长度减去VSAM的控制信息的

6、长度,而且只适用于KSDS和ESDS。,数据集CLUSTER,在z/OS系统中,Cluster是一个逻辑概念,是指一个逻辑数据集,由若干个物理数据集组成。只有考虑VSAM数据集的物理部分的时候,Cluster和Data Set之间才存在区别。特别是KSDS Cluster,KSDS cluster包含两个物理数据集,一个数据集中是实际的数据记录,一个数据集是索引部分。而其它的VSAM数据集,包括ESDS,RRDS和LDS数据集,cluster名称和Data Set名称则是指向相同的数据集,每个cluster只包含一个物理数据集,即数据部分。,CLUSTER,访问控制块,访问控制块(简称ACB)

7、是应用程序定义VSAM数据集和指定如何处理的控制块。ACB的作用主要是使用符号名称定义数据集,指定应用程序如何处理数据集和其它的一些选项。ACB的作用和数据控制块Data Control Block(简称DCB)是一样的,但是DCB的处理对象是非VSAM数据集(比如顺序数据集)。,访问方法服务(Access Method Services),访问方法服务(简称AMS)是操作系统提供的实用程序,主要用来管理和维护VSAM数据集:(1)定义VSAM数据集(2)为数据集分配磁盘空间(3)将非VSAM数据集转换成VSAM数据集等,集成编目访问方法服务(IntegrateDCatalog Access

8、Method Services),集成编目访问方法服务(简称IDCAMS)是VSAM AMS实用程序的名称,IDCAMS为程序开发人员和系统程序员提供了方便的使用方法,它的主要功能包括:(1)定义VSAM数据集(2)加载数据集(3)拷贝和备份数据集(4)打印数据集的内容(5)改变数据集的某些属性(6)显示数据集的属性和统计信息(7)还有删除数据集等,VSAM数据集类型,(1)进入顺序数据集Entry-Sequenced Data Set(ESDS)(2)索引顺序数据集Key-Sequenced Data Set(KSDS)(3)相对记录数据集Relative Record Data Set(R

9、RDS)(4)线性数据集Linear Data Set(LDS),ESDS数据集,ESDS数据集记录的存放顺序是按照记录进入数据集的先后顺序,记录的读取是通过地址访问,每一条记录的存放与记录的内容无关并且字节地址不能改变。ESDS也被称为顺序VSAM数据集,所以ESDS数据集比较适合记录顺序处理的应用程序,在大部分应用程序中,ESDS的处理方式和顺序数据集是相似的,ESDS数据集,ESDS数据集仅由数据部分(Data Component)组成,ESDS数据集中存放的记录可以是定长也可以是变长,但是CI中不能预留Free Space。记录的存放方式按照记录写入的先后顺序排列,所以在本质上ESDS

10、是一个顺序数据集。因为每一条记录的存储位置不能改变,因此增加记录只能加在数据集的最后面,不允许从中间插入;更新记录时,新记录的长度必须与原记录相同。此外对于不需要的记录,只能在逻辑上进行删除,无法从磁盘中真正删除,所以程序开发人员必须在程序中自行判断某条记录是否已被删除。在应用开发中,能够对ESDS的记录进行存取操作的程序设计语言有ASSEMBLER,RPG,PL/I,COBOL和FORTRAN。,ESDS数据集,KSDS数据集,KSDS数据集记录的存放按照记录的索引顺序,索引决定记录的存放顺序。KSDS数据集的记录既支持顺序处理也支持随机处理。有些应用程序要求数据集有索引字段,索引可以是顾客

11、编号,也可以是员工编号,每个索引可以唯一标识一条记录。从概念上讲,KSDS数据集有些类似非VSAM数据集的索引顺序数据集,但是执行效率比索引顺序数据集要高。,KSDS数据集,KSDS数据集由数据部分(Data Component)及索引部分(Index Component)所组成。,KSDS数据集,在KSDS数据集中,每个逻辑记录都有一个索引,记录按照索引的升序排列,索引的长度是相同的,在每一条记录中索引都是相同的数据项。索引值必须是唯一的而且是连续的,KSDS数据集的逻辑记录长度可以是定长的也可以是变长的,KSDS的访问方法有顺序存取,直接存取和定位顺序存取。,KSDS数据集,在建立KSDS

12、数据集时,VSAM根据输入记录的索引,按照升序将记录存放到适当位置,同时产生索引部分。KSDS的数据部分具有如下属性:(1)若干记录组成CI;(2)记录可以为定长也可以是变长;(3)若干CI组成CA;(4)一个CA中的CI可能不是按序排列,但是每个CI中的记录一定是按照索引的顺序排列的。,KSDS数据集,索引记录有两种类型,一种称为Index Set,简称为IS,IS包含较高层的索引信息;另外一种称为Sequence Set,简称为SS,SS包含最低层的索引信息。SS中的每条记录代表数据部分的一个CA,每条SS记录中的入口个数取决于相应CA中CI的个数。每个SS记录中的入口包含一个指向相应CI

13、的指针,这个指针就是相应CI的RBA。,KSDS数据集,KSDS数据集,索引部分由Sequence Set和Index Set组成,其中Sequence Set的大小为一个CI,对应一个数据CA,SS包含指向下一个SS的水平指针和对应的每个CI的最大的索引值以及相应指针。Index Set包含指向低一级索引的的垂直指针和最大的索引值。SS的指针超过一个CI大小时,系统会建立多级的IS,但是在顶层只能有一个IS。,KSDS数据集,在KSDS数据集中以记录索引值直接存取某一条记录的过程是这样的:(1)先查询顶层IS的索引值,决定要找的记录索引是位于下一层的哪一个IS;(2)循序寻找这个IS,以决定

14、要查找的索引在哪一个Sequence Set中;(3)根据SS的记录,对索引所在的CI进行定位;(4)将该CI从DASD读入到存储器,取出所要的记录传送到程序中,完成直接读取记录的操作。,KSDS数据集,顺序存取记录的过程如下:(1)定位到第一个CI;(2)从第一个记录开始,顺序读取每一条记录,直至完成所有的记录读取操作。定位顺序存取的过程如下:(1)首先按照直接存取的方式定位到需要读取的指针;(2)再按照顺序存取方式从指定的记录开始顺序处理,直至完成所有的操作。,KSDS数据集,记录插入时可能发生三种情况:(1)当插入新记录到某个CI时,如果有足够的Free Space,此CI内原有记录的索

15、引值大于新记录的索引值都往后移位置,使新记录能插入其中,这种情况上面已经描述过,2008的记录往后移,新记录2007放在2005和2008之间,同时建立相应的RDF。,KSDS数据集,(2)若插入时CI内没有足够的Free Space,而CA内有空的CI时,VSAM会产生CI Split的操作,另外寻找一个空的CI,将原CI后半部分的记录加上新插入的记录以及它们所对应的RDF全部移到空的CI内,然后,将Index Component里有关的记录加以修改。下面假设我们需要插入的记录为4046,按照索引的顺序,新纪录4046应该插入CI1,插入在4041和4050之间,但是CI1中已经没有Free

16、Space,VSAM将执行CI Split操作,将CI1的后一半记录搬入空闲的CI3中,建立新纪录的RDF,并且修改相应的索引部分的内容。,KSDS数据集,KSDS数据集,KSDS数据集,(3)第三种情况是新记录要插入,CI中没有足够的Freespace,而且CA中也没有空的CI时,VSAM会产生CA Split的操作。在数据集的最后,增加一个CA,把原有CA内半数CI的记录移到新的CA内,再将新记录插入适当的位置,同时修改Index Component内的相应内容假设新记录4074要插入数据集,按照索引的顺序,新记录4074应该插入CI2,但是CI2中已经没有FreeSpace,所以VSAM

17、会寻找空闲的CI,但是整个CA中已经没有空闲的CI,所以VSAM在数据集的后面增加一个新的CA,执行CA Split操作,将CA1的一半记录搬入CA2中,再将新记录插入相应的位置,设置相关的RDF,同时修改索引部分的相关内容。,KSDS数据集,KSDS数据集,KSDS数据集删除记录时VSAM的处理方式如下:(1)将KSDS数据集内存在的记录删除时,系统会将被删除记录之后的记录往前移(2)将删除的记录所占的空间收回成为Free Space,并修改索引部分的相关内容,KSDS数据集,KSDS数据集更新记录时VSAM的处理方式如下,更新记录时VSAM处理的情况分为三种:(1)更新的记录长度不变时VS

18、AM将更新记录取代原有的旧记录;(2)更新后记录长度缩短,VSAM的处理方法与处理记录的删除相同,将多余的空间收回称为Free Space;(3)更新后记录长度加长,VSAM的处理方法与处理记录的插入相同。,KSDS数据集,(1)记录按照记录索引值的升序存储;(2)记录存取方式有顺序存取(Sequential Access),直接存取(Direct Access)和定位顺序存取(Skip-Sequential Access);(3)记录格式为变长或者定长;也可以为Spanned Record.;(4)可预留Free Space供插入记录或更新记录时增加原记录长度用;(5)新增加的记录可以在数据

19、集的任何地方插入;(6)允许数据集内原有记录长度的改变,即可以增减或者缩短原有记录的长度;(7)可以真正删除记录并且将记录所占用的位置收回,称为FreeSpace;(8)KSDS数据集可以建立次索引,并且以次索引对记录进行存取;(9)根据以上的特点,可以看出记录的RBA值可以产生改变。,RRDS数据集,在RRDS数据集中,整个存储空间被分成一个个的片(slot),slot可以是等长的也可以是不等长的,每个slot有一个编号,称为相对记录编号(Relative Record Number),简称为RRN。记录存储在与其RRN值相同的slot中,RRDS的RDF用来记录的随机读取是通过RRN来实现

20、的。RDF标识相应的slot是否空闲或者被占用。RRDS有些类似于表格形式的文件。,RRDS数据集,RRDS数据集也仅由Data Component组成:,RRDS数据集中每一条记录均被存放在与其RRN值相同的Slot里,所以记录编号和相对记录编号是一致的。新记录加入RRDS数据集时,只能存放在空的Slot上,更新记录时不可改变原有记录的长度,记录一旦被删除后,VSAM会将它所占用的Slot清空,同时将对应的RDF标志设置为空,方便以后使用。,RRDS数据集,(1)记录按相对记录编号RRN存放;(2)记录存取方式有顺序存取,直接存取和定位顺序存取;(3)记录长度必须是定长;(4)RRDS数据集

21、不能预留FreeSpace;(5)新增的记录只能在空的Slot上插入;(6)记录可以更新,但是不能改变原记录的长度;(7)记录可以删除,并将记录所占用的Slot置空;(8)RRDS数据集不能建立次索引;(9)记录的RRN不能改变。,VRRDS数据集,VRRDS数据集和RRDS数据集是非常类似的,但是和RRDS不同的是VRRDS数据集记录的长度是变长的。每一条记录都有一个唯一的相对记录编号,并且是按照升序排列,记录的存取也是通过RRN实现的。和RRDS不同的是,VRRDS中没有slot。在定义一个VRRDS数据集时,需要指定编号和记录的大小,平均记录长度和最大记录长度这两个参数值不能相同。,LD

22、S数据集,LDS是一种只包含数据而没有控制信息的数据集,一个LDS数据集被分成为blocks,应用程序按照物理顺序读取这些blocks,每个LDS的block的长度为4096字节。,LDS数据集,LDS数据集也是只有数据部分,每个CI中都只有数据而没有控制信息。LDS数据集的记录不能为SPANNED Record,CI的大小最小为4K,最大为32K。应用程序员必须知道数据的结构,才能对数据集进行处理。,编目机制,对数据集的编目实际上是对数据集的入口建立列表和索引。访问数据集时,系统通过查找编目来定位已编目的数据集。编目中包括数据集名,卷标(VOLUME)和设备类型(UNIT)。当读取编目的数据

23、集时,只需指定数据集名和数据集状态,无需指定VOLUME和UNIT参数,这时,系统通过数据集名(DSN)查找编目,从编目中获取UNIT和VOLUME信息,然后再通过UNIT参数和VOLUME参数指定的VTOC获取数据集位置,大小等信息。编目机制实际就是提供了一种能力,通过数据集的名字对数据集进行定位。在z/OS系统中,编目分为两种,一种是主编目,一种是用户编目。,主编目,在z/OS系统中,只有一个主编目,主编目是整个外存系统管理的中心控制点,它描述系统的数据集和用户编目,而用户编目则描述用户的数据集。通常称在编目中有描述信息的数据集为编目数据集。主编目的信息非常重要,因此可以有一个或多个主编目

24、的备份。但任何时候系统中只能有一个主编目在使用,形成一个以主编目为中心的两级层次式的数据集管理方式,主编目与用户编目的区别仅仅在于它们使用的方式。,用户编目,用户编目的功能跟主编目大致相同,但是它的建立是选择性的,并非一定需要。设立用户编目的主要目的是缩短编目的寻找时间,使用VSAM数据集时需要先寻找编目,查找相关的记录,然后才存取数据集。假设作业同时要使用许多VSAM数据集而系统中又只有一个主编目,必然增加寻找编目记录的时间,降低了系统的效率。若建有多个用户编目,将许多VSAM数据集的信息分散存放,可缩短编目记录的查找时间以提高作业效率。但是z/OS系统中编目结构只有两级,所以在一个用户编目

25、下不能再建立用户编目。,IDCAMS,访问方法服务(简称AMS)是操作系统提供的实用程序,主要用来管理和维护VSAM数据集,同时AMS也可以对非VSAM数据集进行操作。集成编目访问方法服务(简称IDCAMS)是VSAM AMS实用程序的名称。,AMS命令功能,IDCAMS为程序开发人员和系统程序员提供了方便的使用方法,它的主要功能如下(1)定义主编目和用户编目;(2)定义VSAM数据集;(3)显示VSAM数据集的记录;(4)对VSAM数据集执行备份操作;(5)显示编目中的记录;(6)删除数据集等。,AMS命令格式,AMS功能,(1)DEFINE:用来定义编目,数据集,次索引数据集和路径等。(2

26、)DELETE:用来删除DEFINE命令所建的编目,数据集,次索引数据集和路径。(3)ALTER:更改编目中有关数据集属性的记录或原先所设定的参数。(4)BLDINDEX:用来建次索引数据集。(5)LISTCAT:显示编目中的信息。(6)PRINT:显示VSAM数据集的记录。(7)REPRO:复制数据集记录;产生编目的备用数据集;将顺序数据集转换成VSAM数据集;或者将VSAM数据集转换成顺序数据集;将记录写入VSAM数据集和重组VSAM数据集的组织。(8)EXPORT:将VSAM数据集或者编目中的记录进行导出操作。(9)IMPORT:将利用EXPORT命令所产生的记录导入VSAM数据集。,D

27、EFINE MASTERCATALOG/USERCATALOG命令格式,DEFINE MASTERCATALOG/USERCATALOG(parameters)DATA(parameters)INDEX(parameters)CATALOG(parameters),DEFINE CLUSTER命令格式,DEFINE CLUSTER(NAME(entryname)CYCINDERS(primary secondary)|RECORDS(primary secondary)FREESPACE(cipercent capercent)INDEXED|NONINDEXED|NUMBERED|LINEA

28、R KEYS(LENGRH OFFSET)RECORDSIZE(average maximum)RECOVERY|SPEED SHAROPTIONS(crosspartitioncross system)VOLUMES(volser volser)DATA(NAME(entryname)INDEX(NAME(entryname)CATALOG(mastercatname/password),REPRO命令格式,REPRO INDATASET(dataset name)|INFILE(DDname)OUTDATASET(dataset name)|OUTFILE(DDname)NOREPLACE|REPLACE NOREUSE|REUSE,LISTCAT命令格式,LISTCAT CLUSTER|USERCATALOG CATALOG(catname ENTRIES(entryname NAME|ALL,小结,本章主要对VSAM数据集的基本概念和一般使用方法进行了介绍,通过本章的学习,读者将掌握VSAM数据集的一般概念,了解VSAM数据集的基本概念并且会利用AMS实现对数据集的操作。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号