Bloc de contrôle des données - Data Control Block
Dans les systèmes d' exploitation mainframe IBM , tels que OS / 360 , MVS , z / OS , un bloc de contrôle de données ( DCB ) est une description d'un ensemble de données dans un programme. Un DCB est codé dans les programmes Assembler à l'aide de l'instruction de macro DCB (qui se développe en un grand nombre d'instructions "définir une constante"). Les programmeurs de langage de haut niveau utilisent des routines de bibliothèque contenant des DCB.
Un 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 avec une structure prédéfinie, très similaire à un C struct, mais généralement uniquement liée aux fonctions du système. Un DCB peut être comparé à une structure FILE en C, mais il est beaucoup plus complexe, offrant beaucoup plus d'options pour diverses méthodes d'accès .
Le bloc de contrôle faisait office d' interface de programmation d'application entre l' IOCS logique et le programme d'application et était généralement défini dans (et résidait dans) le programme d'application lui-même. Les adresses des sous-programmes d'E / S seraient résolues lors d'une phase d' édition de lien après compilation ou bien insérées dynamiquement au moment d'OPEN.
Le bloc de contrôle équivalent pour les systèmes d'exploitation IBM DOS / 360 , DOS / VSE et z / VSE est un "DTF" (Définir le fichier) [1]
Contenu typique d'un DCB
- nom de fichier symbolique (pour correspondre à une instruction JCL pour ouvrir le fichier)
- type d'accès (par exemple aléatoire, séquentiel, indexé)
- caractéristiques physiques ( taille de bloc , longueur d'enregistrement logique )
- nombre de tampons d' E / S à allouer pour le traitement afin de permettre le chevauchement des E / S
- adresse des sous-programmes de la bibliothèque du système d'exploitation d' E / S (par exemple lecture / écriture)
- autres variables requises par les sous-programmes selon le type
DCB prototypes
De nombreuses constantes et variables contenues dans un DCB peuvent être laissées vides (c'est-à-dire qu'elles sont par défaut à zéro).
Le processus OPEN entraîne une fusion des constantes et des variables spécifiées dans l'instruction DD JCL et de l'étiquette de l'ensemble de données pour la bande magnétique existante et les ensembles de données à accès direct, dans le DCB, en remplaçant les valeurs nulles par des valeurs réelles non nulles.
Un bloc de contrôle appelé JFCB (Job File Control Block) 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 pendant le processus CLOSE, rendant ainsi la définition de l'ensemble de données permanente.
Un exemple est la variable BLKSIZE =, qui peut être (et est généralement) spécifiée dans le DCB comme zéro. Dans l'instruction DD, BLKSIZE est spécifié comme une valeur différente de zéro et cela entraîne alors un LRECL spécifié par le programme (longueur d'enregistrement logique) et un BLKSIZE spécifié par JCL (taille de bloc physique), avec la fusion des deux devenant la définition permanente de l'ensemble de données.
Voir également
- Data Set Control Block (DSCB), une partie de VTOC
| Cet article relatif au système d'exploitation est un stub . Vous pouvez aider Wikipedia en le développant . |
| Cet article relatif à l' ordinateur central est un bout . Vous pouvez aider Wikipedia en le développant . |