Dienstag, 8. Februar 2022

IBM System/360 Operating System Introduction - Teil 3

Teil 3: Die allgemeine Organisation und Funktion of OS/360

OS/360 ist unterteilt in den Supervisor-State (vergleichbar mit dem Kernel-Mode / Ring 0) und den Problem-State (User-Mode / Ring 1-3).
Supervisor-State Programme werden von einem Interrupt getriggert. Dieser von von der Hardware des Systems oder durch einen Software Interrupt (Service-Call / SVC) erzeugt werden. Die Programmiersprachen Assembler, FORTRAN, COBOL, PL/I, ALGOL und Report-Program-Generator (RPG). sind integraler Bestandteil von OS/360. Der Makro-Assembler ist die mit der Hardware am nähesten verbundene Programmiersprache. OS/360 stellt eine Reihe von Makros zur verfügung um auf die Funktionen des Betriebssystems zuzugreifen. Die Hilfsprogramme Sort, Merge, Linkage-Editor und Loader sind ebenfalls integraler Bestandteil des Betriebssystems und dienen dem Laden von verschiedenen Programmteilen in den Arbeitsspeicher und der anschließenden Aufbereitung der Daten für die Ausgabe.

In der Initialen Version von OS/360 (Die Version die IBM an ihre Kunden ausliefert, damit diese sich auf deren Basis ein eigenes OS/360 System übersetzen können) wird diese Version PCP (Primäres Kontroll Programm) genannt. In dieser Single-User Version des Betriebssystems kann nur ein Task auf dem System gestartet werden. Der Kunde hat nun die Möglichkeit sich eine System zu bauen das eine feste Anzahl von Tasks (Multiprogramming with a Fixed number of Tasks / MFT) gestattet, oder eine unbestimmte Anzahl von Tasks (Multiprogramming with a Variable number of Tasks / MVT).

IBM System/360 Operating System Introduction - Teil 2

Teil 2: Operating System/360

IBM verfolgt mit dem System 360 den Ansatz "Ein Computer System für alle Wirtschafts- und Forschungsbereiche". Das System wird durch Modularisierung an den Kundenbedarf angepasst, und kann anschießend, fortlaufend an die Veränderungen der Kundenaufgaben angepasst werden. Einscheidend hierbei ist, dass die Software auf allen Systemen der Modellreihe zu laufen gebracht werden kann, und nicht ständig auf neue Systeme portiert werden muss.

                            IBM S/360 MODELS

#    Core Size  25  30  40  50  65  75  85  91-95   44  67  20
B        4K......X...........................................X.
C        8K......X...X.......................................X.
D       16K......X...X...X...................................X.
E       32K......X...X...X...........................X.........
F       64K..........X...X...X.......................X.........
G      128K..............X...X...X...................X.........
H      256K..............X...X...X...X...............X..X......
I      512K..................X...X...X...X..............X......
J     1024K..................X...X...X...X.....X........X......
K     2048K..............................X.....X........X......
L     4096K..............................X.....X...............
2361  1024K..................X...X...X.........................
2361  2048K..................X...X...X.........................
CD      24K....................................................
DE      48K....................................................

(Quelle)

Wie man an der Tabelle erkennen kann, war die Größe des Arbeitsspeichers ein bedeutender Faktor welches System man einsetzen wollte. Das Betriebssystem musste darum optimal auf die zur verfügung stehende Hardware angepasst werden, um den raren Arbeitsspeicher nicht zu vergäuden. OS/360 wurde darum von IBM in Modulen ausgeliefert und der Kunde konnte sich sein persönliches, auf seine Anforderungen angepasstes Betriebssystem selbst zusammen bauen.

Montag, 7. Februar 2022

IBM System/360 Operating System Introduction - Teil 1

IBM System/360 Model 65 

Teil 1: Betriebssysteme
 
Ein IBM Systeem/360 Model 65 besteht aus dem Zentral-Prozessor, dem Kern-Speicher, verschiedensten Eingabe und Ausgabegeräten wie Lochkarten-Lesern und Stanzern, Magnetband-Laufwerken, Festplatten-Laufwerken, Druckern und Terminals. Diese Ein/Ausgabe-Geräte sind über Kanäle (Channel) mit dem Zentral-Prozessor verbunden. Diese Kanal-Kontroller bereiten die Daten für den Zentrol-Prozessor auf, so das dieser sich nur um die Verarbeitung der Daten kümmern muss. Aufgabe des Betriebssystems ist es die Prozessor-Auslastung zu erhöhen indem die Wartezeit auf neue Daten verringert wird. Der Mainframe kostet Geld auch wenn er nichts zu berechnen hat. Durch den Anschluß von vielen Terminals, wird vielen Anwendern, Programmierern und Systemverwaltern die Möglichkeit gegeben den Zentralcomputer parallel zu nutzen. Das Betriebssystem sorgt dafür, das jedem ein Teil der Rechenleistung bzw. Peripheriegeräte zur Verfügung gestellt werden, ohne das sich die Prozesse gegenseitig stören. Hierbei können Hilfsprogramme und Subroutinen des Betriebssystems allen zur Verfügung gestellt werden. Zu diesen Programmen gehören Compiler für die diversen Programmiersprachen (ALGOL, COBOL, PL/I, ASSEMBLER, FORTRAN, BASIC usw.), Debugger, Sortier- und Formatier- Funktionen als auch Editoren.
 
Ein Anwender kann den Zentral-Computer entweder interaktiv über die System-Konsole benutzen, oder verwendet eines der Terminals. Stehen keine Terminals zur verfügung, kann er sein Programm, daß vom Computer ausgeführt werden soll, in Form eines Stapels von Lochkarten beim System-Verwalter abgeben. Die Aufgabe des Systemverwalters ist es dann, die Lochkarten über ein Lese-Gerät einzulesen und das darauf angebene Programm zu starten. Abhängig von der Vorgabe des Programms ist es dann evtl. noch erforderlich, dass bestimmte Datensätze in Form von Magnet-Bändern oder Datensätze auf Festplatte eingelesen werden müssen. D.h. der Operator muss diese Medien aus dem Lager holen und in die entsprechenden Laufwerke einlegen. All dies kostet Zeit, in dem der Computer nicht optimal ausgelastet ist. Um den Ablauf zu optimieren, wurde eine Job-Kontroll-Sprache (JCL) entwickelt. JCL versucht den Programm-Ablauf zu automatisieren, damit der Operator so effizient arbeiten kann wie möglich. Bei großen Zentral-Computern mit vielen hundert Anwendern wird darum der Stapel Lochkarten von einem kleinen Hilfscomputer (IBM 1130) eingelesen und vorverarbeitet. Die Daten der Lochkarten wird auf Magnetband gespeichert. Diese Magnetband wird dann am Zentralcomputer eingelesen und verarbeitet, da der Datentransfer über Magnetband viel schneller erfolgt als über ein Lochkartenlesegerät. Das Ergebnis der Programm-Durchlaufs wird dann ebenfall auf Magnetband abgescheichert und kann dann von einem weiteren Hilfcomputer (IBM 1130) ausgelesen und ausgedruckt werden.

[Eine Maschine verändert die Welt - Teil 3] Timecode: 2:21 - 3:35