minpic01.jpg

Mit Windows prozessieren

Transputerpower unter MS-Windows mit WFS 1.0

Herbert Kurth

Transputerboards wie die TEK4/8 oder das Inmos B008 machen einen PC zum Mini-Mainframe. Was nützt einem jedoch eine Bonsai-Cray, wenn eine vernünftige Benutzerschnittstelle fehlt. Nexis Technology bietet mit dem Windows File Server (WFS) eine kostengünstige Alternative.

Unterthema: Wichtige WFS-Prozeduren

Bisher beschränkten sich Schnittstellen vom Transputer zum PC auf die Ein- und Ausgabe von Zeichenketten oder der Aufbau einer hochauflösenden Farbgrafik artete zum Geduldsspiel für den geplagten Programmierer aus, da die meisten Server für jedes einzelne Pixel auf das BIOS des PC zugreifen mußten.

Der Transputerbegeisterte mit einem etwas kleineren Softwarebudget mußte daher Hilfsprogramme in einer PC-basierten Programmiersprache schreiben, um brauchbare Ein- und Ausgabemöglichkeiten zu gewährleisten. Als Beispiel sei hier die in c't von Heinz Ebert vorgestellte Möglichkeit der Verbindung von Turbo-Pascal auf dem Wirtsrechner mit Occam 2 auf der TEK4/8-Seite zu nennen [3]. Es ist jedoch nicht jedermanns Sache, bei der Programmentwicklung regelmäßig zwischen fortschrittlicher paralleler und `herkömmlicher´ sequentieller Denkweise umzuschalten.

Mit komfortablen Front-Ends wie dem X Window System (zum Beispiel unter dem Betriebssystem HELIOS) lassen sich dagegen ausgezeichnete Mensch-Maschine-Interfaces realisieren. Allerdings verhindern der zumeist erforderliche große Hardwareaufwand (transputerunterstützte Grafik, große Festplatte, et cetera) und die nicht zu unterschätzenden Softwarekosten in Größenordnungen von einigen tausend Mark einen Einsatz im Low-Cost-Bereich.

Einen preisgünstigen Ausweg aus dieser `Krise´ zeigt die relativ kleine englische Firma Nexis Technology Ltd., Southampton. Ihr Windows File Server für Transputerboards ist ein Ersatz für Inmos´ Alien-Fileserver. `Ersatz´ ist aber einigermaßen untertrieben: WFS stellt Transputerprogrammen die WIMPS-Ressourcen (Windows, Icons, Mouse Pointer Systems) von Microsoft Windows zur Verfügung.

Hardware

Um WFS Leben einhauchen zu können, benötigt man einen Industriestandard-Personalcomputer (Nexis empfiehlt als Minimum einen AT). Dieser sollte mit mindestens 640 KByte RAM, einer 5,25"-Floppy und einer Festplatte ausgestattet sein. Dann braucht man noch MS-Windows, eine dazu passende Maus sowie Grafikkarte und zu guter Letzt eine Inmos-B004/B008-kompatible Transputerkarte. Des weiteren werden Definicons DMA-fähige PC-Boards unterstützt.

Im Gegensatz zu MS-Windows selbst läuft beim WFS ohne Maus überhaupt nichts. Zu den Prozessoren ist folgendes zu sagen: Mit den zum Test verwendeten Transputern T414B-20 und T800D-20 ließ sich kein Systemabsturz `provozieren´. Mit den ersten auf den Markt gelangten Transputerchips (Revision A) kann WFS jedoch nichts anfangen, da diese Bauelemente bekannterweise den Fehler aufweisen, nicht in Bytes kommunizieren zu können. Es empfiehlt sich daher nachzuschauen, ob es sich bei dem Prozessor nicht vielleicht um ein Bug-behaftetes Bauelement handelt.

Software

Mit MS-Windows ab Version 2.0 und einem Transputerentwicklungs-Tool oder einem `Stand-alone´-Compiler kann es dann richtig zur Sache gehen. Dabei versteht sich WFS nicht nur mit zahlreichen Occam-2-Derivaten (Inmos TDS, OCS und Occam MT von Microway), sondern auch mit den 3L-Sprachen Parallel C und Fortran. Parallel Pascal taucht im Handbuch nicht auf, es sollte jedoch möglich sein, eine `Softwarebrücke´ zwischen WFS und dieser für viele Entwickler interessanten Programmiersprache zu schlagen.

Die Installationsprozedur des WFS-Paketes hebt sich durch die Integration in MS-Windows wohltuend von Nullachtfünfzehn-Setup-Routinen der meisten Softwareprodukte (inklusive Windows selbst) ab.

Die Demonstrationsfiles auf der letzten von vier im Lieferumfang enthaltenen Disketten verdeutlichen beeindruckend, wie einfach sich die Handhabung paralleler Prozeduren in verschiedenen Fenstern gestalten kann. Es werden alle Möglichkeiten des WFS-Systems aufgezeigt, einschließlich Icon-Management, Mousehandling, Windowing, Pulldown-Menüs und Grafiksupport.

Speicherhunger

Läuft Windows 2.x mit einer hochauflösenden VGA-Karte, zeigt sich sehr schnell, daß die Anzahl der darzustellenden Fenster in der Praxis begrenzt bleibt. Der Pufferbereich für eins von maximal fünf Fenstern in Standard-VGA-Auflösung (640 × 480 Pixel für den gesamten Bildschirmbereich) liegt schon bei 38 KByte.

Das System erkennt aber automatisch, wenn der Displayspeicher nahezu voll ist und lagert dann nach dem FIFO-Verfahren (First In First Out) Tasks auf die Festplatte aus. Dies geschieht auch generell mit den zu Icons eingefrorenen Tasks.

Um darauf schnell zugreifen zu können, empfiehlt es sich, dem WFS als Puffermedium eine RAM-Disk anzubieten, zum Beispiel im XMS - sofern Windows sich nicht schon darin breitgemacht hat.

Diese Klimmzüge kann man sich ab Windows 3.0 schenken - wenn der PC über genügend Hauptspeicher verfügt und im Protected Mode zu arbeiten gewillt ist (am besten gleich ein echter 386er). Dann kann man sich nämlich zur WFS-Version für Windows 3.0 aufschwingen, die bereits erhältlich sein soll, wenn Sie diese Zeilen lesen. Für registrierte WFS-Käufer gibt es die neue Version als kostenloses Update (bis auf die Zustellgebühren). Zur Zeit ist außerdem eine Version des WFS in Arbeit, die auch die exotischsten Funktionen des neuen, so äußerst erfolgreichen Windows-Paketes benützt.

Möglichkeiten

Der Windows File Server kann gleichzeitig bis zu vier Transputersysteme bedienen, wobei für die einzelnen Bäume keine Beschränkung der maximalen angeschlossenen Transputer besteht. Dieses Feature ist besonders hilfreich, will man komplexe Transputersysteme analysieren oder zum Beispiel verschiedene Parallelrechnertopo- logien miteinander vergleichen.

Die Routinen, die der Windows File Server zur Verfügung stellt, lassen sich grob in drei Gruppen einteilen: die menüaufbauenden Prozeduren, die sogenannten Graphic Primitives und die Bitmap-Manipulationsaufrufe. GetWindowBits zum Beispiel ermöglicht das Kopieren eines Bildschirmteiles oder des ganzen Displays, um ihn im Transputerspeicher manipulieren zu können. Die Bitmap-Routinen unterstützen zur Zeit allerdings noch keine Farbe.

Wenn gewünscht, läßt sich der manipulierte Grafikausschnitt wieder in andere Applikationen transferieren, um ihn zum Beispiel mit Aldus-PageMaker weiterzubearbeiten. GetGraphicsMetrics fragt Windows nach der X- und Y-Auflösung des verwendeten Displays. Dies ist besonders dann nützlich, wenn man Anwenderprogramme schreibt, die sich automatisch an unterschiedliche Grafikausstattungen anpassen sollen. (Reden wir hier einmal nicht vom Mac-Betriebssystem, das solche Umrechnungen automatisch macht.) Daneben kann WFS auch die Text-Fontgröße und die Pixelgröße bestimmen, um eine optimale Bildschirmgestaltung zu gewährleisten. Mit dem Befehl EnableClipBoardMenu fügt man das Windows Clipboard Sytem an das eigene Programmenü an, um den Austausch von Daten mit anderen Windows-Applikationen zu erleichtern.

Neben diesen Bibliotheksroutinen gibt es noch eine Reihe von Tasks, die die Arbeit mit WFS erleichtern (siehe Tabelle). Damit ist es jetzt doch eine fast triviale Aufgabe, sich kundenspezifische Benutzeroberflächen auszudenken. `Gehirnschmalz´ muß man nur noch da investieren, wo er hingehört, nämlich bei der Projektierung und Kodierung der Anwendungsprogramme.

Selten habe ich ein derart professionell aufgezogenes Manual in Händen gehabt, wie das WFS-Handbuch. In Zeiten, in denen anscheinend Masse bei Dokumentationen mehr gilt als Klasse, kann die durchdachte WFS-Dokumentation mit klarer Sprache und stringenter Struktur glänzen. Leider existiert bis jetzt nur eine englische Version.

minpic02.jpg

Unter WFS können verschiedene Transputerprozesse in verschiedene Fenster auf dem PC-Bildschirm schreiben, ohne daß sich der Programmierer groß um die Verwaltung kümmern muß.

Fazit

WFS ist ein vorzügliches Hilfsmittel für Transputeranhänger (zumindest im Low-Cost-Bereich) bei einem brillanten Preis/Leistungsverhältnis. Mit dieser Software ist es möglich, aus einem schon betagten Industriestandardrechner eine hochleistungsfähige Workstation zu machen, die auch noch eine fortschrittliche, nicht-kryptische Benutzeroberfläche bietet. Die 640-KByte-Grenze ist passé, ebenso die Beschränkung auf eine CPU. Endlich ist eine `State-of-the-Art´-Programmentwicklung auch unter MSDOS möglich.

Sieht man einmal von den angesprochenen kleinen Unzulänglichkeiten ab, kann man WFS getrost eine große Zukunft voraussagen. Sie ist durch den Erfolg von Windows 3.0 vorprogrammiert - schließlich fallen in der nächsten Version ja auch noch die wenigen Punktabzüge weg. Der außerordentlich günstige Preis von 250 £ Sterling für dieses komplexe Softwareprodukt wird sicher (hoffentlich?) dazu beitragen, die Marktakzeptanz für PC-gestützte Transputersysteme zu erhöhen. (it)

Literatur
[1] WFS Handbook, Nexis Technology Ltd, Southhampton 1989

[2] Nik Spicer, Review WFS, Parallelogramm 10/89.

[3] Heinz Ebert, Occamierung auf Transputer, ab c't 1/88.

Kasten 1


Wichtige WFS-Prozeduren

Grafik-Befehle

DrawLine, DrawBox, DrawEllipse, InvertArea, FillArea, CopyArea, OpenWindow, CloseWindow, ClearWindow, ScrollWindow, LoadBitmap, SaveBitmap, GetGraphicsMetrics.

Ein-/Ausgabe

PrintInRegion, PrintString, TextPrint, InputAt, InputInsert, ReadLastKey, GetMouseCoordinates, GetMouseButtons.

Menüsteuerung

AddMenuItem, AddPopUpItem, AddPopUpMenu, DisableMenus, EnableMenus, DisablePopupItem, EnablePopupItem, ChangeMenuItem, ChangePopupItem, DeleteAllPopUpItems, DeleteMenuItem, DeletePopUpItem, EnableClipboardMenu, DisableClipboardMenu.