| 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 | + | # 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> | ||
| − | + | ==Software- & Treibertechnisches: FAT12 Dateizugriff== | |
| − | |||
| − | + | ===Einleitung=== | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
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' ( | + | 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! | ||
| − | + | ===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.): | ||
| − | + | ||
| + | <pre> | ||
; - - - - - [ Dateien finden - CODE ] - - - - - | ; - - - - - [ Dateien finden - CODE ] - - - - - | ||
start: | start: | ||
| Zeile 883: | Zeile 875: | ||
dw 0xFFFF | dw 0xFFFF | ||
; - - - - - [ Dateien finden - CODE ] - - - - - | ; - - - - - [ Dateien finden - CODE ] - - - - - | ||
| − | </pre> | + | </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! | ||
| − | + | ||
| + | ===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. | ||
| − | + | ||
| + | <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> | + | </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. | ||
| − | + | ||
| + | ===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. | + | 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. | + | 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 :) | ||
| − | + | <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> | + | </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 ;) | ||
| − | + | ||
| + | ===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. | ||
| − | + | ||
| + | <pre> | ||
; - - - - - [ Dateien schreiben - CODE ] - - - - - | ; - - - - - [ Dateien schreiben - CODE ] - - - - - | ||
start: | start: | ||
| Zeile 1.308: | Zeile 1.310: | ||
; - - - - - [ Dateien schreiben - CODE ] - - - - - | ; - - - - - [ Dateien schreiben - CODE ] - - - - - | ||
| − | </pre | + | </pre> |
Macht genau was er soll, darum: Passt :) | Macht genau was er soll, darum: Passt :) | ||
| − | + | ||
| + | ===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! :) | + | 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> | |
- - - - - - - - - - - - - - - </font></p> | - - - - - - - - - - - - - - - </font></p> | ||
| − | + | ==Tipps & Tricks: INC und DEC== | |
| − | |||
<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. | ||
| − | + | ||
<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> | ||
| − | + | ==Codeschnippsel: Sprung in den Protected Mode== | |
| − | + | <pre> | |
| − | |||
;;; 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 | + | </pre> |
| − | + | ==OS-Showcase: ReactOS== | |
| − | + | ===Screenshots=== | |
| − | + | http://www.joachim-neu.de/public/lowlevel/7/10_1.png | |
| − | + | http://www.joachim-neu.de/public/lowlevel/7/10_2.png | |
| − | + | ||
| − | + | ===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. | + | 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. | + | 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. | ||
| − | + | ||
| + | ===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. | ||
| − | + | ||
| + | ===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. | + | von ReactOS. Die Seite macht einen gepflegten Eindruck. |
| − | |||
| − | |||
| − | |||
| − | |||
| + | ==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 | + | </table> |
| − | + | ==Kolumne: Technischer Fortschritt== | |
| − | |||
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> | ||
| − | + | ==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. | ||
| − | + | ||
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> | ||
| − | + | ==Vermischtes: Meilensteine in der Geschichte von DOS/Windows== | |
| − | |||
| − | |||
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. | + | 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. | + | 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 | + | 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. | ||
| − | + | ||
| − | + | ==Schluss & Impressum== | |
| − | + | ===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! | + | grandiosen Projekt! |
| − | + | ||
| + | ===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 | + | </table> |