Hinweis: Dieses Projekt steht in keinem Zusammenhang mit anderen Apps die den Namen 'easyWindow' übernommen haben. Es handelt sich um ein natives x86-System für DOS-basierte Umgebungen.
4. Programmierung unter easyWindow
Um Programme für easyWindow zu schreiben, müssen diese als RLL (Runtime Link Library) vorliegen. Eine RLL ist funktional mit einer DLL unter Windows vergleichbar. Sie enthält Funktionen, die von anderen Programmen oder dem System selbst aufgerufen werden können.
4.1. Aufbau einer Funktionsbibliothek (RLL)
Jede RLL beginnt mit einem spezifischen Header, der dem System mitteilt, wie die Bibliothek zu handhaben ist. Dieser Header ist entscheidend für das Speichermanagement und die Identifikation.
; Beispiel Header-Struktur
db 0,0 ; Reserviert
db -1 ; Kennung für RLL
db 'MEINERLL' ; Name der RLL (8 Byte, mit 0 aufgefüllt)
dw offset Init ; Zeiger auf Initialisierungsroutine
dw offset Table ; Zeiger auf Funktionstabelle
Für die RLL werden zudem oft die Dateien BIBLIO1D.INC (Variablendefinitionen) und BIBLIO1C.INC (Programmcode) benötigt. Da der Funktionscode meist standardkonform ist, wird hier auf RLL-spezifische Besonderheiten verzichtet.
4.2. Taskbibliotheken - Das Herz der Anwendung
Taskbibliotheken sind RLLs, die als eigenständige Tasks installiert werden können. Der Hauptunterschied zu einfachen Funktionsbibliotheken: Die Funktion 01h wird vom Taskmanager automatisch aufgerufen, bevor die RLL aus dem Speicher entfernt wird (vergleichbar mit einem Destruktor in der OOP).
- Konstruktor: Initialisierung beim Laden der RLL.
- Destruktor: Unload-Prozedur (Funktion 01h) beim Entfernen.
- Instanziierung: Laden einer neuen Programminstanz.
- Botschaften: Objekte kommunizieren über Rückgabewerte und Signale.
4.2.1. Initialisierung einer Anwendung
Eine easyWindow-Anwendung besteht aus mindestens einer Taskbibliothek. Der erste Teil, der durchlaufen wird, ist die Initialisierungsprozedur. Hier werden einmalige Operationen ausgeführt, die Voraussetzungen für den Programmablauf schaffen. Um Speicher zu sparen, befindet sich dieser Code am Ende der RLL und wird nach der Ausführung freigegeben.
Der Funktionsdispatcher des Kernels kann über INT 3h (platzsparend) oder per Far Call (schneller) aufgerufen werden. Die Far-Call-Adresse wird üblicherweise in der Initialisierungsphase ermittelt und für spätere Aufrufe gespeichert.
; Beispiel: Ende der Initialisierung
pop ss ; Stack-Register wiederherstellen
pop sp
; Speicherplatz der Initialisierung freigeben
ret
4.2.2. Beenden einer Anwendung
Das ordnungsgemäße Entfernen einer Anwendung aus dem Speicher übernimmt die Funktion 03h des Taskmanagers. In AL wird die Tasknummer übergeben. Das System reagiert mit verschiedenen Flags:
- Carry-Flag (CF) gesetzt: Entladen für diesen Task ist gesperrt.
- Null-Flag (ZF) gesetzt: Task ist noch beschäftigt.
- CF gelöscht: Task wurde erfolgreich beendet.
4.2.2.1. Eigene Tasknummer ermitteln
Um die Nummer des eigenen Tasks zu erfahren, nutzt man die Funktion 09h. Sie liefert in AL die Tasknummer und in AH die aktuellen Attribute. Da Funktion 03h die Nummer ebenfalls in AL erwartet, können beide Funktionen ideal hintereinander aufgerufen werden.
Hinweis: Unmittelbar vor dem Entladen ruft der Taskmanager die Funktion 01h der RLL auf. Diese muss daher immer vorhanden sein (notfalls nur mit einem RET).
4.2.4. Eine Bibliothek Namens "BEEP"
Diese Bibliothek besitzt nur eine einzige Funktion (01h). Ihr Zweck ist genial einfach: Debugging. Da der INT 3h unter easyWindow als Funktionsdispatcher genutzt wird (wegen des extrem platzsparenden 1-Byte Opcodes), können herkömmliche Debugger nicht verwendet werden.
Wann immer Sie prüfen müssen, ob eine bestimmte Codestelle durchlaufen wird, fügen Sie den Aufruf von "BEEP" ein. Da die Funktion 01h von BEEP.RLL keine Register verändert, kann sie ohne Vorkehrungen überall platziert werden.
; Aufruf der BEEP-Funktion via Makro
dsp beep, 1 ; Es piept - die Codestelle wurde erreicht!
5. Informationen einfach ausgeben
Dieses Kapitel behandelt die einfachste Art, dem Anwender Texte anzuzeigen, und wie Bibliotheken als Tasks mit Parametern geladen werden.
5.1. INFOWIN.RLL und ERRORWIN.RLL
Beide Bibliotheken sind nahezu identisch, unterscheiden sich aber in der Farbgebung (einstellbar in der DESCOLO.INI) und im Verhalten:
- ERRORWIN: Fenster "Fehler" mit "Schließen"-Button. Bestätigt die Textausgabe sofort nach dem Öffnen.
- INFOWIN: Fenster "Information". Bestätigt die Textausgabe erst, wenn der "Schließen"-Button angeklickt wurde.
Der Ablauf eines Aufrufs:
- Bibliothek über Funktion 02h von TASKMAN laden.
- Textübergabe über Funktion 0Ch von TASKMAN.
- Rückkehr zum Taskmanager via
RET(Task wird passiv).
Der Text wird als Zeiger auf eine Tabelle (in ES:SI) übergeben. Die Tabelle enthält Zeiger auf die einzelnen Textzeilen und muss mit 0FFFFh abgeschlossen werden.
; Beispiel einer Texttabelle
TextTab dw offset Zeile1
dw offset Zeile2
dw 0FFFFh
Zeile1 db 1, "Überschrift (Fett)", 0 ; Steuerzeichen 01h für Fettdruck
Zeile2 db "Normaler Textinhalt", 0
5.1. Taskbibliotheken laden
Manche Bibliotheken müssen aufgrund ihrer Komplexität als eigenständige Tasks geladen werden. Dies geschieht über die Funktion 02h des Taskmanagers (TASKMAN.RLL).
- ES:SI: Zeiger auf die Bibliotheksdefinition.
- AL: Anfängliche Taskattribute (Standard = 1).
- Rückgabe: AL = Tasknummer (ID).
Wichtig ist die Prüfung der Flags nach dem Aufruf:
- Carry-Flag (CF) gesetzt: Task ist bereits geladen (kein Fehler).
- Null-Flag (ZF) gesetzt: Task konnte nicht geladen werden (z. B. Speicher voll).
- Beide Flags gelöscht: Task wurde erfolgreich neu installiert.
; Definition einer Taskbibliothek im Datenbereich
taskbibliothek db 0,0,-1,'BIBLIO ',0,0 ; -1 = Task startet selbstständig
5.2. Parameterübergabe an Tasks
Nachdem eine Bibliothek (wie INFOWIN) geladen wurde, müssen Daten (wie der anzuzeigende Text) übergeben werden. Hierfür ist die Funktion 0Ch des Taskmanagers zuständig.
- AL: Nummer des Ziel-Tasks (Empfänger).
- AH: Eigene Funktionsnummer (Rückmeldung bei Übernahme).
- ES:SI: Zeiger auf die zu übergebenden Informationen.
Der Ablauf ist asynchron: Nach dem Aufruf von Funktion 0Ch kehrt das Programm mit RET zum Taskmanager zurück. Dieser aktiviert dann den Ziel-Task (z. B. INFOWIN), der die Daten aus ES:SI verarbeitet. Sobald der Ziel-Task fertig ist, ruft er die in AH hinterlegte Funktion Ihres Programms zur Bestätigung auf.
; Beispiel: Textausgabe vorbereiten
mov ah, 3 ; Rückmeldefunktion 03h in unserer RLL
mov si, offset MeinText ; Zeiger auf die Texttabelle
dsp taskman, 0ch ; Parameter übergeben
ret ; Kontrolle abgeben
5.3. Gezielter Funktionsaufruf eines Tasks
Aus einem Task heraus dürfen Funktionen anderer Bibliotheken, die ebenfalls als Task installiert sind, nicht direkt über den Funktionsdispatcher aufgerufen werden! Dies kann zum Systemabsturz führen.
Nutzen Sie stattdessen die Funktion 05h des Taskmanagers:
- AL: Nummer des Ziel-Tasks.
- AH: Nummer der aufzurufenden Funktion.
- Aktivierung: Nach dem Aufruf muss der aktive Task unterbrochen werden (via
INT 47hoderRET), damit der Taskwechsel stattfinden kann.
6. Eine EVA-Anwendung (Eingabe - Verarbeitung - Ausgabe)
Dieses Kapitel beschreibt eine anspruchsvolle Anwendung (ANWEND3), die einen Hexadezimalwert über ein Textfeld einliest, diesen verarbeitet und das Ergebnis dezimal ausgibt. Dabei lernen wir die Erstellung komplexer Fenstermasken.
6.1. & 6.2. Task-Bezeichnung & Taskleiste
Damit in der Taskliste nicht nur der Dateiname (z. B. ANWEND3) erscheint, kann mit Funktion 0Bh von TASKMAN eine Klartext-Bezeichnung ("Eingabe-Verarbeitung-Ausgabe") gesetzt werden (Zeiger in ES:SI).
Mit Funktion 12h wird der Task in der Taskleiste ein- oder ausgeblendet (STC zum Anzeigen, CLC zum Entfernen).
6.3. Erstellen einer Fenstermaske
Der erste Datenblock definiert die grundlegenden Eigenschaften des Fensters. Hier ist die exakte Struktur (Offset-basiert):
| Offset | Größe | Beschreibung |
|---|---|---|
| 00h | 1 Byte | Handlenummer (wird von WINOPEN verwaltet, initial 0) |
| 01h | 1 Byte | Tasknummer |
| 02h | 1 Byte | Attribute: Bit 0: Nicht aktivierbar | Bit 1: Schließen bei Deaktivierung Bit 2: Nicht verschiebbar | Bit 4: Immer im Hintergrund |
| 03h | 1 Byte | Farbschema: 0=Main, 1=Info, 2=Input, 3=Error |
| 04h / 06h | 1 Word | X- / Y-Position (0FFFFh = automatisch) |
| 08h / 0Ah | 1 Word | Breite (durch 16 teilbar) / Höhe (durch 12 teilbar) |
| 0Ch / 0Eh | 1 Word | Zeiger auf Hintergrund-Tabelle / Text-Tabelle |
| 10h | 1 Word | Zeiger auf aktivierbare Objekte (Buttons/Felder) |
| 16h | 1 Word | Zeiger auf Fensterfarben-Tabelle |
| 18h | 1 Byte | Titelzeilen-Ausrichtung (0=Aus, 2=Zentriert, 3=Links) |
| 19h | x Byte | Titelzeilentext (mit 0h abgeschlossen) |
6.3.1. Grafikobjekte & Hintergründe
Die Tabelle für den Fensterhintergrund besteht aus Datenblöcken für verschiedene Grafikelemente. Jedes Objekt beginnt mit einer Typ-Kennung:
| Typ | Beschreibung |
|---|---|
| 1 & 6 | Linie (waagerecht / senkrecht) |
| 2 | Rechteck (gefüllt mit Farbindex 1) |
| 3 & 4 | Rahmen (einheitlich / jede Seite eigene Farbe) |
| 5 | Ungepacktes Bild (*.RPI) – max. 30 Byte Pfadlänge |
| 7 | Button (einfarbig gefüllt nach Systemfarben) |
Ein Datenblock für ein Objekt (z. B. Typ 5) enthält Position (X/Y), Breite, Höhe und den relativen Pfad (z. B. RPI\TEST.RPI). Das Tabellenende wird zwingend durch 0FFFFh markiert.
6.5. Tastaturereignistabelle (KEYBOARD.RLL)
Die Bibliothek KEYBOARD ermöglicht eine ereignisgesteuerte Tastaturabfrage. Jede Tabelle ist wie folgt aufgebaut:
| Offset | Größe | Beschreibung |
|---|---|---|
| 00h | 1 Byte | Nummer des zugehörigen Tasks |
| 01h | 1 Byte | Funktion bei Inhaltsänderung (Puffer-Update) |
| 02h | 1 Word | Zeiger auf Einzeltasten-Reaktionstabelle |
| 04h | 1 Byte | Einfügemodus (0=Aus, 1=An) |
| 07h | 1 Word | Puffergröße (max. 2051 Zeichen) |
| 09h | x Byte | Der eigentliche Zeichenpuffer |
2 (Entfernen) oder 3 (Backspace) eigene Routinen definieren, die den Textfluss über Zeilengrenzen hinweg steuern.
6.6. & 6.7. Texteingabefelder & TXTOUT
Für die Interaktion mit dem Anwender bietet TEXTFLD.RLL (Funktion 01h) die Darstellung editierbarer Felder. Wichtig: Die Position (X/Y) wird hier absolut auf dem Bildschirm angegeben, nicht relativ zum Fenster!
Für einfache Textausgaben nutzen Sie TXTOUT.RLL (Funktion 01h). Hier stehen verschiedene Zeichensätze zur Verfügung:
- 0 / 1: 15 Pixel hoch (normal / fett)
- 2 / 3: 16 Pixel hoch (normal / fett)
- 6: 16 Pixel hoch (Terminal-Schriftart)
6.8. Erstellen und Handhaben von Buttons
Buttons sind essenzielle UI-Elemente. In easyWindow werden sie als Grafikobjekt vom Typ 7 definiert. Dies stellt sicher, dass der Button die systemweiten Farben nutzt und bei Interaktion (Klick) konsistent aussieht.
- Funktion 1h: Animiert den Button und erlaubt währenddessen Taskunterbrechungen (
INT 47h). - Funktion 2h: Animiert den Button, blockiert aber Taskwechsel, bis die Maustaste losgelassen wird.
Beide Funktionen erwarten in ES:SI einen Datenblock mit Position und Größe (dieser kann identisch mit der Definition in der Fenstermaske sein). In CX/DX muss die aktuelle Fensterposition übergeben werden.
Rückgabewert: Ein gelöschtes Carry-Flag (CF=0) signalisiert einen bestätigten Klick. Wurde der Button mit gedrückter Taste verlassen (Abbruch durch den User), wird CF=1 gesetzt. Die Freigabe des Objekts via WINOPEN (Funktion 6) erfolgt hier automatisch.
Impressum
Verantwortlich für den Inhalt dieser Seite, auch nach § 18 Abs. 2 MStV:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Datenschutzerklärung
1. Allgemeiner Hinweis
Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.
2. Datenerfassung auf dieser Website
Server-Log-Dateien: Der Provider der Seiten erhebt und speichert automatisch Informationen in sogenannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:
- Browsertyp und Browserversion
- Verwendetes Betriebssystem
- Referrer URL (die zuvor besuchte Seite)
- Hostname des zugreifenden Rechners
- Uhrzeit der Serveranfrage
- IP-Adresse (anonymisiert)
3. Ihre Rechte
Sie haben jederzeit das Recht, unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung oder Löschung dieser Daten zu verlangen. Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden.
easyWindow – OS Distribution
Das Original • Modular Desktop System (Est. 1996)
Willkommen im digitalen Archiv von easyWindow. Was 1995 als spezialisierte Software für die Schaltschrank-Analyse begann, entwickelte sich über ein volles Jahrzehnt zu einer der ambitioniertesten grafischen Oberflächen für DOS-basierte Systeme.
easyWindow ist mehr als nur eine GUI – es ist ein modulares Ökosystem mit eigenem BIOS, Kernel und einer einzigartigen Selbstreparatur-Funktion für Programmbibliotheken.
"Software-Entwicklung ist kein Sprint, sondern ein Jahrzehnt der Präzision." – Dokumentation des Vermächtnis 1997-2008.
Dies ist das offizielle Archiv des ursprünglichen easyWindow-Systems. Mit einer belegten Entwicklungsgeschichte von 1997 bis 2008 und einer redaktionellen Erwähnung in der Fachzeitschrift PC-Welt (Ausgabe 05/2004) distanzieren wir uns ausdrücklich von jüngeren Namens-Plagiaten oder Bibliotheken auf Plattformen wie GitHub, im Google Play Store oder anderen Drittanbieter-Verzeichnissen.
FAQ & Hilfe
Dokumentation
Historie & Kompatibilität
Die Geschichte von easyWindow ist eng mit der Evolution des Disk Operating System (DOS) verknüpft. Um die Stabilität und Vision hinter unserer Distribution zu verstehen, lohnt ein Blick auf die Meilensteine der DOS-Entwicklung:Die Ära von Digital Research (DR)
Schon weit vor dem Mainstream-Erfolg von MS-DOS leistete Digital Research Pionierarbeit. Bereits ab ca. 1984 existierte mit Concurrent DOS ein echtes Multitasking-System. Es blieb jedoch ein Nischenprodukt, da die Kompatibilität eingeschränkt war — insbesondere verweigerte Microsoft Windows® darauf den Dienst. ;-)Der Aufstieg von DR-DOS & Novell
In den frühen 90ern (ca. ab 1993) galt DR-DOS als die technologisch überlegene Konkurrenz zu MS-DOS. Nachdem Digital Research aufgegeben hatte, erwarb Novell die Rechte, überarbeitete das System grundlegend und integrierte Multitasking-Fähigkeiten, um es als Novell DOS 7 zu vermarkten. Aufgrund strategischer Abkommen zwischen Microsoft und Novell wurde der Vertrieb jedoch nach kurzer Zeit wieder eingestellt.Von Caldera zu OpenDOS
Später übernahm Caldera das System von Novell und machte es zeitweise als OpenDOS kostenlos zugänglich. Auch wenn es heute unter dem Namen DR-DOS wieder kommerziell vertrieben wird, bleibt es aufgrund seiner enormen Reife und Stabilität unsere klare Empfehlung für Profi-Anwender.Die Vision von FreeDOS
Als quelloffene und kostenlose Alternative wurde 1994 FreeDOS ins Leben gerufen. Die Vision der Entwickler war es, ein freies DOS zu schaffen, das die großen Vorbilder exakt nachbildet.Der easyWindow-Standard
Da FreeDOS die Zukunft des freien DOS darstellt, wurde easyWindow intensiv unter diesem System getestet. Sämtliche Unstimmigkeiten zwischen eWin und FreeDOS wurden gezielt beseitigt, um eine reibungslose Performance zu garantieren. Das Ergebnis: Eine perfekt abgestimmte Einheit, die seit dem stolz als easyWindow — Betriebssystemdistribution auf FreeDOS-Basis ab 2004 öffentlich zur Verfügung gestellt wurde. Ein komplettes Betriebsystem mit grafischer Oberfläche auf nur einer 1.44MB - Diskette.Klicken Sie mit der rechten Maustaste auf das Fenster, das verschoben werden soll. Der Mauszeiger ändert sein Erscheinungsbild und das Fenster kann bei gedrückter Maustaste verschoben werden.
Hintergrundbilder müssen in das Verzeichnis RPI im easyWindow-Verzeichnis kopiert werden. In der Datei GRAPH.INI befindet sich die Sektion [DisplaySetting]. Dort kann unter BackgroundPicture= ... ein Hintergrundbild angegeben werden (z.B. BackgroundPicture=rpi\bakrnd.rpi).
Um Hintergrundbilder erstellen zu können, wird der Grafikkonverter benötigt, der BMP- und TGA-Dateien in den Grafikstandard von easyWindow (RPI) konvertiert. Das Programm ist im Downloadbereich zu finden. Als erstes wird ein Bild mit einem beliebigen Grafikbearbeitungsprogramm erstellt. Das Bild sollte unkomprimiert mit 24 Bit Farbtiefe, als BMP oder TGA gespeichert werden. Damit das Bild später im Hintergrund richtig angezeigt wird, muß es die Größe der eingestellten Bildschirmauflösung haben. Also z.B. 640 x 480, 800 x 600, 1024 x 768 Pixel. Anschließend wird das Bild mit dem Grafikkonverter ins RPI-Format konvertiert. Der Grafikkonverter bietet zwei Kompressionsmethoden an. Wobei aber nur die erste verwendet werden kann. Oder eben keine Kompression. Wenn das Hintergrundbild nicht der eingestellten Bildschirmgröße entspricht, wird es vertikal und horizontal nicht bildschirmfüllend dargestellt. Allerdings gibt es einen Seiteneffekt der Routine, die die Grafik im Hintergrund darstellt.Wenn das Bild rechnerisch in Breite x Höhe mindestens die gleiche Größe hat, wie die eingestellte Breite des Grafikmodus, dann wird das Bild horizontal bildschirmfüllend (scheinbar mehrmals nebeneinander) dargestellt. Dieser Seiteneffekt kann ausgenutzt werden, um Bilder mit unregelmäßigem (z.B. Sandeffekt oder Rauschen) oder einfarbigem Inhalt platzsparender zu gestalten. Das Hintergrundbild sollte dann aber mindestens eine Breite von 8 Pixel und eine Höhe entsprechend der eingestellten Höhe des Grafikmodus haben. Bei Bildern mit regelmäßigem Inhalt, wie z.B. horizontale Linien, wird man feststellen, daß das Bild zeilenversetzt nebeneinander im Hintergrund vervielfacht wird.
Um nicht mehrere Bilder für verschiedene Auflösungen erstellen zu müssen, kann auch ein Bild mit der maximalen Größe von 1024 x 768 Pixel erstellt werden.
Hierbei handelt es sich um easyWindow-Setupdateien. Diese Dateien beinhalten ein komplettes Installationspaket für ein Programm, das unter easyWindow installiert werden kann.
Um das Programm in diesem Paket zu installieren, rufen Sie im eWin-Startmenü "Installieren / Deinstallieren" auf, und wählen Sie dann den Button "Intallieren". Geben Sie im Installationsmenü in der ersten Zeile den vollständigen Pfad mit Dateinamen an. Wenn sich z.B. die Datei "Setup.ews" auf Laufwerk "C" im Verzeichnis "FBlocks" befindet, müssen Sie folgendes eingeben (ohne Anführungszeichen): "C:\FBlocks\SETUP.EWS"
In der Regel liegt dem Installationspaket auch eine Datei "SETUP.COM" bei. SETUP.COM ist dafür gedacht, die Installation der Programmpakete zu vereinfachen, wenn Sie sich nicht in easyWindow befinden. Befinden Sie sich bereits in easyWindow sollten Sie es, vor Aufruf der Datei SETUP.COM, verlassen. Sonst kann es (muß aber nicht) zu Komplikationen kommen, da SETUP.COM eine neue Instanz von easyWindow startet.
Das ist normal. Es gibt Programme, das sind Anwendungen, die der Benutzer direkt ausführen kann. Diese werden im Startmenü angezeigt. Das andere sind Programme, die die Funktionalität von easyWindow erweitern. RPI-Dateien können z.B. nur angezeigt werden, wenn ein Programm dafür installiert und mit der Erweiterung RPI verknüpft ist. z.B.: Showrpi. Showrpi ist aber keine Anwendung, sondern nur eine Zusatzkomponente.
Die Geschichte & Technik von easyWindow
Ein Jahrzehnt kontinuierlicher Entwicklung: 1997 – 2008Dokumentations-Index
Vorwort & Entstehung
Die Idee zu einem System zur Erstellung grafischer Benutzerschnittstellen entstand bereits 1996. Die erste Version war innerhalb eines halben Jahres fertiggestellt, verschwand dann jedoch zunächst zwei Jahre in einer Schublade. Mit dem ersten Internetzugang 1998/99 wurde das System umfassend wiederbelebt und erhielt 1999 offiziell den Namen "easyWindow".
Das Anwendungsgebiet ist heute fast vergessen: Das System sollte eine Software von 1995 ersetzen, die ohne DOS für Überwachungsaufgaben und zur Fehleranalyse in Schaltschränken eingesetzt wurde. Dieses Betriebssystem war sehr einfach gestrickt, funktionierte aber vollständig, auch schon mit grafischer Oberfläche. Von der Nachfolgeversion blieb der Quellcode für ein noch wenig entwickeltes System übrig. Aus dem wurde easyWindow.
Es folgte eine zehnjährige Hauptentwicklungsphase von 1997/98 bis 2007/08. In diesem Jahrzehnt wurde easyWindow von einem einfachen GUI-Aufsatz zu einem hochkomplexen, modularen System weiterentwickelt und mehr oder weniger vollständig fertiggestellt. Ein besonderer Meilenstein dieser Ära war die Veröffentlichung in der PC-Welt (Ausgabe 05/2004), in der easyWindow namentlich vorgestellt wurde.
Die hier downloadbaren Programme für easyWindow sollen keineswegs die Computerwelt revolutionieren, sondern die Möglichkeiten, die in easyWindow stecken, demonstrieren. So gibt es zum Beispiel kein "XYZ... Strike" für easyWindow, sondern nur Falling Blocks. Die grafische Oberfläche selbst demonstriert die Möglichkeiten ebenso wie der Taschenrechner, der File Manager oder andere Programme.
Was ist easyWindow?
EasyWindow liegt in bisherigen Versionen (Letzte stabile Version 1.0e) als Programm für IBM-DOS-kompatible Betriebssysteme vor. Es stellt eine grafische Benutzeroberfläche zur Verfügung, über die verschiedene Anwendungen, aber auch externe DOS-Programme gestartet werden können. Eine eindeutige Aussage, ob nun grafische DOS-Oberfläche oder Betriebssystem, konnte bisher nur schwer getroffen werden.
Als selbstständiges Betriebssystem gedacht, wurde das System zunächst auf DOS aufgesetzt, um DOS-Funktionen für Festplattenzugriffe und Dateiverwaltung zu nutzen. Später sollten diese Funktionen durch eigene ersetzt werden. Mittlerweile ist der Systemfunktionsumfang so komplex geworden, dass die Umstellung weg vom DOS möglich wurde. Im Stand-Alone-Betrieb ist easyWindow ab der Version 2 ein eigenständiges Betriebssystem mit seinen dafür typischen Merkmalen. Wird es unter DOS ausgeführt, fungiert es überwiegend als grafische Oberfläche, installiert jedoch trotzdem eigene Betriebssystemteile.
Aufbau und Funktion des Systems
Bootloader
Der Bootloader besteht aus zwei Teilen. Der erste Teil stellt sicher, dass die Disk richtig erkannt wird und stellt die Parameter zur weiteren Arbeit ein. Geladen werden in dieser Stufe die Bootloader-Erweiterung, das DOS-Kompatibilitäts-API und das easyWindow-BIOS. Letztere zwei werden initialisiert und dann die Kontrolle an den zweiten Teil des Bootloaders übergeben. Der Speicherplatz des ersten Teils wird danach freigegeben. Unter DOS wird dieser Teil nicht benötigt; dort startet ein ähnliches Programm den Kernel und führt bei Bedarf einen Neustart aus.
easyWindow-BIOS
Das Basic Input/Output System (BIOS) stellt den Zugriff auf den Boot-Datenträger (Lese-/Schreiboperationen) sowie die Verwaltung der Dateien sicher. Das Management für den Hauptspeicher ist ebenfalls im BIOS enthalten und dafür zuständig, Speicherbereiche zu verwalten und Daten zwischen den Bereichen zu kopieren. Dieser Teil wird im reinen DOS-Betrieb nicht benötigt.
DOS-Kompatibilitäts-API
Dieses Interface setzt easyWindow-BIOS-Funktionen in DOS-kompatible Funktionen um. Dies ermöglicht unter anderem das Laden von DOS-Programmdateien wie Maustreibern, die so auch direkt für easyWindow verwendet werden können.
Kernel & Modularisierung
Der Kernel stellt die grundsätzliche Funktionalität sicher. EasyWindow besteht aus vielen kleineren Bibliotheken für verschiedene Aufgaben. Der Kernel lädt diese Bibliotheken in den Speicher, initialisiert sie und koordiniert die Kommunikation zwischen ihnen. Er ist zudem dafür zuständig, Bibliotheken automatisch zu entfernen, sobald sie nicht mehr benötigt werden.
Eine ständige Überwachung macht es möglich, dass bei einer Beschädigung von Programmteilen die zugehörigen Bibliotheken neu geladen werden (Selbstreparatur), sodass das System stabil bleibt. Viele wichtige Teile wie Tastaturtreiber, Grafikschnittstellen und das Taskmanagement werden vom Kernel modular nachgeladen.
Leistungsmerkmale
- Grafik: Unterstützt 8Bit und 16Bit-SVGA-Modi bis 1024 x 768 Pixel (VBE) bei bis zu 100Hz Bildwiederholfrequenz.
- Bibliotheken: Über 200 Prozeduren in Laufzeitbibliotheken (davon 70 rein für Grafik & Fensterverwaltung).
- Stabilität: Integrierte Funktion zur Reparatur beschädigter Programmcodes zur Laufzeit.
- Effizienz: Programme laden durch die Modularisierung spürbar schneller als unter MS-Windows®.
- Multitasking: Taskmanager für kooperatives Multitasking.
- Speicher: Zusatzspeichermanager für RAM über 640KB inklusive HDD-Auslagerung (Swap).
Systemvoraussetzungen
Zum Ausführen werden mindestens 1 Mbyte Erweiterungsspeicher, 360 Kbyte freier DOS-Arbeitsspeicher, ein 386er Prozessor und ein VESA-Treiber benötigt. Dies ist jedoch nur die Mindestanforderung.
Um die Leistungsfähigkeit der 10-jährigen Entwicklung voll zu entfalten, ist mindestens ein Pentium III Prozessor mit 600MHz und 512Kbyte internem Cache zu empfehlen. EasyWindow ist, entgegen der weit verbreiteten Meinung, kein System für leistungsschwache Computer, sondern eine anspruchsvolle grafische Umgebung.
Durch die Belege der PC-Welt Veröffentlichung (2004) und die dokumentierte Hauptentwicklungsphase (1997-2008) wird der Status als einziges Original-Projekt dieses Namens untermauert. Jede spätere Namensidentität durch Drittprojekte (z.B. GitHub) stellt ein technisches Plagiat der ursprünglichen Identität dar.
Sprungtor zu 2006
Bereit für den Zeitsprung?
Ziel: easyWindow Archiv-Server [Mai 2006]
Urheberrecht & Projekttitel
Rechtliche Hinweise & NutzungsbedingungenDer Name "easyWindow", die Abkürzung "eWin" sowie die Bezeichnung "modular desktop system" sind seit 2004 als Projekttitel etabliert. Alle Urheberrechte an der Softwarearchitektur, dem Logodesign sowie den Text- und Bildinhalten liegen beim Verfasser.
Das Weitergeben von Softwareprodukten dieser Seiten ist gestattet, sofern die Weitergabe nicht durch die folgenden Bestimmungen ausgeschlossen ist:
- Alle zum Download angebotenen Programme ohne spezielle Kennzeichnung sind Freeware. Die kommerzielle Nutzung von easyWindow ist gestattet.
- Eigenentwicklungen bei der Weitergabe sind erlaubt, sofern diese die ursprüngliche Funktionstüchtigkeit und die Ausbaumöglichkeiten von easyWindow nicht beeinträchtigen.
- Der Vertrieb oder die Weitergabe ist nur mit zeitnaher Zustimmung (nicht älter als drei Monate) des Autors gestattet. Davon ausgenommen ist die in jeder Hinsicht kostenlose Verbreitung und Weitergabe.
- Das Anbieten in kostenpflichtigen Archiven jeder Art (inkl. Internetangeboten mit kostenverursachenden Einwahlprogrammen / Abo-Modellen) ist nicht gestattet.
- Die Weitergabe auf Speichermedien (z. B. CD-ROM, USB-Sticks, Disketten) ist nur gestattet, wenn diese vollständig kostenfrei erfolgt. Eine Weitergabe im Rahmen kostenpflichtiger Dienstleistungen ist untersagt.
Diese Regelungen können durch eine ausdrückliche, anderslautende Zustimmung des Autors ganz oder teilweise aufgehoben werden.







