Unix auch für IBM-Personal-Computer:

Mit AIX geht Big Blue eigene Wege in der Unix-Welt

14.04.1989

Die Entwicklung des Betriebssystems Unix war begleitet von Phasen der Divergenz in der Schnittstellenkompatibilität. Erst heute findet diese Divergenz durch internationale Organisationen und Standardisierungsgremien allmählich wieder zu gemeinsamen Plattformen zurück. Im folgenden Beitrag erläutert Klaus Neumann*, welche Wege IBM bei seiner Unix-Version AIX für PS/2-Rechner ging. um es an die verschiedenen Schnittstellen und Anwenderbedürfnisse anzupassen.

Die Arbeitsgruppen beider IEEE (Institute of Electrical and Electronical Engineers) unter dem Namen Posix (Portable Operating System for Computer Environments) definieren auf der betriebssystemnahen Ebene Schnittstellen auf Basis bereits etablierter Funktionalitäten beziehungsweise erweitern die Betriebssystem zur Verfügung gestellten Dienste. Der Posix-1003.1-Standard, der Basisfunktionalitäten beschreibt, ist bereits verabschiedet, und momentan sind die Bereiche "Shells and Tools und "Test Methods", zur Prüfung der Konformität, im Verabschiedungsprozeß.

Darüber hinaus beschäftigen sich weitere Gruppen mit Sicherheit, Realzeitfähigkeit, Vernetzung oder der Anbindung von Sprachen.

Im Gegensatz zu Posix arbeitet X/Open an der Definition einer Anwendungsumgebung (Common Application Environment), die aufbauend auf Posix höhere Schichten eines Systems wie Kommunikation, Benutzerdialog, Sprachen und ähnliches in ein Rahmenwerk, den X/Open Portability Guide (XPG), faßt. Das neueste Werk, der XPG3, ist in Teilen bereits verfügbar.

Mit der Gründung der Open Software Foundation (OSF) existiert ein Organ, das durch Integration innovativer SW-Technologien oder Entwicklungen die Verbreitung von Unix-Standards vorantreibt. Das erste Angebot, das von der OSF lizenziert werden kann, ist eine Benutzeroberfläche mit an Bezeichnung OSF/Motif basierend auf X-Windows

mit Elementen zur Software-Entwicklung. Diese Entwicklung beruht auf Arbeiten von Hewlett-Packard, Microsoft und DEC.

Diese erwähnten Standardisierungsbemühungen sind eine Antwort des Marktes auf offene und miteinander integrierbare Systemumgebungen unterschiedlicher HardwareherstelIer. Die IBM bedient diesen wachsenden Markt seit Frühjahr 1986 mit dem System AIX/RT. Mit der Erweiterung des Angebots des AIX (Advanced Interactive Executive) von den Personal Systemen/2 bis hin zu den größten ES3090-Systemen der /370-Architektur, soll der Forderung Rechnung getragen werden, den weiten Bereich möglicher technischer und kommerzieller Anwendungen abzudecken.

Das Einstiegsmodell in die AIX-Familie

Das AIX PS/2 für die Personal Systeme/2, des im folgenden näher beschrieben wird, bildet das Einsteigsystem in die AIX-Familie. Sie wird in einer übergeordneten Anwendungsarchitektur beschrieben, indem für alle AIX-Systeme Schnittstellen, Protokolle und :Konventionen festgelegt werden. Diese Familiendefinition bietet eine offene Systemumgebung, indem sie sowohl offizielle als auch Industriestandards integriert, um damit die Portabilität zwischen auf Unix-basierenden Systemen zu erhalten und den Wachstumspfad zu den leistungsfähigeren AIX/RT oder AIX/370 Systemen zu sichern.

AIX PS/2 entspricht einer Portierung von AIX/RT bei Anpassung des Systemkerns an die Hardware der IBM Personal Systeme/2, die den 32 Bit Intel 80386 Prozessor nutzen. Der Kernel ist kompatibel zu AT&T's Unix System V.2 und enthält wesentliche Elemente von Version 4.3 der Berkeley Software Distribution, wie "C Shell", erweiterte Signalbehandlung, Select, Sockets, Pseudo TTYs und der Job Control. Für Microsoft Xenix 2.0 ist AIX PS/2 quellprogrammkompatibel in der Sprache C. In allen AIX-Systemen, also auch in AIX PS/2, wird der verabschiedete Posix-Standard 1003.1 integriert werden und die Spezifikationen des X/Open Portability Guide 3 werden unterstützt.

Details zu den X/Open-Empfehlungen wird die IBM 30 Tage nach Verfügbarkeit der endgültigen Version des XPG3 bekanntgeben. Diese Schnittstellenbasis garantiert somit Übereinstimmung zwischen den AIX-Systemen und zu anderen Unix-Plattformen und bietet eine breite Basis für die Portierung von Anwendungssoftware.

AIX PS/2 bedient als Mehrbenutzersystem bis zu 16 Benutzer interaktiv und erlaubt jedem, mehrere Prozesse zu starten. Dabei stehen über die virtuelle Speiciherverwaltung pro Prozess 4 GB Adreßraum zur Verfügung. Eine ursprüngliche Schwäche von Unix, die Bedienung des Systems für einen ungeübten Benutzer, wurde in AIX durch einen menügesteuerten Dialog. "Usability Services", behoben. Es stehen eine Reihe von Menüs zur Verfügung, aus denen der Benutzer gewünschte Systemfunktionen selektieren kann. Auch für den Systemverwalter wird die Arbeit durch dialoggeführte Prozeduren für die "Minidisk"- Verwaltung, den Anschluß von Geräten sowie bei der Installation von SW-Paketen erleichtert.

Die Konsole des Systems kann in voller Bildschirmgröße in bis zu 16 virtuellen Bildschirmen genutzt werden, in denen jeweils andere Anwendungen ablaufen. Die Multitasking-Fähigkeit des AIX bedient alle Anwendungen gleich, auch wenn sie physikalisch nicht angezeigt werden. Über einen "Hot Key" schaltet der Benutzer zwischen den logischen Bildschirmen um.

Ein "High Function Terminal" bietet eine geräteunabhängige Schnittstelle Im Zeichenmodus und kann im Monitormodus direkt die individuellen Möglichkeiten von Bildschirmen nutzen. Mit X-Windows Version 11 existiert der verbreitete Standard zur Verwaltung des grafikfähigen Konsolbildschirmes. Auf Basis von X-Windows testet die IBM durch den Erwerb einer Lizenz von OSF/Motif eine mit anderen Unix-Anbietern einheitliche Benutzerumgebung. Erste Prototypversionen wurden im März auf der CeBIT für AIX PS/2 und AIX/RT vorgestellt. Zur Unterstützung der Mehrbenutzerumgebung besitzt AIX PS/2 ein verallgemeinertes Konzept zur Verwaltung von Job- oder Druckwarteschlangen. Auch wird die Notwendigkeit, Anwendungen in den jeweiligen nationalen Sprachumgebungen zu generieren beziehungsweise auszuführen, durch den "National Language Support" unterstützt.

Integration des AIX PS/2 in Netzwerke

Das System AIX PS/2 bietet, angefangen von einfachen Funktionen wie Dateiaustausch bis hin zur völlig transparenten Vernetzung in einem Cluster, alle Grade an Verbindungsmöglichkeiten, die für einen Informationsaustausch denkbar sind. Dabei sind sowohl Anschlüsse an "Wide Area Network (WAN)" - als auch an Local Area Network (LAN) -Netze bei Nutzung unterschiedlicher Übertragungsprotokolle möglich. Die folgenden Elemente bilden die Baus eine zur Anbindung in verschiedene Umgebungen:

- Distribute Services

- Network File System

- Transparent Computing Facility

- Workstation Host Interface Program

- Transmission Control Protocol/ Internet Protocol

- X.25

AIX PS/2 bedient sich verteilter Information. Das Programm AIX Distributes Services (DS) ermöglicht den Zugriff auf Programme und Dateien, die in einem Verbund vernetzter Systeme AIX PS/2, eventuell mit AIX/ RT (für AIX/370 besteht die Absicht, dieses Programm anzubieten), verteilt gespeichert sind.

Mit Distributed Services können Rechner in einem lokalen Netz als Fileserver" definiert werden. Dabei kann Distributed Services das Konzept eines "Single File System Image" bei Erhaltung der Datenintegrität realisieren, so daß der Benutzer an jedem Rechner im Netz die gleiche Systemumgebung vorfindet. Neben der Bildung von netzweiten Dateisystemen stehen Programmierschnittstellen zur Verfügung, die eine Kommunikation zwischen Anwendungen auf unterschiedlichen Rechnern ermöglichen.

Zentrale Verwaltung von TCF Verbundsystem

Network File System (NFS), basierend auf dem NFS-Protokoll 3.2 von Sun Microsystems, erlaubt die Mitbenutzung von entfernten Daten und Diensten zwischen AIX- und Nicht-AIX-Systemen auf der Basis von IP. Dabei wird ein maschinen- und sprachenunabhängiges Protokoll verwendet. Die "remote procedure call" ermöglichen die Nutzung von entfernten Diensten, als wären sie lokal. Die Host-Systeme unter VM und MVS unterstützen NFS als Server womit im heterogenen Systemverbund mit AIX- oder Unix-Systemen der Endanwender einen transparenten Dateizugriff erhält.

Die höchste Form einer transparenten Systemumgebung wird dem Benutzer durch Transparent Computing Facility (TCF) gegeben, indem in einem LAN ein heterogener Maschinenverbund (mehrere Systeme mit AIX PS/2 oder zusätzlich ALS/370) als ein logisches System dargestellt wird. Diese Entwicklung von Locus Computing Corporation wird von der IBM erstmalig kommerziell angeboten. Der Systemzugang ist von jedem angeschlossenen Bildschirm im "Cluster" gleich, und die Ressourcen wie Platten, Geräte und Prozessoren können ohne zusätzliche syntaktische Angaben netzweit genutzt werden. Die Dateien sind in einem einzigen verteilten Dateisystem abgelegt, wobei netzwerkweiter Zugriffsschutz einschließlich Satzsperrung besteht.

Betriebssystemrelevante Information ist auf jedem System redundant vorhanden, wodurch einzelne Systeme unabhängig vom Cluster arbeiten können. Bei Wiedereingliederung in das Cluster findet ein Synchronisationsprozeß zur Aktualisierung statt. Auch können Benutzerdateisysteme über den beschriebenen Mechanismus in mehreren Kopien zur Steigerung der Verfügbarkeit im Cluster abgelegt werden. Eine erhebliche Erleichterung für den Systemadministrator ist, daß die mit TCF verbundenen Systeme zentral verwaltet sind:

- einheitliche Benutzerverwaltung

- automatische Programm-Updates

- Informationssicherung.

Die Transparenz bei TCF ist aber nicht nur beim Dateisystem gegeben, sondern auch auf die Prozesse im AIX erweitert. So ist der "Pipe"- Mechanismus netzweit implementiert, wodurch Anwendungen, für unterschiedliche Zielsysteme übersetzt, in üblicher Unix-Syntax miteinander kombiniert werden können. Im Einsatz des AIX PS/2 zusammen mit AIX/370 können so die unterschiedlichen Prozessoreigenschaften über gewohnte Eingaben verbunden werden.

Weiterhin können mit dem Kommando "on" Programme gezielt auf anderen Systemen zum Laufen gebracht werden, um damit eventuell freie Systemzeiten in einem Abteilungsverbund effizient zu nutzen. Die Kontrolle über die Anwendungen bleibt am lokalen Bildschirm erhalten.

Diese Nutzungsmöglichkeiten aus der Sicht eines normalen Unix mit zusätzlichen intelligenten Funktionen, die orthogonale Entwicklungen zu existierenden beziehungsweise sich entwickelnden Standards darstellen und damit diese nicht verletzen, lassen sich aber auch über zusätzliche System Calls direkt in Anwendungen integrieren, um damit zum Beispiel mehrere Prozessoren aus einer Anwendung heraus zu nutzen. Mit TCF können somit neue Systeme leicht in den Verbund integriert werden, die sofort Zugriff auf die aktuellen Ressourcen des Verbundes haben.

AIX PS/2 im heterogenen Verbund

Das Programm "Workstation Host Interface Program (WHIP)" verbindet das AIX-PS/2-System mit den Betriebsystemen VM/CMS oder MVS/ TSO. Dabei erlaubt es gleichzeitig mehrere Bildschirmemulationen sowie den Filetransfer zwischen den Hostrechnern und AIX PS/2. Für die Anwendungsprogrammierung liefert WHIP eine Schnittstelle in den Sprachen C, Pascal und Fortran.

Weiterhin bietet das im Unix-Umfeld weit verbreitete Transmission Control Protocol/Internet Protocol (TCP/IP) eine Reihe von Diensten zur Kommunikation zwischen AIX-PS/2 und anderen in einem TCP/IP-Netz angeschlossenen Systemen:

- Ausführen von Kommandos in entfernten Systemen

- Informationen über das Netzwerk Das Protokoll bildet auch eine Basis für netzwerkfähige Anwendungen wie NFS oder X-Windows, die dem Benutzer entfernte Ressourcen logisch an sein System binden.

Die Kommunikationsverbindung X.25 (Datennetz mit Paketvermittlung) kann bis zu 253 virtuelle Verbindungen generieren, die über TCP/IP oder mit Transparent Computing Facility genutzt werden können. Eine Anwendungsprogrammierschnittstelle erlaubt die Erstellung eigener Protokolle zur Kommunikation oberhalb der X.25 Protkollebene.

Die Asynchrone Terminal-Emulation erlaubt dem PS/2-System, einen ASCII-Bildschirm an einem entsprechenden Host-System zu emulieren.

In DOS getätigte Investitionen gehen nicht verloren

AIX PS/2 integriert über verschiedene Dienstprogramme die DOS-Welt in hohem Maße. Dem Anwender wird die Möglichkeit gegeben, von der vertrauten DOS-Umgebung aus die Ressourcen der AIX-Welt zu nutzen. Damit eröffnen sich neue Nutzungsformen für DOS in einer Mehrbenutzerumgebung, wobei die in DOS getätigten Investitionen erhalten und gleichzeitig die Funktionalität von AIX ausgenutzt werden kann.

Das Programm "DOS Merge", eine Entwicklung von Locus Computing Corporation, nutzt die Prozessoreigenschaft des Intel 80386, im 8086-Modus operieren zu können, und erlaubt, unter der Verwaltung von AIX PS/2, DOS 3.3 und viele DOS-Anwendungen auszuführen. Dabei können DOS-Programme von AIX und AIX-Programme von DOS aus aufgerufen werden.

DOS Merge kann von der Konsole mehrfach und von ASCII-Bildschirmen gestartet werden. Dadurch sind mehrere Benutzer gleichzeitig in der Lage, durch AIX PS/2 verwaltet, DOS-Anwendungen auszuführen, die auch über den Pipe-Mechanismus Daten mit AIX-Programmen austauschen können. Durch die Einbettung in AIX PS/2 erhalten die DOS-Dateien die Zugriffsschutzmechanismen des AIX, wobei Satzzugriffe auf die gleichen Dateien von beiden Betriebssystemen aus möglich sind. Für die Formatkonversion zwischen AIX- und DOS-Textdateien stehen Umwandlungsprogramme zur Verfügung

Das Dienstprogramm "DOS Server" eröffnet angeschlossenen PC oder Personal Systemen/2 unter DOS 3.3, bei Verwendung des Programmes

"IBM AIX Access for DOS Users", die Nutzung der großen AIX-Datenspeicher für zusätzliche virtuelle Dateien. Neben der individuellen. Nutzung läßt sich damit auch eine zentrale Datenverwaltung für mehrere angeschlossene DOS-Systeme durchführen. Weiterhin können Druckausgaben auf AIX-Systemdrucker umgeleitet werden und auch das direkte Arbeiten am AIX wird über eine Bildschirmemulation angeboten. Lokales Editieren wird über eine zum AIX kompatible DOS-Version des vi-Editors möglich.

X-Windows für DOS steigert die Verwendungsfähigkeit eines entsprechenden PC oder Personal System/2, indem es die Systeme zu hochwertigen grafischen Bildschirmen am AIX PS/2 macht.

Die Entwicklung eigener Anwendungen war eines der Hauptziele in der Evolution der Unix-basierenden Betriebssysteme. Im AIX PS/2 sind dafür folgende Anwendungsentwicklungswerkzeuge vorhanden:

- Bibliothek von Unterprogrammen

- symbolische Debugger (SDB, DBX, XDBX)

- Entwicklungstools wie lex, yacc, lint

- Unterstützung spezieller Bibliotheken

- Unix Betriebssystemwerkzeuge und Hilfsmittel

- Source Code Control System und make

- Assembler und Disassembler

Um die automatische Nutzung aktuellster Versionen von Unterprogrammen zu gewährleisten, sind in AIX PS/2 "shared libraries" implementiert. Hierbei werden Programmteile aus Unterprogrammbibliotheken erst beim Ausführen eines Programmes zugeladen, was zusätzlich eine Reduktion des notwendigen Speicherbedarfs bringt.

Bibliotheken mit Unterprogrammen nötig

Für die Programmierung selbst werden von der IBM Compiler in den Sprachen C, Fortran und Pascal angeboten. Diese sind voll kompatibel mit denen von AIX/RT und besitzen eine hohe Übereinstimmung zu den Compilern der /370 Systeme. Sie unterstützen die gegenseitige Einbindung von Programmteilen in anderen Sprachen und erlauben eine Diagnose mit Hilfe des dbx-Debuggers. Neben den Compilern, die die Basis für individuelle SW-Entwicklung bilden, sind Bibliotheken mit Unterprogrammen zur effizienteren Generierung von Anwendungen notwendig. Für diesen Zweck liefert AIX PS/2:

- X-Windows, das mit der X-LIB eine Programmbibliothek bietet, die es ermöglicht, netzwerkweite Anwendungen auf Basis eines "Client/ Server"-Modells zu generieren. Darauf aufbauend stehen Unterprogramme zur Bildung von Objekten für die Wechselwirkung mit dem Benutzer zur Verfügung.

- Bibliothek mit grafischen Elementarfunktionen (GSL) für Anwendungen, die mit den Konsolbildschirmen arbeiten.

2 MB Haupt- und 44 MB Plattenspeicher

Die AIX PS/2-unterstützenden Personal System/2 Modelle 70 und 80 gewährleisten mit den Leistungsmerkmalen des Intel 80386 Prozessors - 32 Bit, unterschiedliche Taktfrequenzen, Multitaskingunterstützung - zusammen mit der Gesamtarchitektur des Mikrokanals - optimiertes Zusammenwirken mehrerer Prozessoren, 32 Bit Daten- und Adreßbus - und den VGA-Grafikmöglichkeiten eine Technologie, die durch vielfältige Kombinations- und Erweiterungsmöglichkeiten den individuellen Bedürfnissen angepaßt werden kann. Das AIX PS/2 fordert minimal 2 MB Hauptspeicher und 44 MB Plattenspeicher. Die Konfiguration kann den konkreten Anforderungen angepaßt werden. So ist die HW-Plattform bis 16 MB Hauptspeicher und 628 MB Plattenplatz erweiterbar. Bis zu sieben Steckplätze beim Personal System/2 Modell 80 erlauben vielfältige Anschlußmöglichkeiten von Drucker, Plottern oder an Netze.

Einsatz von AIX PS/2 für Anfänger und Fortgeschrittene

AIX PS/2 ist auf professionelle Anwendungen ausgerichtet und ermöglicht sowohl Erstanwendern als auch Fortgeschrittenen den Einstieg in die AIX-Welt.

In der Rolle des Arbeitsplatzsystems für AIX/370 wird dieser Wachstumspfad besonders deutlich. In Verbindung mit AIX/370 können über TCF Anwendungslösungen generiert werden, bei denen einzelne Prozesse, direkt oder indirekt gesteuert, auf anderen Systemen ablaufen können. Rechenintensive Prozesse werden dann automatisch auf dem / 370 System ausgeführt, wahrend der interaktive Dialog auf AIX PS/ 2 stattfindet.

In den vielfältigen Erweiterungsmöglichkeiten mit ASCII-Bildschirmen, DOS-Systemen oder weiteren AIX PS/2- beziehungsweise AIX/RT-Systemen, die zusätzliche Verbindungen zu IBM Systemen über SNA oder RJE bieten können, lassen sich Abteilungsszenarien generieren, die größeren Ansprüchen an Funktionsumfang und Flexibilität gerecht werden.

Durch die Unterstützung von Vernetzungsdiensten wie X-Windows, NFS, TCP/IP, Ethernet, X.25 läßt sich dieses System auch mit hohem Funktionsgrad in heterogene Umgebungen von Systemen unterschiedlicher Hardwarehersteller eingliedern.

*Dr. Klaus Neumann ist Produktmanager für AIX-PS/2 bei IBM Deutschland in Stuttgart.