HydrixOS Newsletter ======================================================================= Themen: ------- Vorwort 1. Kernel 0.2.3 ist fertig! 2. Das neue Demoprogramm 3. Neues HydrixOS Handbuch und Spezifikationen 4. Weite Releases des Kernels Nachwort ---------------------------------------------------------------------- Hallo, endlich ist er verfügbar: Der Kernel 0.2.3 - er enthält alle Features, die ich in 0.2.5 erst möglich sah. Er ist nun so weit, dass wir Anfang nächster Woche erste Treiber und Programme für HydrixOS schreiben können. -- 1. Kernel 0.2.3 ist fertig! Doch zunächst einmal die Übersicht über die Neuerungen im Kernel: 1. Den Copy-On-Write-Mechanismus, der das schnellere Kopieren von Prozessen ermöglicht, habe ich vorerst wieder entfernt, da er im Kernel eigentlich nichts zu suchen hat, und Aufgabe eines User-Level-Prozesses sein wird - somit wird einerseits dem Kernel ein Fehlerrisiko wieder entzogen und anderseits die Bahn für einen schnellen und erweiterbaren Copy-On-Write und Seitenauslagerungsmanager frei gemacht. Da derzeit die Größe von Prozessen sicherlich nicht die 1 MB Grenze sprengen wird, wird der Overhead bei den Aufrufen "read" "write" "send" und "duplicate" nicht zu groß werden. 2. Ich habe ein Deskriptor-Cache-System eingeführt, das den schnelleren Zugriff auf häufig benötigte lokale Ressourcen (Segmente) möglich macht. Jeder Thread kann in diesem Cache-Modell sich bestimmte Segmente auswählen, die er besonders häufig benötigt. Dies wird über seinen VPC abgewickelt. Der derzeitige i386-VPC 'v386' löst dies über die virtuellen i386- Segmentregister seiner Tasks. Der Cache-Zugriff geht über die neu hinzugefügten Speicheremulationsroutinen "lread" und "lwrite". 3. Den Zugriff auf Hardware-Speicherbereiche habe ich für root-Prozesse freigegeben, so dass ein schneller ungebremster Zugriff möglich ist. Derzeit besteht zwischen Hardware-Speicherbereichen noch kein Speicherschutz (d.h. mehrere root-Prozesse können mehrere Hardware- Speicherbereiche zugleich reservieren). Ob es im Sinne der Stabilität und Sicherheit von HydrixOS nötig ist, wird sich zeigen. 4. Die Kernel-Funktionen "oread", "owrite", "kread", "kwrite" und die von denen verwendeten Hintergrund-Funktionen ("kgetentry", "kvna_page", "kvna_table") wurden zu sog. "inlines" gemacht. D.h. die Funktionen werden beim kompilieren in die aufrufenden Funktionen integriert, so wird enorm viel Zeit durch Funktionsaufrufe gespart. 5. Der i386-VPC 'v386' verfügt nun über fast alle Instruktionen. Nur die String-Verarbeitenden Instruktionen und die Instruktionen "ENTER" und "LEAVE" fehlen noch. 6. Natürlich wurden wieder eine Menge Programmierfehler behoben :-) -- 2. Das neue Demoprogramm Natürlich hat der aktuelle Kernel ein neues Demoprogramm. Dieses in i386-Assembler und in C geschriebene Programm, erzeugt nach dem Start eine Kopie von sich selbst und zeichnet ein farbiges HydrixOS-Logo auf den Bildschirm. Damit man sehen kann, dass sowohl schneller Hardware- Zugriff, wie auch Multitasking funktionieren, teilen sich nun die Abläufe des Originalprogramms und der Programmkopie. Das Original gibt eine blinkende Zeichenfolge aus - während die Kopie den Textcursor über den Bildschrim rennen lässt. Natürlich ist es ein primitives Programm, aber es zeigt, dass wesentliche Funktionen verfügbar sind. -- 3. Neues HydrixOS Handbuch und Spezifikationen Die derzeitigen Spezifikationen sind in einer knappen Sprache verfasst und nicht leicht verständlich. Zudem ist es schwierig aus dem Dokument tatsächlich sich das Know-How zu bilden, um für HydrixOS Programme zu schreiben. Daher habe ich beschlossene ein "HydrixOS Handbuch" herauszugeben, das einerseits die Spezifikationen für HydrixOS auf dem aktuellen Stand enthält, aber auch Anleitungen zum Bau von Programmen und Treibern unter HydrixOS. Dieses Handbuch soll folgende Ziele erreichen: Theoretischer Teil: - Einführung eindeutiger Begriffe - Klare Spezifikationen des Kernels - Klare Spezifikationen des Treiber und Software-Modells 'Praktischer' Teil: - Einführung in HydrixOS' Aufbau - Erläuterung der einzelnen Abstraktionen (Prozesse etc.) - Erklärung der Systemaufrufe - Anleitung zum Bau von Treibern und Software Der theoretische Teil wird ähnlich den jetzigen Spezifikationen werden - vielleicht sogar noch knapper. Er soll eher als Referenz und als klare Beschreibung für HydrixOS dienen. Der praktische Teil hingegen soll in HydrixOS einführen und Programmierern den Einstieg in HydrixOS ermöglichen. Wie lange dieses Projekt dauern wird, weiß ich leider nicht, allerdings hängt die weitere Entwicklung des Kernels u.a. davon ab. -- 4. Weitere Releases des Kernels Gleich zu Anfang möchte ich mich für die gestiftete Verwirrung entschuldigen. Ich wollte bereits am letzten Wochenende eine Release 0.2.2-a mit Bugfixes herausgeben - jedoch bin ich wieder einen Schritt weiter gekommen, als ich erwartet habe und so habe ich 0.2.2-a ausgesetzt und auf 0.2.3 hingearbeitet. Der HydrixOS Kernel 0.2.3 ist der erste Kernel, mit dem man bereits komplexe Programme starten kann und ist sozusagen "Das Tor für die Zukunft". Er enthält alles, was ich vor einiger Zeit in Kernel 0.2.5 verwirklichen wollte. Derzeit denke ich, den Kernel und den i386-VPC ausreichend zu testen, so dass er die ersten Kinderkrankheiten überwinden kann. In nächster Zeit werden also hauptsächlich Bug-Fix-Releases erscheinen, da wirkliche Neuerungen erst mit dem neuen HydrixOS Handbuch sein werden. Bis bald, Friedrich Gräter -------------------------------------------------------------- Impressum Kritik / Abmeldung / Anmeldung: newsletter@xxxxxxxxxxx Vielen Dank an TheMasterz.de für den technischen Support des Newsletters. Ebenfalls vielen Dank an freelists.org für den technischen Support der Mailingliste. --- This is not SPAM! You can unsubscribe sending an e-mail to hydrixos-request@xxxxxxxxxxxxx with subject "unsubscribe". If you've got questions contact webmaster@xxxxxxxxxxxx hydrixOS kernel: http://www.hydrixos.de/downl.htm