볼륨 목차
Volume Table of ContentsIBM System/360[note 1] 스토리지 아키텍처에서 볼륨 목차(VTOC)는 특정 DASD 볼륨에 있는 데이터 세트를 찾는 방법을 제공하는 데이터 구조입니다.Z의 Linux에서 IBM Z®[2] 호환 디스크[1][note 2] 레이아웃을 제외하고, MS/PC DOS 파일 할당 테이블(FAT), Windows NT MFT(Master File Table) 및 Linux 파일 [note 3]시스템의 동등한 구조와 동일한 기능을 합니다.VTOC는 IPLTEXT를[note 4] 포함하기 위해 사용되지 않으며 IPL 프로세스에서의 역할도 없습니다.따라서 MBR에 의해 사용되는 데이터나 기능적으로 동등한 데이터는 없습니다.볼륨에 있는 각 데이터 세트의 이름과 크기, 위치 및 사용 권한이 나열됩니다.또한 볼륨에서 사용 가능한 연속된 공간의 모든 영역에 대한 엔트리가 포함됩니다.DASD(디스크 등) 볼륨의 첫 번째 실린더 첫 번째 트랙에 있는 세 번째 레코드는 볼륨 라벨로 알려져 있으며 VTOC 위치에 대한 포인터를 포함해야 합니다.VTOC의 위치는 볼륨이 초기화될 때 지정될 수 있습니다.자주 참조되기 때문에 성능상의 이유로 가능한 볼륨 중앙에 배치할 수 있습니다.VTOC는 현재 시스템에서 디바이스 지원[note 5] 기능 프로그램인 ICKDSF를 사용하여 초기화할 때 DASD 볼륨에 추가됩니다.
OS/360에서 후속 제품이 데이터 세트를 할당하는 경우 일반적으로 카탈로그를 검색하여 해당 데이터 세트가 [note 6]상주하는 볼륨을 확인합니다.프로그램이 DASD(Direct Access Storage Device) 데이터 세트를 열면 OPEN 루틴은 VTOC 인덱스(VTOCX)가 있으면 검색하거나 VTOC가 없으면 VTOC를 직접 검색합니다.
데이터 세트 제어 블록 유형
VTOC는 Data Set Control[3][4] Blocks(DSCB; 데이터 세트컨트롤 블록)로 알려진 일련의 140바이트 레코드로 구성됩니다.DSCB에는 10가지 유형이 있습니다.
DSCB 형식 유형 | 목적 | 메모들 |
---|---|---|
0 | 빈 항목 | |
1 | 데이터 세트 프라이머리 | 데이터 세트의 처음 세 익스텐트(실린더 및 트랙 시작 및 끝)를 설명합니다. |
2 | ISAM 데이터 세트 | ISAM 데이터 세트에 대해 설명합니다. |
3 | 데이터 세트 확장 | 세 번째 이후의 데이터 세트 범위를 설명합니다. |
4 | VTOC | 볼륨 속성에 대해 설명합니다. |
5 | 빈 공간 | 비인덱스 볼륨에서 26개의 익스텐트 |
6개[3]: 191-192 | 공유 실린더 할당 | OS/360에서는 형식 6 DSCB가 공유 실린더 할당에 사용되므로 여러 개의 데이터셋을 실린더 범위에 걸쳐 인터리빙할 수 있습니다(예를 들어 각 실린더의 전반부는 데이터 세트 A에 할당되고 후반부는 데이터 세트 B에 할당됨).이는 두 개 이상의 데이터 세트가 동시에 사용될 것으로 예상되는 경우 헤드 이동을 줄이기 위한 성능 최적화로 의도되었습니다.현재 z/OS 릴리스에서는 공유 실린더 할당 형식 6 DSCB가 [4]더 이상 지원되지 않습니다. |
7 | 빈 공간 | 포맷 4 DSCB의 확장 |
8 | 데이터 세트 프라이머리 | 포맷[note 7] 1 DSCB의 EAV 버전 |
9 | 데이터 세트 확장 | 포맷 3 DSCB의 EAV 확장 |
VTOC는 볼륨의 첫 번째 64K 트랙 내에 있어야 합니다.VTOC의 첫 번째 DSCB는 항상 VTOC 자체와[note 8] 이 VTOC가 상주하는 DASD 볼륨의 속성을 설명하는 형식4 DSCB입니다두 번째 DSCB는 항상 포맷5 DSCB로 VTOC 내의 빈 공간을 나타냅니다.일반적으로 나머지 VTOC에는 빈 엔트리인 포맷0 DSCB와 포맷1 또는 포맷3 DSCB가 포함됩니다이 DSCB는 데이터 세트의 익스텐트를 기술하며 디스크 상에 최대 16개의 익스텐트의 시작 주소와 끝 주소를[note 9] 제공합니다.데이터 세트의 첫 번째 부분은 형식 1 DSCB로 설명됩니다.필요에 따라 포맷3 DSCB를 사용하여 데이터 세트의 추가 익스텐트를 기술합니다.데이터 세트가 삭제되면 포맷1 DSCB가 덮어쓰기되어 포맷0 DSCB가 되고 포맷3 DSCB도 마찬가지로 삭제됩니다.
원래 VTOC 검색은 DSCB의 시퀀셜스캔으로 올바른 포맷1 DSCB가 발견되거나 VTOC의 끝에 도달하면 중지됩니다.DASD 볼륨이 커짐에 따라 VTOC 검색이 병목현상이 되어 VTOC 인덱스가 추가되었습니다.
포맷 1 DSCB
이 VTOC 엔트리는 데이터 세트를 설명하고 처음 3개의 익스텐트를 정의합니다.이것은 1973년 [5]OS/360 Release 21.7에서 Y2K로 변경되기 전의 DSCB 형식입니다.
위치 | 길이 | 묘사 |
---|---|---|
0 | 44 | 데이터 세트 이름(좌측 조정 및 공간 부족) 이것은 DSCB 레코드 키입니다. |
44 | 1 | Format-1 DSCB(문자)의 형식 식별자 '1' |
45 | 6 | 이 데이터 집합의 첫 번째 DASD 볼륨의 볼륨 일련 번호(영숫자) |
51 | 2 | 다중 볼륨 데이터 세트에 대한 이 볼륨의 볼륨 시퀀스 번호(2진수) |
53 | 3 | 데이터셋 생성일(이진수)은 세기의 경우 1바이트, 요일의 경우 2바이트 |
56 | 3 | 데이터 집합 만료 날짜(작성 날짜와 형식 동일) 99365는 이 데이터 세트가 만료되지 않음을 나타냅니다. |
59 | 1 | 이 데이터 세트의 익스텐트 수(2진수) |
60 | 1 | 이 데이터 집합이 분할된 데이터 집합인 경우 마지막 디렉터리 블록에서 사용된 바이트 수입니다(2진수). |
61 | 1 | 사용되지 않음, IBM에 의해 예약된 것으로 나열됩니다. |
62 | 13 | 이 데이터 세트를 만든 운영 체제를 식별하는 코드입니다.(캐릭터) |
75 | 7 | 사용되지 않음, IBM에 의해 예약된 것으로 나열됩니다. |
82 | 2 | 데이터 집합 구성(시퀀셜, 인덱스 등)을 나타내는 코드(비트필드) |
84 | 1 | 이 데이터 세트의 레코드 형식(고정, 변수 등)(비트필드)을 나타내는 코드 |
85 | 1 | 옵션 코드, 데이터 집합 생성 시 지정된 기타 옵션(비트 필드) |
86 | 2 | 블록 크기(고정 크기 또는 가변 길이 레코드의 파일의 최대 크기)(2진수) |
88 | 2 | 레코드 길이(고정 크기 또는 가변 길이 레코드의 최대 길이)(2진수) |
90 | 1 | 이 파일에 기록된 레코드 키가 있는 경우 키 길이. (이진수) |
91 | 2 | 레코드에 0에 상대적인 키의 위치(있는 경우)입니다. |
93 | 1 | 데이터 집합이 암호로 보호되어 있음을 나타내는 표시 비트.(비트필드) |
94 | 4 | 데이터 집합 할당 매개 변수. 예를 들어 이 데이터 집합의 공간을 블록, 실린더 등으로 할당해야 함을 나타냅니다(비트필드). |
95 | 3 | 2차 할당 수량:추가 공간이 필요할 경우 할당하는 블록, 실린더 등의 수. (이진) 예를 들어 데이터 세트가 DD 카드 사양으로 생성된 경우 |
98 | 3 | 데이터 세트에 기록된 마지막 블록의 DASD 주소입니다. |
101 | 2 | 위에 표시된 마지막 블록 뒤에 마지막 트랙에 남아 있는 바이트 수입니다. (이진수) |
103 | 2 | 사용되지 않음, IBM에 의해 예약된 것으로 나열됩니다. |
105 | 10 | 첫 번째 또는 유일한 익스텐트에 대한 설명입니다. 익스텐트 유형(1바이트, 비트필드), 익스텐트 시퀀스 번호(1바이트, 바이너리), 익스텐트 시작 실린더 및 트랙(4바이트, 바이너리), 익스텐트 끝 실린더 및 트랙(4바이트, 이진). |
115 | 10 | 가능한 두 번째 익스텐트에 대한 설명으로 위와 같은 형식입니다. |
125 | 10 | 가능한 세 번째 익스텐트에 대한 설명으로 위와 같은 형식입니다. |
135 | 5 | 인덱스 데이터 세트인 경우 실린더/헤드/레코드 형식의 VTOC에서 포맷 2(인덱스) DSCB로의 포인터. 데이터 세트에 익스텐트가 3개 이상인 경우 포맷 3(확장) DSCB로의 포인터. |
「 」를 참조해 주세요.
메모들
- ^ 후계기 S/370 ~z/아키텍처 포함
- ^ IBM Z® 호환 미니디스크용 VTOC에는 각각 Linux 파일 시스템이 포함된 최대 3개의 데이터 세트가 포함된 VTOC가 있습니다.
- ^ VTOC는 스토리지 할당에 직접 이름을 연결하기만 하면 되지만 Linux 파일 시스템은 inode를 통해 간접적으로 연결됩니다.
- ^ 그러나 실린더 0 트랙0 위의 IPL 텍스트는 VTOC를 읽고 사용합니다.
- ^ DSF는 원래의 IBCDASD 및 IEHDASDR을 대체합니다.IBM은 이 IBCDASD를 더 이상 배포하지 않고 현재 하드웨어에서 실행할 수 없습니다.
- ^ 작업이 카탈로그를 바이패스하고 동적 할당 또는 JCL 매개 변수를 통해 볼륨을 지정할 수 있습니다.
- ^ 65,520개 이상의 실린더가 있는 볼륨인 확장 주소 볼륨.
- ^ VTOC는 실제로 데이터 세트이기 때문에 데이터 세트 이름을 가지고 있습니다.VTOC의 데이터 세트 이름은 (44) X'04' 문자이며, 이후 OS에서는 보호 이름이 되었습니다.프로그램은 허가 없이 데이터 세트에 쓸 수 없습니다.
- ^ 각 익스텐트는 디스크의 시작 부분(CCH=x'00000000')에 대해 시작 CCHH 및 종료 CCH로 기술됩니다.
레퍼런스
- ^ "IBM Z® compatible disk layout". IBM Knowledge Center.
- ^ "Linux on Z and LinuxONE". IBM Knowledge Center.
- ^ a b "Data Set Control Blocks" (PDF). IBM System/360 Operating System: System Control Blocks (PDF). Systems Reference Library (Tenth ed.). IBM Corporation. April 1973. pp. 165–173. GC28-6628-9.
- ^ a b "Data Set Control Block (DSCB) Types" (PDF). z/OS Version 2 Release 4 DFSMSdfp Advanced Service (PDF). IBM Corporation. 2020-12-13. pp. 2–17. SC23-6861-40.
- ^ IBM Corporation (April 1973). IBM System/360 Operating System: System Control Blocks (PDF). pp. 170–173. Retrieved 2016-08-01.