데이터 제어 블록

OS/360, MVS, z/OS와 같은 IBM 메인프레임 운영 체제에서 데이터 제어 블록(Data Control Block, DCB)은 프로그램의 데이터 세트에 대한 서술이다. DCB는 수많은 "define constant" 함수로 확장하는 DCB 매크로 함수를 사용하는 어셈블러 프로그램들 안에 코딩되어 있다.

DCB는 이러한 운영 체제의 수많은 제어 블록들 가운데 하나이다. 제어 블록은 C의 struct와 같은, 미리 정의된 구조를 갖춘 데이터 영역이지만, 시스템 함수에만 관련되어 있다. DCB는 C의 FILE 구조에 비교될 수 있지만 실제로는 다양한 접근 방식을 위한 더 많은 수많은 옵션들을 제공할 만큼 훨씬 더 복잡하다.

제어 블록은 논리 IOCS와 응용 프로그램 간의 API 역할을 하였으며 보통 응용 프로그램 자체 내부에 정의되었다. 입출력 함수의 주소는 컴파일 후 linkedit 단계 동안 분석되거나 OPEN 시간 동안 동적으로 삽입된다.

IBM DOS/360, DOS/VSE, z/VSE 운영 체제에서 이와 동등한 제어 블록은 "DTF"(Define the file)이라 부른다.

DCB에 일반적으로 포함되는 내용 
 심볼릭 파일 이름 (파일을 여는 목적으로 JCL 문과 일치시키기 위해)
 액세스 유형 (예: 임의, 순차, 색인)
 물리적 특성 (블록 크기, 논리 레코드 길이)
 입출력 오버랩 처리를 위해 할당되는 입출력 버퍼 수
 입출력 운영 체제 라이브러리 함수의 주소 (예: 읽기/쓰기)
 유형에 따라 함수가 요구하는 기타 변수들

같이 보기 
 데이터 세트 제어 블록(DSCB): VTOC의 일부

각주 

IBM 메인프레임 운영 체제