Ausgabe 7 — Änderungen 1818 → 1819

Zeile 459: Zeile 459:
 
zum Programmieren allgemein.
 
zum Programmieren allgemein.
  
−
# Programmiere auf Sicherheit! Es geht nicht um einen Geschwindigkeitsrekord, sondern um ein stabiles Betriebssystem. Deswegen beachte und bedenke jeden Fehler, der auftreten könnte und richte Fehlerbehandlungen ein. Du musst sie nicht gleich rein Implementieren, aber schaffe (wenn auch nur leere) Funktionen dafür, die
+
# Programmiere auf Sicherheit! Es geht nicht um einen Geschwindigkeitsrekord, sondern um ein stabiles Betriebssystem. Deswegen beachte und bedenke jeden Fehler, der auftreten könnte und richte Fehlerbehandlungen ein. Du musst sie nicht gleich rein implementieren, aber schaffe (wenn auch nur leere) Funktionen dafür, die du später erweitern kannst. Somit hast du ein sicheres Gerüst und gerätst nicht in die Falle, dass ein Code nicht geht, weil ein unerwarteter Fehler aufgetreten ist.
−
du später erweitern kannst. Somit hast du ein sicheres Gerüst und gerätst nicht in die Falle, dass ein Code nicht geht, weil ein unerwarteter Fehler aufgetreten ist.
 
 
# Schreibe nicht alles ab! Code den Code selber. Es wird dir helfen, das Zeug zu verstehen und eigener Code lässt sich besser ins System integrieren.
 
# Schreibe nicht alles ab! Code den Code selber. Es wird dir helfen, das Zeug zu verstehen und eigener Code lässt sich besser ins System integrieren.
 
# Entscheide dich fest für ein System und mach keine Abstriche. Versuche deine Gedanken durchzusetzen und gib nicht auf, bloß, weil was nicht klappt.
 
# Entscheide dich fest für ein System und mach keine Abstriche. Versuche deine Gedanken durchzusetzen und gib nicht auf, bloß, weil was nicht klappt.
Zeile 528: Zeile 527:
  
 
{|
 
{|
−
| +
+
| Vorteile
−
| -
+
| Nachteile
 
|-
 
|-
 
|  
 
|  
Zeile 558: Zeile 557:
 
sind, sprich man einen aktiven Task nicht wieder aktivieren kann.
 
sind, sprich man einen aktiven Task nicht wieder aktivieren kann.
 
{|
 
{|
−
| +
+
| Vorteile
−
| -
+
| Nachteile
 
|-
 
|-
 
|  
 
|  
Zeile 565: Zeile 564:
 
* Man kann alle Möglichkeiten des PM ausschöpfen
 
* Man kann alle Möglichkeiten des PM ausschöpfen
 
* Lässt sich leicht erweitern
 
* Lässt sich leicht erweitern
−
|-
+
|
 
* Verbraucht viel Platz
 
* Verbraucht viel Platz
 
* Taskwechsel dauert relativ lange
 
* Taskwechsel dauert relativ lange
Zeile 753: Zeile 752:
 
haben. Meine Kontaktdaten zum Melden bei Problemen finden sich im Impressum.</p>
 
haben. Meine Kontaktdaten zum Melden bei Problemen finden sich im Impressum.</p>
  
−
<h2><a name="Software- & Treibertechnisches"></a>Software- & Treibertechnisches</h2><p style="text-align:justify">
+
==Software- & Treibertechnisches: FAT12 Dateizugriff==
−
<p class="secthead">FAT12 Dateizugriff</p>
 
  
−
<b>Index:</b><br> 
+
===Einleitung===
−
0) Einleitung<br>
 
−
1) Dateien finden<br>
 
−
2) Dateien erstellen<br>
 
−
3) Dateien lesen<br>
 
−
4) Dateien schreiben<br>
 
−
5) Nachwort<br>
 
−
<br><b>0) Einleitung</b><br>
 
 
Ein Betriebssystem zu schreiben ist wirklich nicht einfach. Will man es jedoch machen,
 
Ein Betriebssystem zu schreiben ist wirklich nicht einfach. Will man es jedoch machen,
 
und man hat einen Bootloader und einen simplen Kernel, der einen Text ausgibt, geschrieben,
 
und man hat einen Bootloader und einen simplen Kernel, der einen Text ausgibt, geschrieben,
 
wird man schnell zum nächsten Problem kommen: Dateien! 'Wie/wo/was mache ich?' sind wohl die
 
wird man schnell zum nächsten Problem kommen: Dateien! 'Wie/wo/was mache ich?' sind wohl die
 
ersten Fragen. Mit diesem Tutorial möchte ich hier ein bisschen helfen. Wichtig: Ich gehe davon
 
ersten Fragen. Mit diesem Tutorial möchte ich hier ein bisschen helfen. Wichtig: Ich gehe davon
−
aus, dass ihr 'OS Dev-Tutorial' (LowLevel #1) und 'Das FAT12 Dateisystem' (LowLevel #4)  
+
aus, dass ihr 'OS Dev-Tutorial' ([Ausgabe 1]) und 'Das FAT12 Dateisystem' ([Ausgabe 4])  
 
gelesen und verstanden habt. OK, blabla, let's go!
 
gelesen und verstanden habt. OK, blabla, let's go!
  
−
<br><b>1) Dateien finden</b><br>
+
===Dateien finden===
 
Der erste Schritt, wenn man Dateizugriff machen will, ist natürlich die Dateien finden. Und wie?
 
Der erste Schritt, wenn man Dateizugriff machen will, ist natürlich die Dateien finden. Und wie?
 
Hier brauchen wir das 'Root-Directory' (=RD). Kurz: Das RD startet im 19. Sektor. Ein Dateieintrag ist
 
Hier brauchen wir das 'Root-Directory' (=RD). Kurz: Das RD startet im 19. Sektor. Ein Dateieintrag ist
Zeile 782: Zeile 773:
 
müsste man dann schon selber machen. Danke an mastermesh für das Tutorial in LL#1 - Für den Grund hab
 
müsste man dann schon selber machen. Danke an mastermesh für das Tutorial in LL#1 - Für den Grund hab
 
ich den Code verwendet.):
 
ich den Code verwendet.):
−
</p><pre class="code"><div id="title"><br></div>
+
 
 +
<pre>
 
;    - - - - - [ Dateien finden - CODE ] - - - - -
 
;    - - - - - [ Dateien finden - CODE ] - - - - -
 
     start:
 
     start:
Zeile 883: Zeile 875:
 
    dw 0xFFFF
 
    dw 0xFFFF
 
;    - - - - - [ Dateien finden - CODE ] - - - - -
 
;    - - - - - [ Dateien finden - CODE ] - - - - -
−
</pre><br><p style="text-align:justify">
+
</pre>
 +
 
 
Der Code tut, wie es sein sollte, das, was man von ihm erwartet: Er schreibt alle Dateinamen
 
Der Code tut, wie es sein sollte, das, was man von ihm erwartet: Er schreibt alle Dateinamen
 
im Root der Diskette untereinander auf. Also: Passt!
 
im Root der Diskette untereinander auf. Also: Passt!
−
<br><b>2) Dateien erstellen</b><br>
+
 
 +
===Dateien erstellen===
 
Nachdem wir jetzt die Dateien gelesen haben, dürften wir kein Problem mehr haben, eine neue Datei
 
Nachdem wir jetzt die Dateien gelesen haben, dürften wir kein Problem mehr haben, eine neue Datei
 
zu erstellen. Was ist wichtig? Zuerst müssen wir einen leeren Platz im Root-Directory für den
 
zu erstellen. Was ist wichtig? Zuerst müssen wir einen leeren Platz im Root-Directory für den
Zeile 896: Zeile 890:
 
umrechnen, und dann ist diese Zahl plus die Sektornummer des Eintrags die neue Adresse für den
 
umrechnen, und dann ist diese Zahl plus die Sektornummer des Eintrags die neue Adresse für den
 
neuen Eintrag. Also, hier ist der Code, wie es funktioniert, eine neue Datei anzulegen.
 
neuen Eintrag. Also, hier ist der Code, wie es funktioniert, eine neue Datei anzulegen.
−
</p><pre class="code"><div id="title"><br></div>
+
 
 +
<pre>
 
;    - - - - - [ Dateien erstellen - CODE ] - - - - -
 
;    - - - - - [ Dateien erstellen - CODE ] - - - - -
 
     start:
 
     start:
Zeile 1.041: Zeile 1.036:
 
    dw 0xFFFF
 
    dw 0xFFFF
 
;    - - - - - [ Dateien erstellen - CODE ] - - - - -
 
;    - - - - - [ Dateien erstellen - CODE ] - - - - -
−
</pre><br><p style="text-align:justify">
+
</pre>
 +
 
 
Es ist alles so einfach und klein wie möglich gehalten. Es fehlen einige JumpCarry, um sich vor
 
Es ist alles so einfach und klein wie möglich gehalten. Es fehlen einige JumpCarry, um sich vor
 
Abstürzen zu schützen. Da ich hier aber kein vollständiges OS schreiben will, sondern nur die
 
Abstürzen zu schützen. Da ich hier aber kein vollständiges OS schreiben will, sondern nur die
 
Infos, wie man so etwas machen kann, hab ich es nicht perfektioniert. Trotzdem: Der Code macht
 
Infos, wie man so etwas machen kann, hab ich es nicht perfektioniert. Trotzdem: Der Code macht
 
genau was er soll.
 
genau was er soll.
−
<br><b>3) Dateien lesen</b><br> 
+
 
 +
===Dateien lesen===
  
 
Nachdem wir wissen, wie man Dateien im Root-Directory finden kann und neu erstellen kann, kommt
 
Nachdem wir wissen, wie man Dateien im Root-Directory finden kann und neu erstellen kann, kommt
Zeile 1.054: Zeile 1.051:
 
natürlich trotzdem verwendet werden, muss nur Root_Entry in die echte gefundene Adresse geändert
 
natürlich trotzdem verwendet werden, muss nur Root_Entry in die echte gefundene Adresse geändert
 
werden. Außerdem ist es noch einfacher, da nicht immer zwischen Code (ES=0x1000) und dem gelesenen
 
werden. Außerdem ist es noch einfacher, da nicht immer zwischen Code (ES=0x1000) und dem gelesenen
−
Sektoren Daten (ES=0x2000) geändert werden.<br>
+
Sektoren Daten (ES=0x2000) geändert werden.
 +
 
 
Der Code ließt die Daten einer Datei, aber höchstens 512 Bytes. Das kann aber einfach geändert werden,
 
Der Code ließt die Daten einer Datei, aber höchstens 512 Bytes. Das kann aber einfach geändert werden,
 
habs hier nicht gemacht, weil es eigentlich nichts mit dem zu tun hat, was ich vermitteln möchte:
 
habs hier nicht gemacht, weil es eigentlich nichts mit dem zu tun hat, was ich vermitteln möchte:
−
Dateien lesen.<br>
+
Dateien lesen.
 +
 
 
Wie gesagt, der Code ist ganz kurz, bis aufs äußerste reduziert und so weiter. Funktioniert trotzdem :)
 
Wie gesagt, der Code ist ganz kurz, bis aufs äußerste reduziert und so weiter. Funktioniert trotzdem :)
−
</p><pre class="code"><div id="title"><br></div>
+
<pre>
 
;    - - - - - [ Dateien lesen - CODE ] - - - - -
 
;    - - - - - [ Dateien lesen - CODE ] - - - - -
 
     start:
 
     start:
Zeile 1.165: Zeile 1.164:
 
    dw 0xFFFF
 
    dw 0xFFFF
 
;    - - - - - [ Dateien lesen - CODE ] - - - - -
 
;    - - - - - [ Dateien lesen - CODE ] - - - - -
−
</pre><br><p style="text-align:justify">
+
</pre>
 +
 
 
Kurz - macht aber, was er soll. Man sollte natürlich, wenn man ein ersthaftes Projekt hat,
 
Kurz - macht aber, was er soll. Man sollte natürlich, wenn man ein ersthaftes Projekt hat,
 
auch Dateien, die größer sind als 1 Sektor lesen. Das ist aber nicht schwer. Man muss
 
auch Dateien, die größer sind als 1 Sektor lesen. Das ist aber nicht schwer. Man muss
Zeile 1.171: Zeile 1.171:
 
man es ganz toll machen möchte, könnte man natürlich auch die Schrift in einer schönen Farbe
 
man es ganz toll machen möchte, könnte man natürlich auch die Schrift in einer schönen Farbe
 
ausgeben lassen. Sieht sicher besonders gut aus ;)
 
ausgeben lassen. Sieht sicher besonders gut aus ;)
−
<br><b>4) Dateien schreiben</b><br>
+
 
 +
===Dateien schreiben===
 
Was bringt ein Betriebssystem, dass keine Dateien schreiben kann? Nichts. Darum hier der
 
Was bringt ein Betriebssystem, dass keine Dateien schreiben kann? Nichts. Darum hier der
 
Beispielcode, wie man in eine Datei schreibt. Dieser Code ähnelt sehr dem Lese-Code. Wenn
 
Beispielcode, wie man in eine Datei schreibt. Dieser Code ähnelt sehr dem Lese-Code. Wenn
Zeile 1.177: Zeile 1.178:
 
viele Bytes, und es wird wahrscheinlich (kommt drauf an, wie mans macht) viel übersichtlicher.<br>
 
viele Bytes, und es wird wahrscheinlich (kommt drauf an, wie mans macht) viel übersichtlicher.<br>
 
Also, der Code ist natürlich wieder beschrieben, darum muss ich hier nichts mehr erklären.
 
Also, der Code ist natürlich wieder beschrieben, darum muss ich hier nichts mehr erklären.
−
</p><pre class="code"><div id="title"><br></div>
+
 
 +
<pre>
 
;    - - - - - [ Dateien schreiben - CODE ] - - - - -
 
;    - - - - - [ Dateien schreiben - CODE ] - - - - -
 
     start:
 
     start:
Zeile 1.308: Zeile 1.310:
 
;    - - - - - [ Dateien schreiben - CODE ] - - - - -
 
;    - - - - - [ Dateien schreiben - CODE ] - - - - -
  
−
</pre><br><p style="text-align:justify">
+
</pre>
 
Macht genau was er soll, darum: Passt :)
 
Macht genau was er soll, darum: Passt :)
−
<br><b>5) Nachwort</b><br>
+
 
 +
===Nachwort===
 
Mit diesem Tutorial sollte man in der Lage sein, ein Betriebssystem zu schreiben, das mit
 
Mit diesem Tutorial sollte man in der Lage sein, ein Betriebssystem zu schreiben, das mit
 
Dateien kein Problem hat. Ich hoffe, du hast damit etwas gelernt, und fandest es interessant
 
Dateien kein Problem hat. Ich hoffe, du hast damit etwas gelernt, und fandest es interessant
Zeile 1.317: Zeile 1.320:
 
selber auch das ganze dazugelernt (hab vor dem Schreiben keinen Schimmer gehabt, wie ich auf
 
selber auch das ganze dazugelernt (hab vor dem Schreiben keinen Schimmer gehabt, wie ich auf
 
Dateien zugreife - dann hab ich es mir einfach als Ziel gesetzt, das zu schreiben).<br>
 
Dateien zugreife - dann hab ich es mir einfach als Ziel gesetzt, das zu schreiben).<br>
−
Nun, danke fürs Lesen & versuch es einfach mal mit Dateizugriff! :)<br>
+
Nun, danke fürs Lesen & versuch es einfach mal mit Dateizugriff! :)
 +
 
 
<font class="codetext"> - - - - - - - - - - - - - -<br>
 
<font class="codetext"> - - - - - - - - - - - - - -<br>
 
Second Part To Hell/[rRlf]  <br>
 
Second Part To Hell/[rRlf]  <br>
Zeile 1.324: Zeile 1.328:
  
 
geschrieben im Dezember 2004<br>
 
geschrieben im Dezember 2004<br>
−
Österreich<br>
+
Österreich<br>
 
- - - - - - - - - - - - - - - </font></p>
 
- - - - - - - - - - - - - - - </font></p>
  
−
<h2><a name="Tipps & Tricks"></a>Tipps & Tricks</h2><p style="text-align:justify">
+
==Tipps & Tricks: INC und DEC==
−
<p class="secthead">INC und DEC</p>
 
 
<b>Vorgeschichte:</b><br>
 
<b>Vorgeschichte:</b><br>
 
In diesem Tipp geht um die Sprache Assembler. Oft muss man in Assembler Zahlen um den numerischen Wert eins erhöhen  
 
In diesem Tipp geht um die Sprache Assembler. Oft muss man in Assembler Zahlen um den numerischen Wert eins erhöhen  
 
oder erniedrigen. Dieser Tipp ist zwar hauptsächlich für Assembler gedacht, da man nur dort die Codes direkt eingibt,  
 
oder erniedrigen. Dieser Tipp ist zwar hauptsächlich für Assembler gedacht, da man nur dort die Codes direkt eingibt,  
 
man weiß ja nie, was der C-Compiler alles baut, aber ich denke, dass es auch bei C nicht schadet, diesen Tipp zu verwenden.
 
man weiß ja nie, was der C-Compiler alles baut, aber ich denke, dass es auch bei C nicht schadet, diesen Tipp zu verwenden.
−
<br>
+
 
 
<b>Tipp:</b><br>
 
<b>Tipp:</b><br>
−
 
 
Benutze für dies lieber <font class="codetext">INC</font> und <font class="codetext">DEC</font> als <font class="codetext">ADD X,1</font> oder <font class="codetext">SUB X,1</font>. Das erste Befehlspaar wird  
 
Benutze für dies lieber <font class="codetext">INC</font> und <font class="codetext">DEC</font> als <font class="codetext">ADD X,1</font> oder <font class="codetext">SUB X,1</font>. Das erste Befehlspaar wird  
 
schneller ausgeführt und erzeugt nur ein Byte Opcodes im Vergleich zu den drei Bytes an Maschinencode die durch  
 
schneller ausgeführt und erzeugt nur ein Byte Opcodes im Vergleich zu den drei Bytes an Maschinencode die durch  
Zeile 1.345: Zeile 1.347:
 
von drei Bytes lesen muss.</p>
 
von drei Bytes lesen muss.</p>
  
−
<h2><a name="Codeschnippsel"></a>Codeschnippsel</h2><p style="text-align:justify">
+
==Codeschnippsel: Sprung in den Protected Mode==
−
<p class="secthead">Sprung in den Protected Mode</p>
+
<pre>
−
</p><pre class="code"><div id="title"><br></div>
 
 
;;;  Ein kleines Beispiel, wie man in den 32-Bit Protected Mode wechselt
 
;;;  Ein kleines Beispiel, wie man in den 32-Bit Protected Mode wechselt
 
;;;  Bei Fragen kann man sich einfach an stefan.marcik@web.de oder
 
;;;  Bei Fragen kann man sich einfach an stefan.marcik@web.de oder
Zeile 1.397: Zeile 1.398:
 
   db 0x00 ; Segmentadresse 24..31
 
   db 0x00 ; Segmentadresse 24..31
 
gdt_end
 
gdt_end
−
</pre><br><p style="text-align:justify"></p>
+
</pre>
  
−
<h2><a name="OS-Showcase"></a>OS-Showcase</h2><p style="text-align:justify">
+
==OS-Showcase: ReactOS==
−
<p class="secthead">ReactOS</p>
+
===Screenshots===
  
−
<b>Screenshots:</b><br>
+
http://www.joachim-neu.de/public/lowlevel/7/10_1.png
−
</p><table class="ntable" border="1" bordercolor="#000000" cellspacing="0" cellpadding="2"><tr><td class="tableinfo"><img src="http://www.joachim-neu.de/public/lowlevel/7/10_1.png" alt="Screenshot 1"><br></td>
+
http://www.joachim-neu.de/public/lowlevel/7/10_2.png
−
<td class="tableinfo"><img src="http://www.joachim-neu.de/public/lowlevel/7/10_2.png" alt="Screenshot 2"><br></td></tr></table><br><p style="text-align:justify">
+
 
−
<b>Geschichte:</b><br>
+
===Geschichte===
 
Nun, ReactOS ist schon eines der älteren Betriebssystemprojekte. Die Entwickler haben schon sehr viel erreicht.
 
Nun, ReactOS ist schon eines der älteren Betriebssystemprojekte. Die Entwickler haben schon sehr viel erreicht.
 
Das Betriebssystem ist seit 1996 in Entwicklung. Aber wie es halt meistens so ist (man sieht es an unserem Comm-OS)
 
Das Betriebssystem ist seit 1996 in Entwicklung. Aber wie es halt meistens so ist (man sieht es an unserem Comm-OS)
Zeile 1.411: Zeile 1.412:
 
erfüllen, aber die Mitglieder verliefen und verstrickten sich in tiefen Design-Theoretischem-Gerede. Es kam nix zustande.
 
erfüllen, aber die Mitglieder verliefen und verstrickten sich in tiefen Design-Theoretischem-Gerede. Es kam nix zustande.
 
1997 griff Jason Filby das ganze wieder auf und nannte das Projekt um zu "ReactOS", was von dem damals wie heute tief
 
1997 griff Jason Filby das ganze wieder auf und nannte das Projekt um zu "ReactOS", was von dem damals wie heute tief
−
verwurzelten Unbehagen gegen Microsofts Monopolstellung kam.<br>
+
verwurzelten Unbehagen gegen Microsofts Monopolstellung kam.
 +
 
 
Im Februar 1998 beginnt also der steinige Aufstieg von ReactOS. Langsam aber sicher erstellen die Programmierer massig
 
Im Februar 1998 beginnt also der steinige Aufstieg von ReactOS. Langsam aber sicher erstellen die Programmierer massig
 
Kernelcode, jedoch war es nur wenigen möglich, wirklich am Kernel zu arbeiten. Nachdem der Kernel nach einiger Zeit
 
Kernelcode, jedoch war es nur wenigen möglich, wirklich am Kernel zu arbeiten. Nachdem der Kernel nach einiger Zeit
 
stabil lief wurde das Schreiben von IDE- und anderen Treibern unerlässlich. Von nun an war es mehr Leuten möglich,
 
stabil lief wurde das Schreiben von IDE- und anderen Treibern unerlässlich. Von nun an war es mehr Leuten möglich,
−
in die Entwicklung von ReactOS einbezogen zu werden.<br>
+
in die Entwicklung von ReactOS einbezogen zu werden.
 +
 
 
Heute ist ReactOS mit einem stabilen Kernel versehen und die API ist soweit ausgebaut, Möglichkeiten für eine höhere
 
Heute ist ReactOS mit einem stabilen Kernel versehen und die API ist soweit ausgebaut, Möglichkeiten für eine höhere
 
Programmierung von Programmen freizugeben. Heute schreiben viele Leute an Programmen und Funktionsbibliotheken für
 
Programmierung von Programmen freizugeben. Heute schreiben viele Leute an Programmen und Funktionsbibliotheken für
Zeile 1.424: Zeile 1.427:
 
sehen die Nahe Zukunft in der Installation von Subsystemen für Java, OS/2 und DOS. ReactOS steht also ein gewaltiges
 
sehen die Nahe Zukunft in der Installation von Subsystemen für Java, OS/2 und DOS. ReactOS steht also ein gewaltiges
 
Wachstum bevor, auf das wir alle gespannt sein dürfen.
 
Wachstum bevor, auf das wir alle gespannt sein dürfen.
−
<br><b>Features:</b><br>
+
 
 +
===Features===
 
Was kann ReactOS? Genaue Auflistungen sind schwer zu bekommen, vielmehr bekommt man auf der Homepage einen Gesamteindruck
 
Was kann ReactOS? Genaue Auflistungen sind schwer zu bekommen, vielmehr bekommt man auf der Homepage einen Gesamteindruck
 
und eine Übersicht, was funktioniert und was nicht, allerdings keine kongrete Liste von Features.<br>
 
und eine Übersicht, was funktioniert und was nicht, allerdings keine kongrete Liste von Features.<br>
Zeile 1.437: Zeile 1.441:
 
viele Treiber fest in den Kernel eingecodet. Im Moment wird daran gearbeitet, auch Treiber dritter (zum Beispiel von
 
viele Treiber fest in den Kernel eingecodet. Im Moment wird daran gearbeitet, auch Treiber dritter (zum Beispiel von
 
Microsoft) zum Laufen zu bringen und benutzbar zu machen.
 
Microsoft) zum Laufen zu bringen und benutzbar zu machen.
−
<br><b>Daten/Kontakt zum Projekt:</b><br>
+
 
 +
===Daten/Kontakt zum Projekt:===
 
Das Projekt läuft seit 1996. Der Leiter ist Jason Filby schon seid 1997. Erreichbar ist ReactOS über  
 
Das Projekt läuft seit 1996. Der Leiter ist Jason Filby schon seid 1997. Erreichbar ist ReactOS über  
 
<a href="www.reactos.com">www.ReactOS.com</a>. Dort findet man auch sehr viele Informationen für Programmierer und Benutzer
 
<a href="www.reactos.com">www.ReactOS.com</a>. Dort findet man auch sehr viele Informationen für Programmierer und Benutzer
−
von ReactOS. Die Seite macht einen gepflegten Eindruck.</p>
+
von ReactOS. Die Seite macht einen gepflegten Eindruck.
−
 
 
−
<h2><a name="Interview"></a>Interview</h2><p style="text-align:justify">
 
−
<p class="secthead">Legend von LegendOS</p>
 
−
</p><table class="ntable" border="1" bordercolor="#000000" cellspacing="0" cellpadding="2">
 
  
 +
==Interview: Legend von LegendOS==
 +
<table class="ntable" border="1" bordercolor="#000000" cellspacing="0" cellpadding="2">
 
<tr>
 
<tr>
 
<th class="infohead">Person</th><th class="infohead">Text</th>
 
<th class="infohead">Person</th><th class="infohead">Text</th>
Zeile 1.482: Zeile 1.485:
 
noch Techniken wie z.B. Corba umsetzen muss.</td></tr>
 
noch Techniken wie z.B. Corba umsetzen muss.</td></tr>
  
−
</table><br><p style="text-align:justify"></p>
+
</table>
  
−
<h2><a name="Kolumne"></a>Kolumne</h2><p style="text-align:justify">
+
==Kolumne: Technischer Fortschritt==
−
<p class="secthead">Technischer Fortschritt</p>
 
 
Neulich war ich mal wieder (wie in meinem Alter üblich) beim McDonalds im nächsten Kaff. Neben dem Eingang prangert da seit  
 
Neulich war ich mal wieder (wie in meinem Alter üblich) beim McDonalds im nächsten Kaff. Neben dem Eingang prangert da seit  
 
kurzem ein Schild mit der Aufschrift ?WLan Hotspot? von T-Online. Das macht mich irgendwie nachdenklich. Letztes Jahr hatte
 
kurzem ein Schild mit der Aufschrift ?WLan Hotspot? von T-Online. Das macht mich irgendwie nachdenklich. Letztes Jahr hatte
Zeile 1.503: Zeile 1.505:
 
Luft bei der Lösungsfindung zu einem Problem ^-^.</p>
 
Luft bei der Lösungsfindung zu einem Problem ^-^.</p>
  
−
<h2><a name="Bericht ausm Forum"></a>Bericht ausm Forum</h2><p style="text-align:justify">
+
==Bericht ausm Forum==
 
Die Frage, die uns seid längerem beschätigt ist die, wie es nun weiter geht mit dem Lowlevel-Magazin.  
 
Die Frage, die uns seid längerem beschätigt ist die, wie es nun weiter geht mit dem Lowlevel-Magazin.  
 
Dieses Thema wird schon seid einiger Zeit im Forum heftig diskuttiert und man ist zu der Meinung gekommen das  
 
Dieses Thema wird schon seid einiger Zeit im Forum heftig diskuttiert und man ist zu der Meinung gekommen das  
Zeile 1.511: Zeile 1.513:
 
meisten Mitgliedern im Grossen und Ganzen gefallen hat. Sicherlich lassen sich da noch einige Änderung machen lassen  
 
meisten Mitgliedern im Grossen und Ganzen gefallen hat. Sicherlich lassen sich da noch einige Änderung machen lassen  
 
trotzdem ich denke dieses Mitglied hat doch schonmal den Stoss in die richtige Richtung gemacht.
 
trotzdem ich denke dieses Mitglied hat doch schonmal den Stoss in die richtige Richtung gemacht.
−
</p><p style="text-align:justify">
+
 
 
Während diesen Diskussionen kam man auf die Idee ein Projekt zu machen, in dem Teil für Teil ein Betriebssystem entsteht.  
 
Während diesen Diskussionen kam man auf die Idee ein Projekt zu machen, in dem Teil für Teil ein Betriebssystem entsteht.  
 
Es soll sowohl Neulinge den Weg des OS-Developing zeigen als auch erfahrenen Programmierern vielleicht die ein oder andere  
 
Es soll sowohl Neulinge den Weg des OS-Developing zeigen als auch erfahrenen Programmierern vielleicht die ein oder andere  
Zeile 1.524: Zeile 1.526:
 
mit dem Magazin und den "CommOS" weitergehen sollte.</p>
 
mit dem Magazin und den "CommOS" weitergehen sollte.</p>
  
−
<h2><a name="Vermischtes"></a>Vermischtes</h2><p style="text-align:justify">
+
==Vermischtes: Meilensteine in der Geschichte von DOS/Windows==
−
 
 
−
<p class="secthead">Meilensteine in der Geschichte von DOS/Windows</p>
 
  
 
Diese Geschichte beginnt mit schon viel früher, als es überhaupt das erste DOS gab. Sie beginnt, mit dem damals sehr  
 
Diese Geschichte beginnt mit schon viel früher, als es überhaupt das erste DOS gab. Sie beginnt, mit dem damals sehr  
 
jungen Bill Gates, der die noch heute sehr beliebte Programmiersprache BASIC entwickelte. Etwas später entwickelte dann  
 
jungen Bill Gates, der die noch heute sehr beliebte Programmiersprache BASIC entwickelte. Etwas später entwickelte dann  
 
die Firma Digital Research die erste Version von Micro Control Program (CP/M) , das vor allem im Hobby-Sektor genutzt  
 
die Firma Digital Research die erste Version von Micro Control Program (CP/M) , das vor allem im Hobby-Sektor genutzt  
−
wurde.<br>
+
wurde.
 +
 
 
Um seine Produkte besser zu vermarkten, gründete Bill Gates zu dieser Zeit die Firma Microsoft, die vor allem BASIC-Produkte
 
Um seine Produkte besser zu vermarkten, gründete Bill Gates zu dieser Zeit die Firma Microsoft, die vor allem BASIC-Produkte
 
und Unix-Systeme verkaufte. 1980 entschied sich dann auch IBM in die Computer-Branche einzutreten. IBM hatte gerade
 
und Unix-Systeme verkaufte. 1980 entschied sich dann auch IBM in die Computer-Branche einzutreten. IBM hatte gerade
Zeile 1.546: Zeile 1.547:
 
DOS wurde bis zur Version 4 nur von IBM und Microsoft entwickelt. Später kamen dann PC-DOS von IBM, Der Klone  
 
DOS wurde bis zur Version 4 nur von IBM und Microsoft entwickelt. Später kamen dann PC-DOS von IBM, Der Klone  
 
DR-DOS von Digital Research, das dann von der Firma Novell übernommen wurde, sodass Novell-DOS endstand und das MS-DOS  
 
DR-DOS von Digital Research, das dann von der Firma Novell übernommen wurde, sodass Novell-DOS endstand und das MS-DOS  
−
der Firma Microsoft.<br>
+
der Firma Microsoft.
 +
 
 
Schon bald gab es die ersten Firmen, wie Xerox und Apple, die die ersten grafischen Benutzeroberflächen mit Maus-Bedienug  
 
Schon bald gab es die ersten Firmen, wie Xerox und Apple, die die ersten grafischen Benutzeroberflächen mit Maus-Bedienug  
 
entwickelten. Microsoft fühlte sich unter Druck gesetzt und versuchte auch ein solches Betriebssystem zu entwickeln.  
 
entwickelten. Microsoft fühlte sich unter Druck gesetzt und versuchte auch ein solches Betriebssystem zu entwickeln.  
Zeile 1.563: Zeile 1.565:
 
Debuggers ein, der prüfen konnte, ob der Code auch im Protected Mode funktioniert. So mussten nur die problematischen  
 
Debuggers ein, der prüfen konnte, ob der Code auch im Protected Mode funktioniert. So mussten nur die problematischen  
 
Stellen in Windows 2.03 korrigiert werden. Und still und heimlich wurde das Windows 3.00 über Nacht entwickelt, welches  
 
Stellen in Windows 2.03 korrigiert werden. Und still und heimlich wurde das Windows 3.00 über Nacht entwickelt, welches  
−
im Juni 1990 zum ersten Mal vorgestellt wurde. Dieses Windows wurde zum Verkaufsschlager. Windows war außer Konkurenz.<br>
+
im Juni 1990 zum ersten Mal vorgestellt wurde. Dieses Windows wurde zum Verkaufsschlager. Windows war außer Konkurrenz.
  
 
Die folgenden Windows-Systeme ähnelten sich sehr, bis im August 1995 Windows 95 vorgestellt wurde. Windows 95 ist bis jetzt
 
Die folgenden Windows-Systeme ähnelten sich sehr, bis im August 1995 Windows 95 vorgestellt wurde. Windows 95 ist bis jetzt
Zeile 1.573: Zeile 1.575:
 
Die neusten Versionen von Windows (windows XP) basieren auch heute noch auf Windows 2000 und sind 32Bit-Systeme.
 
Die neusten Versionen von Windows (windows XP) basieren auch heute noch auf Windows 2000 und sind 32Bit-Systeme.
 
Es sollen aber in Zukunft Windows Versionen entwickelt werden, die 64Bit-Systeme sind.
 
Es sollen aber in Zukunft Windows Versionen entwickelt werden, die 64Bit-Systeme sind.
−
</p>
+
 
−
<h2><a name="Schluss & Impressum"></a>Schluss & Impressum</h2><p style="text-align:justify">
+
==Schluss & Impressum==
−
<b>Schluss</b><br>
+
===Schluss===
 
So, das war die 7. Ausgabe des Magazins. Sie ist meiner Meinung nach relativ umfangreich geworden und auch die Beiträge
 
So, das war die 7. Ausgabe des Magazins. Sie ist meiner Meinung nach relativ umfangreich geworden und auch die Beiträge
 
gefallen mir. Die Ausgabe habe ich nach dem Erscheinen noch auf Rechtschreibfehler geprüft, dies hier hinzugefügt und  
 
gefallen mir. Die Ausgabe habe ich nach dem Erscheinen noch auf Rechtschreibfehler geprüft, dies hier hinzugefügt und  
Zeile 1.584: Zeile 1.586:
 
Zeit für die Artikel zu opfern. Ich hoffe, an der nächsten Ausgabe arbeiten wieder so viele Leute mit, sodass auch die  
 
Zeit für die Artikel zu opfern. Ich hoffe, an der nächsten Ausgabe arbeiten wieder so viele Leute mit, sodass auch die  
 
wieder gut und lang wird. Bis dahin möchte ich mich verabschieden und alle bitten, sich auch zu beteiligen an diesem  
 
wieder gut und lang wird. Bis dahin möchte ich mich verabschieden und alle bitten, sich auch zu beteiligen an diesem  
−
grandiosen Projekt!<br>
+
grandiosen Projekt!
−
<b>Impressum</b><br>
+
 
 +
===Impressum===
 
Alle hier dargestellten Artikel entsprechen der Meinung der Redakteure und spiegeln nicht unbedingt die Meinung der  
 
Alle hier dargestellten Artikel entsprechen der Meinung der Redakteure und spiegeln nicht unbedingt die Meinung der  
 
Redaktion wieder. Jeder Redakteur ist für seinen eigenen Beitrag verantwortlich. Zugehörigkeiten entnehmen Sie bitte der
 
Redaktion wieder. Jeder Redakteur ist für seinen eigenen Beitrag verantwortlich. Zugehörigkeiten entnehmen Sie bitte der
Zeile 1.634: Zeile 1.637:
 
<tr><td class="tableinfo">Kienz, Peter</td><td class="tableinfo">BlueB</td><td class="tableinfo">peterkienz@web.de</td><td class="tableinfo">---</td><td class="tableinfo">250-161-210</td><td class="tableinfo">---</td></tr>
 
<tr><td class="tableinfo">Kienz, Peter</td><td class="tableinfo">BlueB</td><td class="tableinfo">peterkienz@web.de</td><td class="tableinfo">---</td><td class="tableinfo">250-161-210</td><td class="tableinfo">---</td></tr>
  
−
</table><br><p style="text-align:justify"></p>
+
</table>