Skip to main content.

Navigation:

Entwicklungsumgebung

Für die Bearbeitung der Programmieraufgaben haben wir die benötigte Software in unserem Labor auf Linux-Maschinen (eos-lab*) installiert. Eine Entwicklung unter Solaris wird von uns nicht direkt unterstützt. Ihr könnt die Aufgaben natürlich auch zu Hause bearbeiten. Wir empfehlen hierzu den Einsatz von Linux (od. FreeBSD). Weiter unten finden sich einige Hinweise, wie ihr euren Rechner entsprechend konfigurieren könnt.

Achtung! Wer die Software bei sich zu Hause installieren möchte, trägt natürlich die volle Verantwortung für eventuelle auftretende Pannen. Fehlgeschlagene Installationen werden von uns auch nicht als Entschuldigung für verspätete Abgaben der Aufgaben akzeptiert. Da sich bei der Betriebssystementwicklung ab und zu auch Fehler einschleichen können, solltet ihr euere Lösungen vor der Abgabe testen. Ihr könnt dazu den Emulator (bochs) und einen echten PC im Labor (G29-334) benutzen.

Achtung! Bei der Abgabe benutzen wir immer den echten PC um euere Lösung zu kontrollieren.

OOStuBS EOS-Labor (eos-lab*)

OOStuBS auf anderen Rechnern

OOSTUBS Umgebung

Windows

Um OOSTUBS unter Windows entwickeln zu können, benötigt ihr die Entwicklungsumgebung Cygwin und den Bochs-Emulator. Bei der Installation von Cygwin sind folgende Pakete mit auszuwählen:

Nachdem ihr Cygwin installiert habt, müsst ihr die Cygwin-Shell starten, damit euer home-Verzeichniss erstellt wird. In dieses Verzeichniss müsst ihr, wie später beschrieben, die Entwicklungsumgebung (oostubs.tar.gz) sowie die Vorgaben entpacken. Ist die Entwicklungsumgebung entpackt, müsst ihr das Entwicklungssystem (Win98 für Windows 98 / Me; WinNT für Windows NT / 2000 / XP) im Makefile angeben. Dazu sucht ihr die Zeile in der die Variable GENSYS deklariert ist und ändert sie, z.B:

GENSYS = Linux verändert ihr beispielsweise zu: GENSYS = WinNT

Anschließend könnt ihr das System genau wie im Labor übersetzen. Wenn ihr zur Entwicklung Eclipse nutzen möchtet, muss das CDT-Plugin von Eclipse installiert und ein MakeFile-Projekt, das auf euer Vorgaben bzw. Lösungsverzeichniss zeigt, erzeugt sein. Um das Projekt zu übersetzen, muss im Projekt nur die Targets für make (all, clear und bootdisk) definiert werden.

Zum Testen eures Systems könnt ihr ebenfalls den Bochs-Emulator verwenden. Dazu müsst ihr die Windowsversion des Emulators installieren. Im Unterverzeichnis bochs der Entwicklungsumgebung ist bereits eine Batch Datei bochs.bat vorbereitet, mit der ihr den Emulator einfach starten könnt, indem ihr als Parameter ein Bootdisk-Image angebt. Vorher müsst ihr allerdings in der bochs.bat den Installationspfad des Emulators in der Variable BXSHARE angeben (z.B. set BXSHARE=c:\Programme\bochs-2.1.1). Danach könnt ihr den Emulator mit dem gewünschten Image starten (z.B. $ bochs/bochs.bat loesung/build/bootdisk.img)

Linux, Unix, FreeBSD

Um OOSTUBS unter Linux, Unix oder FreeBSD entwickeln zu können, benötigt ihr zusätzlich zum GCC den Netwider Assembler (NASM) und den Bochs-Emulator. Sind die dazu notwendigen Pakete installiert, kann die Entwicklungsumgebung wie folgt erzeugt werden.

  1. Verzeichniss für die Umgebung erzeugen (z.B. ~/oostubs)
  2. oostubs.tar.gz in dieses Verzeichniss entpacken
  3. make im Unterverzeichniss bochs ausführen. Dieser Aufruf passt einmalig die Pfade für die Konfiguration an (ersetzt Variablen mit absoluten Pfaden!!!).
  4. Ob euer bochs richtig installiert und konfiguriert ist, könnt ihr nun testen, indem ihr ins Verzeichniss oostubs/ wechselt und dort den Befehl bochs.sh bochs/bootdisk.img ausführt.
eosgr@eos-lab01:/tmp> cd ~
eosgr@eos-lab01:~> mkdir oostubs
eosgr@eos-lab01:~> cd oostubs
eosgr@eos-lab01:~/oostubs> tar xvfz oostubs.tar.gz
eosgr@eos-lab01:~/oostubs> cd bochs
eosgr@eos-lab01:~/oostubs/bochs> make
     

OOSTUBS übersetzen

OOSTUBS testen

Um euer Betriebssystem mit dem Emulator (bochs) zu testen, ruft ihr den Emulator einfach mit dem Diskettenimage als Parameter auf. Ihr könnt euch dazu per ssh mit einem Rechner im Labor (eos-lab*) verbinden. Dort könnt ihr dann den Emuloator starten.

user@home:~/user>ssh redir@eos-gw.cs.uni-magdeburg.de
eosgr@eos-lab01:~eosgr> cd ~/oostubs/loesung/
eosgr@eos-lab01:~/oostubs/loesung> bochs.sh ./build/bootdisk.img
     

Zum Testen mit richtiger PC-Hardware müsst ihr eine Bootdiskette (1,44MB 3 1/2") erstellen. Für diese Bootdisketten steht im Labor ein spezieller Testrechner zur Verfügung. Bitte verwendet nur diesen Rechner zum Testen eurer Bootdisketten. Zuhause könnt ihr natürlich auch eueren eigenen PC oder Laptop verwenden. Zum Erstellen der Bootdiskette gibt es eine eigenes TARGET: make bootdisk.