大型主机操作系统6

上传人:liu****han 文档编号:243041443 上传时间:2024-09-14 格式:PPT 页数:57 大小:643.50KB
返回 下载 相关 举报
大型主机操作系统6_第1页
第1页 / 共57页
大型主机操作系统6_第2页
第2页 / 共57页
大型主机操作系统6_第3页
第3页 / 共57页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第五章 VSAM数据集,内容提要,VSAM数据集优点,VSAM数据集类型,VSAM数据集结构,VSAM数据集的操作方式,编目的概念和结构,IDCAMS,VSAM,概述,VSAM-Virtual Storage Access Method,它是一种访问方法,用来组织数据记录并且利用编目实现数据集的维护。,访问方法相当于接口的角色,是操作系统和应用程序之间的桥梁,主要的目的是提高数据存取的效率。,传统访问方法,QSAMQueued Sequential Access Method,BSAMBasic Sequential Access Method,ISAMIndexed Sequential Access Method,BDAMBasic Direct Access Method,BPAMBasic Partitioned Access Method,PDS-EPartitioned Data Set Extended,OAMObject Access Method,VSAM,访问方法,VSAM访问方法是第一个针对虚拟存取环境设计的访问方法,和以上那些传统访问方法相比较,VSAM和操作系统的兼容性更好,并且具有高效率、多功能和安全性等特点。,VSAM能顺序或直接存取磁盘中固定和变动长度的记录,其读取记录的过程如下:(1)VSAM负责解释应用程序的逻辑请求并且决定需要使用的设备;(2)VSAM负责向操作系统申请输入和输出的操作;(3)操作系统执行实际的物理输入和输出操作;(4)VSAM将数据返回给应用程序处理。,VSAM,的特点,VSAM存取方法有更高的存取效率,更好的数据安全性和完整性,而且容易使用与管理,其特点如下:,(1)适用于不同类型的作业方式,包括批处理作业和在线作业;,(2)高效的存取效率,VSAM存取记录时输入输出的单位是一个Control Interval (简称CI),而且加上Buffer Space的应用,数据集的存取效率较高;,(3)使用简单,VSAM提供了一套很容易使用的命令,帮助用户建立和维护数据集;,(4)集中管理,VSAM通过编目机制实现集中管理。,VSAM,术语,控制段CI,控制区CA,相对字节位置RBAS,panned Record,Cluster,访问控制块,访问方法服务,集成编目访问方法服务,控制段,CI,Control Interval(简称CI)是VSAM数据集(除了Liner Data Set数据集以外)输入输出的单位。结构如下图所示:,控制区,CA,Control Area(简称CA)是由好几个连续的CI所组成。,在同一个VSAM数据集里每一CA均拥有相同数目的CI,,CA的大小也可以在定义VSAM数据集时指定。CA的大小最小为一个磁道,最大为一个柱面。,VSAM数据集创建时所需要的磁盘空间大小是以CA的大小为单位进行分配的。,相对字节位置,RBA,相对字节位置(简称RBA)是指VSAM数据集中记录的相对位置,从数据集的起始位置开始计算,VSAM将数据看成连续的字节流,RBA使得记录的地址可以实现设备无关性。,第一条记录的RBA为零,第二条记录的RBA为第一条记录的长度,也就是10,第三条记录的RBA为第一条记录的长度加上第二条记录的长度,也就是20;其余以此类推。同理每一CI的RBA计算方法与CI中记录的RBA计算方式相同。由RBA的定义可知RBA与CI在内存中的实际位置无关,它只是前面各CI之长度和。,Spanned Record,如果记录长度超过一个CI大小的称为Spanned Record。,Spanned Record的最大长度是一个CA的长度减去VSAM的控制信息的长度,而且只适用于KSDS和ESDS。,数据集,CLUSTER,在z/OS系统中,Cluster是一个逻辑概念,是指一个逻辑数据集,由若干个物理数据集组成。,只有考虑VSAM数据集的物理部分的时候,Cluster和Data Set之间才存在区别。,特别是KSDS Cluster,KSDS cluster包含两个物理数据集,一个数据集中是实际的数据记录,一个数据集是索引部分。,而其它的VSAM数据集,包括ESDS,RRDS和LDS数据集,cluster名称和Data Set名称则是指向相同的数据集,每个cluster只包含一个物理数据集,即数据部分。,CLUSTER,访问控制块,访问控制块(简称ACB)是应用程序定义VSAM数据集和指定如何处理的控制块。,ACB的作用主要是使用符号名称定义数据集,指定应用程序如何处理数据集和其它的一些选项。,ACB的作用和数据控制块Data Control Block(简称DCB)是一样的,但是DCB的处理对象是非VSAM数据集(比如顺序数据集)。,访问方法服务(,Access Method Services,),访问方法服务(简称AMS)是操作系统提供的实用程序,主要用来管理和维护VSAM数据集:,(1)定义VSAM数据集,(2)为数据集分配磁盘空间,(3)将非VSAM数据集转换成VSAM数据集等,集成编目访问方法服务(,IntegrateDCatalog Access 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 (RRDS),(4)线性数据集Linear Data Set (LDS),ESDS,数据集,ESDS数据集记录的存放顺序是按照记录进入数据集的先后顺序,记录的读取是通过地址访问,每一条记录的存放与记录的内容无关并且字节地址不能改变。,ESDS也被称为顺序VSAM数据集,所以ESDS数据集比较适合记录顺序处理的应用程序,在大部分应用程序中,ESDS的处理方式和顺序数据集是相似的,ESDS,数据集,ESDS数据集仅由数据部分(Data Component)组成,ESDS数据集中存放的记录可以是定长也可以是变长,但是CI中不能预留Free Space。,记录的存放方式按照记录写入的先后顺序排列,所以在本质上ESDS是一个顺序数据集。因为每一条记录的存储位置不能改变,因此增加记录只能加在数据集的最后面,不允许从中间插入;更新记录时,新记录的长度必须与原记录相同。,此外对于不需要的记录,只能在逻辑上进行删除,无法从磁盘中真正删除,所以程序开发人员必须在程序中自行判断某条记录是否已被删除。,在应用开发中,能够对ESDS的记录进行存取操作的程序设计语言有ASSEMBLER,RPG,PL/I,COBOL和FORTRAN。,ESDS,数据集,KSDS,数据集,KSDS数据集记录的存放按照记录的索引顺序,索引决定记录的存放顺序。,KSDS数据集的记录既支持顺序处理也支持随机处理。有些应用程序要求数据集有索引字段,索引可以是顾客编号,也可以是员工编号,每个索引可以唯一标识一条记录。,从概念上讲,KSDS数据集有些类似非VSAM数据集的索引顺序数据集,但是执行效率比索引顺序数据集要高。,KSDS,数据集,KSDS数据集由数据部分(Data Component)及索引部分(Index Component)所组成。,KSDS,数据集,在KSDS数据集中,每个逻辑记录都有一个索引,记录按照索引的升序排列,索引的长度是相同的,在每一条记录中索引都是相同的数据项。,索引值必须是唯一的而且是连续的,KSDS数据集的逻辑记录长度可以是定长的也可以是变长的,KSDS的访问方法有顺序存取,直接存取和定位顺序存取。,KSDS,数据集,在建立KSDS数据集时,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的指针,这个指针就是相应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,以决定要查找的索引在哪一个Sequence Set中;,(3)根据SS的记录,对索引所在的CI进行定位;,(4)将该CI从DASD读入到存储器,取出所要的记录传送到程序中,完成直接读取记录的操作。,KSDS,数据集,顺序存取记录的过程如下:,(1)定位到第一个CI;,(2)从第一个记录开始,顺序读取每一条记录,直至完成所有的记录读取操作。,定位顺序存取的过程如下:,(1)首先按照直接存取的方式定位到需要读取的指针;,(2)再按照顺序存取方式从指定的记录开始顺序处理,直至完成所有的操作。,KSDS,数据集,记录插入时可能发生三种情况:,(1)当插入新记录到某个CI时,如果有足够的Free Space,此CI内原有记录的索引值大于新记录的索引值都往后移位置,使新记录能插入其中,这种情况上面已经描述过,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中已经没有FreeSpace,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会寻找空闲的CI,但是整个CA中已经没有空闲的CI,所以VSAM在数据集的后面增加一个新的CA,执行CA Split操作,将CA1的一半记录搬入CA2中,再将新记录插入相应的位置,设置相关的RDF,同时修改索引部分的相关内容。,KSDS,数据集,KSDS,数据集,KSDS数据集删除记录时VSAM的处理方式如下:,(1)将KSDS数据集内存在的记录删除时,系统会将被删除记录之后的记录往前移,(2)将删除的记录所占的空间收回成为Free Space,并修改索引部分的相关内容,KSDS,数据集,KSDS数据集更新记录时VSAM的处理方式如下,更新记录时VSAM处理的情况分为三种:,(1)更新的记录长度不变时VSAM将更新记录取代原有的旧记录;,(2)更新后记录长度缩短,VSAM的处理方法与处理记录的删除相同,将多余的空间收回称为Free Space;,(3)更新后记录长度加长,VSAM的处理方法与处理记录的插入相同。,KSDS,数据集,(1)记录按照记录索引值的升序存储;,(2)记录存取方式有顺序存取(Sequential Access),直接存取(Direct Access)和定位顺序存取(Skip-Sequential Access);,(3)记录格式为变长或者定长;也可以为Spanned Record.;,(4)可预留Free Space供插入记录或更新记录时增加原记录长度用;,(5)新增加的记录可以在数据集的任何地方插入;,(6)允许数据集内原有记录长度的改变,即可以增减或者缩短原有记录的长度;,(7)可以真正删除记录并且将记录所占用的位置收回,称为FreeSpace;,(8)KSDS数据集可以建立次索引,并且以次索引对记录进行存取;,(9)根据以上的特点,可以看出记录的RBA值可以产生改变。,RRDS,数据集,在RRDS数据集中,整个存储空间被分成一个个的片(slot),slot可以是等长的也可以是不等长的,每个slot有一个编号,称为相对记录编号(Relative Record Number),简称为RRN。,记录存储在与其RRN值相同的slot中,RRDS的RDF用来记录的随机读取是通过RRN来实现的。RDF标识相应的slot是否空闲或者被占用。RRDS有些类似于表格形式的文件。,RRDS,数据集,RRDS,数据集也仅由,Data Component,组成:,RRDS数据集中每一条记录均被存放在与其RRN值相同的Slot里,所以记录编号和相对记录编号是一致的。,新记录加入RRDS数据集时,只能存放在空的Slot上,更新记录时不可改变原有记录的长度,,记录一旦被删除后,VSAM会将它所占用的Slot清空,同时将对应的RDF标志设置为空,方便以后使用。,RRDS,数据集,(1)记录按相对记录编号RRN存放;,(2)记录存取方式有顺序存取,直接存取和定位顺序存取;,(3)记录长度必须是定长;,(4)RRDS数据集不能预留FreeSpace;,(5)新增的记录只能在空的Slot上插入;,(6)记录可以更新,但是不能改变原记录的长度;,(7)记录可以删除,并将记录所占用的Slot置空;,(8)RRDS数据集不能建立次索引;,(9)记录的RRN不能改变。,VRRDS,数据集,VRRDS数据集和RRDS数据集是非常类似的,但是和RRDS不同的是VRRDS数据集记录的长度是变长的。,每一条记录都有一个唯一的相对记录编号,并且是按照升序排列,记录的存取也是通过RRN实现的。和RRDS不同的是,VRRDS中没有slot。,在定义一个VRRDS数据集时,需要指定编号和记录的大小,平均记录长度和最大记录长度这两个参数值不能相同。,LDS,数据集,LDS是一种只包含数据而没有控制信息的数据集,一个LDS数据集被分成为blocks,应用程序按照物理顺序读取这些blocks,每个LDS的block的长度为4096字节。,LDS,数据集,LDS数据集也是只有数据部分,每个CI中都只有数据而没有控制信息。,LDS数据集的记录不能为SPANNED Record,CI的大小最小为4K,最大为32K。应用程序员必须知道数据的结构,才能对数据集进行处理。,编目机制,对数据集的编目实际上是对数据集的入口建立列表和索引。,访问数据集时,系统通过查找编目来定位已编目的数据集。编目中包括数据集名,卷标(VOLUME)和设备类型(UNIT)。,当读取编目的数据集时,只需指定数据集名和数据集状态,无需指定VOLUME和UNIT参数,这时,系统通过数据集名(DSN)查找编目,从编目中获取UNIT和VOLUME信息,然后再通过UNIT参数和VOLUME参数指定的VTOC获取数据集位置,大小等信息。,编目机制实际就是提供了一种能力,通过数据集的名字对数据集进行定位。在z/OS系统中,编目分为两种,一种是主编目,一种是用户编目。,主编目,在z/OS系统中,只有一个主编目,主编目是整个外存系统管理的中心控制点,它描述系统的数据集和用户编目,而用户编目则描述用户的数据集。通常称在编目中有描述信息的数据集为编目数据集。,主编目的信息非常重要,因此可以有一个或多个主编目的备份。但任何时候系统中只能有一个主编目在使用,形成一个以主编目为中心的两级层次式的数据集管理方式,主编目与用户编目的区别仅仅在于它们使用的方式。,用户编目,用户编目的功能跟主编目大致相同,但是它的建立是选择性的,并非一定需要。设立用户编目的主要目的是缩短编目的寻找时间,使用VSAM数据集时需要先寻找编目,查找相关的记录,然后才存取数据集。假设作业同时要使用许多VSAM数据集而系统中又只有一个主编目,必然增加寻找编目记录的时间,降低了系统的效率。,若建有多个用户编目,将许多VSAM数据集的信息分散存放,可缩短编目记录的查找时间以提高作业效率。但是z/OS系统中编目结构只有两级,所以在一个用户编目下不能再建立用户编目。,IDCAMS,访问方法服务(简称AMS)是操作系统提供的实用程序,主要用来管理和维护VSAM数据集,同时AMS也可以对非VSAM数据集进行操作。,集成编目访问方法服务(简称IDCAMS)是VSAM AMS实用程序的名称。,AMS,命令功能,IDCAMS为程序开发人员和系统程序员提供了方便的使用方法,它的主要功能如下,(1)定义主编目和用户编目;,(2)定义VSAM数据集;,(3)显示VSAM数据集的记录;,(4)对VSAM数据集执行备份操作;,(5)显示编目中的记录;,(6)删除数据集等。,AMS,命令格式,AMS,功能,(1)DEFINE:用来定义编目,数据集,次索引数据集和路径等。,(2)DELETE:用来删除DEFINE命令所建的编目,数据集,次索引数据集和路径。,(3)ALTER:更改编目中有关数据集属性的记录或原先所设定的参数。,(4)BLDINDEX:用来建次索引数据集。,(5)LISTCAT:显示编目中的信息。,(6)PRINT:显示VSAM数据集的记录。,(7)REPRO:复制数据集记录;产生编目的备用数据集;将顺序数据集转换成VSAM数据集;或者将VSAM数据集转换成顺序数据集;将记录写入VSAM数据集和重组VSAM数据集的组织。,(8)EXPORT:将VSAM数据集或者编目中的记录进行导出操作。,(9)IMPORT:将利用EXPORT命令所产生的记录导入VSAM数据集。,DEFINE 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 | LINEAR, 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,实现对数据集的操作。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!