Eigenes OS?
-
So ein schweres Thema so einfach erklärt!
Freut mich, dass Du das so siehst, denn dies war genau mein Ziel.
Allerdings wird das Thema OSDev rasch komplex, auch bedingt durch die manuelle Nutzung aller Tools. Man lernt dabei aber eine Menge, vor allem Beharrlichkeit und Tiefgang.So einfach also manche Wegstrecke ist, OSDev bietet immer wieder harte Hürden, aber genau dafür habe ich "PrettyOS" als konkretes Beispiel für ein Hobby-OS-Projekt, zuerst alleine später mit anderen zusammen, entwickelt. Im Team kommt man eher vom toten Punkt weg hin zu einer Lösung. Es gibt aber auch Gebiete, da bleibt man ziemlich einsam, so hart das auch sein mag. Das sind dann wirkliche Herausforderungen.
-
Das Thema "Netzwerk" ist wieder voll in die Gänge gekommen. Ein neuer "developer", der professionelles know-how mitbringt, hat unser Team verstärkt. PrettyOS hat die Durststrecke hinter sich gelassen. Solche Phasen gibt es bei vielen Projekten, wahrlich kein Grund aufzugeben, sondern erst recht beharrlich zu bleiben.
-
Wenn ich mich jetzt bei der OS-Entwicklung auch anmelden würde, würdet ihr mich dann erstmal über die OS-Entwicklung belehren? Assembler habe ich gestern angefangen.
-
Hast Du bereits einige Tutorials durchgearbeitet?
http://www.henkessoft.de/OS_Dev/OS_Dev1.htm
http://www.lowlevel.eu/wiki/OS-Dev_für_Einsteiger
http://www.jamesmolloy.co.uk/tutorial_html/index.html (James Molloy auf Basis eines älteren Tutorials)
http://www.brokenthorn.com/Resources/OSDevIndex.html (BrokenThorn Entertainment, Co. )Am besten kommst du in den Chat: IRC-Server: irc.euirc.net Channel: #PrettyOS
(hierzu ist "Nettalk" als client empfehlenswert)
-
PrettyOS steht wieder in voller Blüte. An allen Ecken wird gewerkelt.
-
Nach erfolgreichem DHCP Discover - Offer - Request - ACK können wir erneut einen Meilenstein im Netzwerkbereich bei TCP/IPv4 vermelden:
http://www.c-plusplus.net/forum/p2078200#2078200 TCP 3-way-handshake SYN - SYN/ACK - ACK
http://compsec.org/security/images/pentesting/3way.jpg
http://ironbark.bendigo.latrobe.edu.au/subjects/DC/lectures/17/tcp-handshake.pngDas sind die freudigen Momente bei OSDev.
-
Nach dem "passive open" ist nun auch das "active open" gelungen. Dabei senden wir das SYN und das ACK.
Der Datentausch gelingt bereits gut, z.B. sowohl als telnet Client als auch als Server. Server kann PrettyOS sein mit telnet als Client, oder auch umgekehrt mit PrettyOS als Client und dem telnet dienst (in Win XP) als Server bzw. einem selbst geschriebenen Server (z.B. dem von MrX).
-
PrettyOS goes to Internet. Wir haben es geschafft!
http://www.c-plusplus.net/forum/p2080542#2080542Das ist ein besonderer Moment, wenn das selbst geschaffene TCP-Modul es schafft, dem Router die Verbindung zum Internet zu entlocken.
Hier geht ein besonderer Dank an unseren Chef-Tester Cuervo, der uns den Link zu diesem herrlichen "Starwars"-Telnet-Server gab.
EDIT: Nun geht auch das "Ziehen" einer HTML-Seite: http://www.c-plusplus.net/forum/p2080629#2080629
tcp_send(connection, "GET / HTTP/1.0\r\nHost: www.henkessoft.de\r\n\r\n", strlen("GET / HTTP/1.0\r\nHost: www.henkessoft.de\r\n\r\n"), ACK_FLAG, connection->tcb.SND_NXT, connection->tcb.SND_UNA);
-
Heute ist gelungen, eine kleine Netzwerk-API zum Laufen zu bekommen.
Das erste User-Programm zieht die Daten von dem bekannten telnet-Server:
http://www.c-plusplus.net/forum/p2084431?sid=e87c6e3575b25c6a7266509a9b3b2cf8#2084431
-
Heute ist gelungen, dass sich ein User-Programm aus PrettyOS heraus in den IRC "einwählte" und sich in die Kanäle #PrettyOS und #Lost einloggte.
Wieder ein kleiner Meilenstein. Gerade die Nutzung des Internets macht wirklich Laune, und man lernt die einzelnen Anwendungen und Abläufe hierbei detailliert kennen. Wer Netzwerk bei OSDev macht, der kennt sich wirklich aus.
-
ich wollt das ganze mit Netzwerk ja mal testen ,
nur hier auf dem PC läuft das fertige Image mit Bochs und Qemu nicht mehr richtig, und neu builden lässt sich das ganze auch nicht
der andere computer (laptop) lief gerade bei Bochs 'so nen bischen' heiß,
dann bin ich da auch nicht zu gekommen.
-
@neuer_user: jeder Anfang ist nicht hürdenfrei, dafür aber immer spannend. Also am Ball bleiben. Wir helfen gerne.
-
Wie wichtig und nützlich jedes einzelne Modul sein kann, erkennt man z.B. bei der Protokollierung ausgewählter TCP-Paketdaten über die serielle Schnittstelle in ein File mittels serial_log. Thx to Cuervo für den Einbau dieses Serial-Moduls. MrX hat es heute printf-analog adaptiert. Damit kann man hervorragend arbeiten und das OS im Hintergrund debuggen.
-
Heute hat MrX seine Überarbeitung der VBE-Shell (Original stammt offenbar von internet) präsentiert. Ein weiterer Meilenstein in der Geschichte von PrettyOS.
Sein Kommentar im chat:
<ehenkes>MrX: tell us a little bit about about your vbe ideas
<MrX>I would like to create an interface that covers all graphical output inclusive text output.
<ehenkes>w/o windows?
<MrX>The aim is, to be able to use any graphics device to use PrettyOS.
<MrX>At the moment, windows are not supported, but support can be added.
-
gibts auch screenshots?
-
Ich hab mal ein PrettyOS-Poster zusammengebastelt: 5 Screenshots, 3 im Textmodus, 2 in einem 24-bit 800x600 VBE-Modus.
http://kloke-witten.dyndns.org/~philipp/Bilder/PrettyOS-Screenshots.png
-
In version = "0.0.2.292 - Rev: 1144" wurde der bereits legendäre Zug beim Personenwaggon etwas aufgemotzt und ihm ein Schiff zur Seite gestellt. Spaß muss sein. Die Scrolling-Ticker-Line war eigentlich für wechselnde Informationen gedacht. Inzwischen ist dies auch in einigen Fällen geschehen, Z.B. stets aktuelle Floppy- oder malloc/free-Infos. Dieses Feature kann man sicher noch ausbauen. Cuervo hat uns Text-Message-Boxes geliefert. Dort wird z.B. abgefragt, ob man PrettyOS als User oder Developer verwenden will. Dem User könnte man kurzweilige bewegte Motive zeigen, dem Developer zusätzlich Informationen, z.B. über das Innenleben von PrettyOS.
-
Das "Umschalten" von 0.0.2.x auf 0.0.3.x kann man als Meilenstein bezeichnen, da die Zeitspanne zwischen zwei derartigen Sub-Versionen inzwischen sehr lange ist. Der nächste Schritt ist Umsetzung und Ausbau des IPC-Konzeptes.
-
Es wurde beschlossen, dem EHCI-Treiber (für USB 2.x) nun auch einen UHCI-Treiber (für USB 1.x) beizustellen.
-
Kleiner Meilenstein: Ein angesteckter usb-Stick wird am UHCI Port erkannt:
http://www.henkessoft.de/OS_Dev/Bilder/rev.1236_uhci.PNG