The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          A KSDS file stores logical records of a file in fixed length blocks called Control Intervals(CI). In a KSDS Data file, a Control Interval holds several logical records. The logical records within each control-interval are always kept sorted by key-field. 

          A KSDS File could have thousands of Control Intervals.
          In a Control Interval, records can be of any size or length. We do not distinguish in particular between fixed-length and variable-length records. However, as a rule, all Control Intervals in KSDS file are exactly equal in size(length).

          When a new KSDS file is created, you must specify the size of the Control Intervals in the file. By default, the
          Control Intervals(CI) in a KSDS File assume a size= 4k(4096) bytes. However, the size of Control Intervals in KSDS Files can lie in the range of 512 bytes <= Control Intervals Size <= 32k

          When you create a new KSDS File, the control intervals in it are empty. As you load data into the KSDS file, the Control Intervals are populated with information.

          What follows from hereon, shall give you a picture of how Control Intervals look like in Memory.

          Control Interval (Very idealistic – Simplified) 
          Assume that, Control Intervals are 4096 bytes long. A logical record(Employee record) spans 1024 bytes. Then,

          No. of records per CI = 4096/1024 = 4 records/CI

          Thus, in this example, the Control Interval is completely full(no room for new records).

           

          Control Interval often contains some empty/free space(Close to real model) :
          Assume that, Control Intervals are 4096 bytes long. The first logical record = 1000 bytes, the second logical record = 1500 bytes, the third logical record= 1,300 bytes.

          Logical Record 1 + Logical Record 2 + Logical Record 3
          = 1000 + 500 + 1300 = 2800 bytes.

          Thus, the remaining space = 4096 – 2800 = 1,296 bytes is left free. This free-space can be used to accommodate a new logical record. Thus, Control Intervals may also have free-space.

          New logical records can be added to a Control Interval, by using the free-space in the Control Interval(CI).


          Image153[1]
          VSAM Control Interval

          Image152[1]
          Control Interval showing addition of record with key 30

          Let's look at the recipe followed by VSAM, to add a new logical record to a KSDS File.

          1. VSAM goes through a full-index search to locate the Control Interval(CI) in the KSDS Data file, in which the new record must be placed.
          (This search is exactly the same as that used to randomly retrieve a record).
          2. After the index search locates the Control Interval(CI), that Control Interval(CI) is loaded into memory. VSAM then searches through the logical records in the Control Interval to determine, where the new record should go.(Recall, that a KSDS file stores all data records in increasing order of the key).
          3. The new record is then inserted into the Control Interval(CI), in key sequence, re-arranging the other records, as necessary.
          4. The updated Control Interval(CI) is now written back to its original location on the Disk.

          Control Interval also contains extra Information(Real Model)

          VSAM treats all the logical records, as if they were variable-length(even if, they are fixed-length). VSAM keeps track of the length of Logical records in a Control Interval, by using special Record-definition Field(RDF), at the end of each Control Interval. This special field that holds the length information for each logical record is 3 bytes long.

          Moreover, VSAM also keeps track of the amount of the free-space and its location, within a Control Interval. This meta-information is stored in a special Control Interval-definition Field(CIDF), at the end of each Control Interval. This special field that holds [amount,location] of the free-space for a Control Interval is 4 bytes long.

           


          Control Area(CA) :
          A Control Area(CA) is a group of related Control Intervals. 

          KSDS Files are organised as Control Areas(CA) which in turn contain hundred’s of fixed-length Control Intervals(CI) filled with logical records, free-space and Control information.

          posted on 2011-12-21 15:22 Eric_jiang 閱讀(235) 評論(0)  編輯  收藏 所屬分類: Mainframe
          主站蜘蛛池模板: 浦县| 佛教| 鸡东县| 古交市| 恩平市| 彩票| 北流市| 永清县| 龙游县| 玉田县| 天水市| 突泉县| 西峡县| 德格县| 新沂市| 库尔勒市| 随州市| 平陆县| 布拖县| 剑河县| 沧州市| 桦川县| 客服| 泽州县| 抚顺县| 台中市| 宁晋县| 河曲县| 神木县| 固原市| 沾益县| 剑河县| 定远县| 桦川县| 同江市| 萨迦县| 浦城县| 崇信县| 岳阳市| 宝清县| 隆德县|