Zugriffsroutinen in Plattensteuerheiten (Disk Controller) verlagert:

Größtmögliche Unordnung auf Randomspeicher

16.04.1982

Am Beispiel von CP/M wird deutlich, daß innerhalb der Betriebssysteme ein bemerkenswertes Ungleichgewicht herrscht: Während Peripheriegeräte wie Drucker, Bildschirm, Magnetband etc. mit der einfachen Ein-/ Ausgabe einer Zeichenfolge (eines "string") bedient werden, läuft beim Ansprechen von Einheiten mit wahlfreiem Zugriff (Random Access Units) wie Diskette oder Magnetplatte eine komplexe Mimik innerhalb der aufrufenden CPU ab. Das heißt: Die Zentraleinheit muß im Grunde Dinge erledigen, die peripheriespezifisch sind.

Dies rührt daher, daß die derzeitigen Random-Access-Einheiten nur physikalische Adressen (Zylinder, Spur, Sektor) "verstehen", während diese Adresse doch erst durch Daten gefunden werden kann, welche ihrerseits auf festen, Adressen innerhalb einer solchen Einheit gespeichert ist. Es stellt sich also die Frage, ob nicht auch bei diesen Einheiten eine einfachere Kommunikation machbar ist, welche der Einheit nur den logischen Inhalt zur Verfügung stellt, während die physikalische (Adreß-)Verwaltung "vor Ort" innerhalb der Einheit selbst vorgenommen werden kann.

Diese Aufgabenstellung kann durchaus im Rahmen der derzeitigen Systemarchitekturen erledigt werden, da in jeder Random-Access-Einheit bereits heute eine selbständige Steuereinheit enthalten ist, welche unter der Bezeichnung "Disk Controller" zum Beispiel die parallele Pozitionierung der Zugriffsarme der angeschlossenen (bis zu vier) Disketten- oder Plattenstationen steuert. Diese interruptgesteuerte Verarbeitung gilt es zu erweitern und die Organisation des Datenträgers so abzustimmen, daß jeder einzelne Aufruf für sich und ohne Beziehung zu möglichen Vorgängern abgewickelt werden kann.

Die Randeinheit hat somit die Aufgabe, aus dem ankommenden logischen Ordnungsbegriff (etwa Dateiname/Key) die physikalische Adresse zu ermitteln und den zugehörigen Lese-/Schreibvorgang zu steuern. Dabei ist zu unterscheiden zwischen dem reinen wahlfreien Zugriff und einer Eltern-Kind-Beziehung (parentchild relation), welche das Grundelement jeder Datenbank darstellt. Zu bemerken ist dabei, daß sich zum Beispiel die serielle Datenspeicherung durch Einführung der Satznummer als Ordnungsbegriff auf den Random Access zurückführen läßt und die indexsequentielle Speicherung als spezielle Parent-Child-Beziehung betrachtet werden kann.

Diese Bedingungen, insbesondere die Forderung, daß jeder Aufruf für sich und ohne Beziehung zu Vorgängern abzuwickeln ist, führen dazu, daß die Datenorganisation zu jedem Zeitpunkt stabil, das heißt reorganisationsfrei sein muß. Moderne Hash-Code-Verfahren (Kontrollcode-Verfahren), welche vom Prinzip der größtmöglichen Unordnung auf dem größtmöglichen Speicher ausgehen, sind also einzusetzen. Die Behandlung von Doppelbelegungen, also die Überlaufbearbeitung, welche ab etwa 50 Prozent effektiver Belegungsdichte aktuell wird, erfordert dabei besondere Vorkehrungen zur Vermeidung größerer Positionierzeiten oder bei der lokalen Suche nach dem nächsten freien Platz. Das Inhaltsverzeichnis einer Spur (Directory) kann dabei hilfreich sein, wobei "Directories" so versetzt angeordnet sein können, daß innerhalb einer Umdrehungszeit mehrere benachbarte Inhaltsverzeichnisse abgesucht werden können.

Der Hauptspeicher wird entlastet

Nach wie vor muß eine solche Random-Access-Einheit in der Lage sein, (auch) I/O-Kommandos mit physikalischen Adressen zu bedienen; denn neben den üblichen systembedingten beziehungsweise Back-up-Funktionen bringt es die Stabilität der Organisation mit sich, daß die Anwenderdaten echte Verweisadressen enthalten können, welche ohne logische Umformung ausführbar sind.

Während vorstehend die sich bei einer Verlagerung der Zugriffsroutinen in die Plattensteuereinheit (Disk Controller) ergebenden Probleme stichpunktartig besprochen wurden, bleiben die übrigen Funktionen, wie zum Beispiel Zugriffsschutz oder Fehlerprüfung, von diesen Überlegungen weitgehend unberührt.

Die Vorteile eines solchen Verfahrens sind offenkundig: Der Hauptspeicher wird entlastet, der Zugriff kann optimal an die Hardware angepaßt werden und die simultane Abwicklung komplexen Transaktionen mit konkurrierenden Zugriffen verbessert sich überproportional.

Selbstverständlich "lohnt" sich ein solches Verfahren nur dort, wo diese Vorteile ins Gewicht fallen, das heißt der Hauptspeicher knapp, die Antwortzeit kritisch oder mehr als eine CPU zu bedienen ist. Moderne Disk Controller, etwa von Intel oder Shugart, schaffen die Möglichkeiten einer solchen Erweiterung, die insbesondere für größere Winchester-Laufwerken interessant ist, welche Kapazitäten bis zu 80 MB haben.

*Friedrich Lauter ist Systemanalytiker in Rösrath bei Köln

_AU:Friedrich Lauter