볼륨 목록

IBM 메인프레임 기억 구조에서 볼륨 목록(, VTOC)은 특정 디스크 볼륨에 상주한 데이터셋을 위치시키는 방법을 제공하는 데이터 구조이다. 볼륨 상의 첫 64K 트랙 안에 상주할 수 있으며 크기, 위치, 권한뿐 아니라 볼륨에 설정된 각 데이터의 이름을 나열한다. 게다가 볼륨 상의 인접한 여유 공간의 영역마다 엔트리를 포함하고 있다. DASD(디스크 팩)의 볼륨 상의 첫 실린더의 첫 트랙에 위치한 세 번째 레코드는 볼륨 레이블이며, VTOC의 위치 포인터를 포함해야 한다. VTOC는 ICKDSF라는 디스크 지원 기능 유틸리티 프로그램을 이용하여 초기화할 때 디스크에 추가된다. VTOC는 본래 이동식 디스크팩에 사용하도록 설계되었다.

데이터 셋을 위치시키기 위해 프로그램은 일반적으로 z/OS 카탈로그의 정보를 얻어 데이터셋이 상주한 볼륨을 찾는다. 올바른 볼륨을 찾으면 VTOC는 디스크 상의 어디에 데이터셋이 저장되어 있는지 찾아내기 위해 검색된다.

DSCB 종류 
VTOC는 데이터셋 제어 블록(Data Set Control Block), 즉 DSCB라는 이름의 레코드들을 이루고 있으며, 10 가지 종류가 있다.

VTOC 안의 첫 DSCB는 VTOC 그 자체와 이 VTOC가 상주하는 디스크 볼륨의 특성을 기술하는 포맷 4 DSCB이다. 두 번째 DSCB는 VTOC 내의 여유 공간을 기술하는 포맷 5 DSCB이다. 일반적으로 VTOC의 나머지 부분은 포맷은 빈 엔트리를 뜻하는 포맷 0 DSCB를 여럿 포함하고, 데이터셋의 익스텐트를 기술하는 포맷 1이나 포맷 3 DSCB DSCB도 여럿 포함하고 있으며, 디스크 상에 최대 16개의 "익스텐트"의 시작 주소와 끝 주소를 제공한다. 데이터셋의 이니셜 부분은 포맷 1 DSCB를 통해 기술된다. 필요하면 포맷 3 DSCB는 데이터셋의 차후 익스텐트를 기술하는데 사용된다. 데이터셋이 삭제되면 삭제된 데이터셋의 포맷 1 DSCB는 포맷 0 DSCB가 되면서 덮어쓰이며 포맷 3 DSCB의 경우 존재한다면 비슷하게 삭제된다.

원래 VTOC 검색은 DSCB의 연속적인 스캔을 담당하며, 포맷 1 DSCB가 발견되거나 VTOC의 끝에 도달하면 중단되었다. 디스크 볼륨이 커짐에 따라 VTOC 검색은 병목 현상을 일으키게 되었고 이에 따라 VTOC 색인이 추가되었다.

참고 문헌 
  z/OS DFSMS: Using Data Sets
  z/OS: DFSMSdfp Advanced Services

IBM 메인프레임 운영 체제
파일 시스템 관리