Un bloc de contrôle distribué (DCB) est l'un des nombreux blocs de contrôle utilisés dans ces systèmes d'exploitation. Un bloc de contrôle est une zone de données dotée d'une structure prédéfinie, très similaire à un fichier Cstruct , mais généralement liée uniquement aux fonctions système. Un DCB peut être comparé à une structure FILE en C, mais il est beaucoup plus complexe et offre bien plus d'options pour les méthodes d'accès .
Le bloc de contrôle servait d' interface de programmation entre les E/S logiques et le programme d'application ; il était généralement défini et intégré à ce dernier. Les adresses des sous-routines d'E/S étaient résolues lors de la phase d'édition de liens après la compilation, ou insérées dynamiquement à l'ouverture du programme.
Le bloc de contrôle équivalent pour les systèmes d'exploitation IBM DOS/360 , DOS/VSE et z/VSE est un « DTF » (Define the file).
JCL pour l'ouverture du fichier)Prototypes DCB
De nombreuses constantes et variables contenues dans un DCB peuvent être laissées vides (leur valeur par défaut est zéro).
Le processus OPEN fusionne les constantes et les variables spécifiées dans l'instruction DD JCL , ainsi que l'étiquette du jeu de données pour les jeux de données existants sur bande magnétique et à accès direct, dans le DCB, en remplaçant les valeurs nulles par des valeurs non nulles.
Un bloc de contrôle appelé bloc de contrôle de fichier de travail (JFCB) contient initialement les informations extraites de l'instruction DD pour l'ensemble de données. Les résultats de la fusion sont stockés dans le JFCB, qui peut également être écrit dans le DSCB lors du processus CLOSE, rendant ainsi la définition de l'ensemble de données permanente.
Prenons l'exemple de la variable BLKSIZE=, généralement initialisée à zéro dans le DCB. Dans l'instruction DD, BLKSIZE est définie par une valeur non nulle, ce qui génère une longueur d'enregistrement logique (LRECL) spécifiée par le programme et une taille de bloc physique (BLKSIZE) spécifiée par le JCL. La fusion de ces deux valeurs constitue la définition définitive du fichier de données.