Datenverwaltung, Ein-/Ausgabe
Total Page:16
File Type:pdf, Size:1020Kb
Datenverwaltung, Ein-/Ausgabe it-Akademie Bayern z/OS und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 3 Data Sets EA 0601 ww6 © copyright W. G. Spruth, 08-2004 wgs 10-02 Volume Ein “Volume” ist eine Standard Sekundärspeicher Einheit, beispielsweise ein Plattenspeicher oder ein Magnetband. Volume Ein “Volume” ist eine Standard Sekundärspeicher Einheit, beispielsweise ein Plattenspeicher oder ein Magnetband. Datei, File, Data Set Eine Ansammlung von logisch aufeinander in Bezug stehenden Daten wird als Datei bezeichnet. Die englischen Bezeichnungen sind file für Unix, Linux und Windows Dateien, sowie data set für konventionelle z/OS Dateien. Neben konventionellen z/OS Data Sets existiert das z/OS Unix System Services (USS) Hierarchical File System (HFS), welches in einem konventionellen z/OS Data Set abgespeichert wird. Names The z/OS disk and data set characteristics differ considerably from UNIX, Linux and Windows systems, and carry their own specialized terminology. The following terms are used to describe various aspects of storage management on System z and z/OS: • Direct Access Storage Device (DASD) is another name for a disk drive. • A disk drive is also known as a disk volume, a disk pack, or a Head-Disk-Assembly (HDA). Another term for physical volume. • A disk drive contains cylinders. • Cylinders contain tracks. • Tracks contain data records and are in most cases in the Count Data or Count Key Data (CKD) format. • Data blocks are the units of recording on disk. Es kann sich bei einer Datei um ein Quellprogramm, eine Makrobibliothek, ein ausführbares Programm, eine lineare Folge von Bits oder um eine Gruppierung von Datensätzen (data records) handeln, die von einem Programm verarbeitet werden. E/A Puffer im Hauptspeicher Bei einem READ Zugriff auf den Plattenspeicher wird eine Gruppe von Bytes aus einer Datei in den Hauptspeicher gelesen. 0 1 n Unix, Linux oder Windows z/OS Im Unterschied zu Unix, Linux oder Windows Files (aber auch dem USS File System) bestehen z/OS Data Sets aus Records. Ein Record (Datensatz) ist eine Gruppe von Bytes und die die fundamentale Dateneinheit, mit der ein Programm arbeitet. Bei einem Lesezugriff auf einen z/OS Data Set READ (Anton, ID ) wird aus der Datei mit dem Namen Anton ein Record mit der Bezeichnung ID in einen Puffer im Hauptspeicher gelesen In einem gegebenen Data Set haben die Records (Datensätze) entweder alle eine unterschiedliche Länge, oder aber alle die gleiche Länge. Anfang der Datei „Anton“ +++++++++++++++++ ////////////////////////////////////// xxxxxxxxxxxxxxxxx Offset Länge 0 1 n j i Eine Unix, Linux oder Windows File besteht aus einer linearen Folge von Bytes mit den Adressen 0 .. n. Bei einem Lesezugriff READ (Anton, i, j ) wird aus der Datei mit dem Namen Anton eine Gruppe von j aufeinanderfolgenden Bytes in einen Puffer im Hauptspeicher gelesen, beginnend mit Byte i . i stellt einen Zeiger in die Datei dar und wird vom Anwendungsprogramm verwaltet. Unix Datei Zugriff Dateien sind in UNIX Dateien strukturlose Zeichenketten (Byte Streams). Deshalb muss ein Unix Anwendungsprogramm den Offset zu den Daten und die Länge definieren, auf die zugegriffen werden soll. Da im UNIX Dateien Byte Streams sind, muss eine Anwendung den Offset zu den Daten und die Länge definieren, auf die zugegriffen werden soll. Bei dem Record-orientierten Zugriff unter z/OS definiert die Anwendung die Nummer des Records, auf den zugegriffen werden soll. Standard-Zugriffsmethoden für die Ein- und Ausgabe sind in das UNIX-System eingebaut und werden von der UNIX-Programmiersprache C/C++ unterstützt. Einige Anwendungen verwenden außerdem noch direkte (raw) Zugriffe auf Dateien. Dies wird in erster Linie von Datenbankanwendungen verwendet. Unter einem Betriebssystem sind unterschiedliche File Systems möglich. Beispiele: Windows • NTFS • FAT32 Linux • ext2fs • ext3fs • ReiserFS z/OS • PDSE • VSAM • HFS Unterschiedliche High Level Formattierung für die einzelnen File Systems. Unter Linux kann eine NTFS Datei gelesen, aber nicht geschrieben werden (Stand 2007). z/OS benötigt eine unterschiedliche High Level Formattierung für die unterschiedlichen Arten von Data Sets. Data Sets konventionell VSAM Partitioned HFS non-VSAM BSAM entry seq. PDS QSAM key seq. PDSE ISAM relative rec. BDAM linear z/OS basic Unix System Services Arten von z/OS Data Sets OS/390 kannte non-VSAM und PDS. VSAM und PDSE kamen später hinzu. Die Einführung von Unix System Services erfordete HFS. Arten von Data Sets sequentiell (SEQUENTIAL) Die Sätze in der Datei sind fortlaufend organisiert. Der Zugriff auf die Datei erfolgt sequentiell in der Reihenfolge wie die Sätze gespeichert sind. indiziert (INDEXED) Die Sätze in der Datei sind mit einem beliebigen Schlüssel gespeichert. Durch eine zusätzlich gespeicherte Indextabelle ist ein direkter Zugriff über diesen Schlüssel möglich. relativ (RELATIVE) - wahlfrei (RANDOM) Die Sätze in der Datei sind fortlaufend nummeriert. Der Zugriff auf die Datei erfolgt direkt über Satznummer. Partitioned Sequentiell: Datensätze werden in der Reihenfolge der Ankunft geschrieben. Datensätze können am Anfang oder am Ende der Datei beginnend verarbeitet werden. Um auf den 5. Datensatz zuzugreifen muss das System die 4 vorhergehenden Datensätze lesen Datensätze können am Ende der Datei hinzugefügt werden. Sie können jedoch nicht zwischen zwei vorhandenen Datensätzen eingefügt werden. Sequentielle Data Sets können auf DASD oder Magnetband gespeichert werden. Sie sind eine Voraussetzung für die Speicherung auf Magnetband oder eine Drucker-Ausgabe, Partitioned (Untergliedert): Eine Gruppe von Datensätzen, sogenannte Member, werden in sequentieller Reihenfolge geschrieben. Jedem Member wird ein Name in einem Verzeichnis (Directory) zugeordnet, welches Teil des Data Sets ist. Jeder Verzeichniseintrag enthält den Namen des Members und seine Anfangsadresse innerhalb des Data Sets. Die Verzeichniseinträge sind alphabetisch geordnet gilt die aufsteigende Reihenfolge (alphanumeric collating sequence); die einzelnen Member können jedoch in jeder beliebigen Reihenfolge gespeichert sein. Eine untergliederte Datei muß sich auf einem DASD befinden, und wird im allgemeinen als Bibliothek bezeichnet. Die folgenden Dateiformen verwenden die untergliederte Organisation: • PDS • PDSE • HFS Partitioned data set extended: In appearance, a Partitioned Data Set Extended (PDSE) is very similar to a partitioned data set. For accessing a partitioned data set directory or member, most PDSE interfaces are indistinguishable from PDS data set interfaces. However, PDSEs have a different internal format, which gives them increased usability. The main advantage of using a PDSE over a PDS is that PDSEs use DASD space much more efficiently. The size of a PDS directory is fixed regardless of the number of members in it, while the size of a PDSE directory is flexible and expands to fit the members stored in it. Also, the system reclaims space automatically whenever a member is deleted or replaced, and returns it to the pool of space available for allocation to other members of the same PDSE. The space can be reused without having to reorganize the data set. Direkt: Datensätze werden in der Reihenfolge in den Datenbestand geschrieben, die das Programm vorgibt. Direkt organisierte Dateien können sich nur auf DASD befinden. Indexsequentiell: Nach dem Laden, befinden sich die Datensätze in Reihenfolge. Verschiedene Indexsätze werden durch die Organisation automatisch erstellt und verwaltet. Diese Organisation wird aufgrund der geringen Leistung nicht mehr empfohlen. Als Alternative wird VSAM empfohlen. VSAM: VSAM (Virtual Storage Access Method) Dateien können über ein Dienstprogramm, IDCAMS, erstellt werden. Wenn SMS aktiv ist, können VSAM Dateien auch mittels JCL erstellt werden. VSAM- Dateien müssen sich auf DASD befinden und können auf vier verschiedene Arten organisiert sein: • ESDS - Ähnlich einer sequentiellen Datei • KSDS - Ähnlich einer indexsequentiellen Datei • RRDS - Ähnlich einer direkt organisierten Datei • LDS - Eine ESDS ohne jegliche Steuerinformationen Type AM JCL-Parameter Description sequential BSAM, QSAM DSORG=PS, Consecutive series of logical records, no directory blocks originally a pile of punched cards in SPACE= partitioned BPAM DSORG=PO, Dataset space consists of two areas: directory blocks - Directory space with TTRs to members. in SPACE= - Member space to hold the data. Program Libraries partitioned Dataset space is formatted into 4K data extended DFSMS DSNTYPE=LIBRARY blocks which can hold directory or member data PDSE HFS DFSMS DSNTYPE=HFS Special dataset type to hold UNIX System PATH=’/usr/lpp/tcpip’ Services file systems Related to PDSEs direct BDAM DSORG=DA Historic way to organize random access to data usinga disk drive’s actuator echanism VTOC keyed VSAM RECORG=KS Data is organized in control areas and control interval which are mapped into virtual storage. Random access is carried out by storage address calculation. Database DL/I N/A A great variety of database formats has IMS DB developed over the years. DB2 Nowadays, relational database managers Oracle dominate this area. Dateiarten, Access Methods Partitioned Data Set Boot Block Block Block Block Block Group1 Group 2 Group 3 Group n Super FS Inode Datenblöcke Block Descriptor Liste Linux ext2fs File System Format Das Linux ext2fs File System besteht aus einer Folge von Datenblöcken, z.B. je 1 KByte groß. Der Boot Block (Boot Sector) beginnt auf Oberfläche 0, Spur 0, Sektor 1, gefolgt von einer Liste von Block Groups. Jede Block Group enthält