[hydrixOS] : HydrixOS Newsletter - Erstes unabhängiges Programm läuft; Virtueller TLB; Kernel 0.2.2-a

  • From: Friedrich Gräter <webmaster@xxxxxxxxxxx>
  • To: undisclosed-recipients:;
  • Date: Thu, 09 May 2002 17:10:55 +0200

HydrixOS Newsletter
=======================================================================

Hallo,
in der letzten Woche kam ich dazu weitere größere Fortschritte im
Bereich des Kernels zu machen.

Am Freitag werde ich eine Release 0.2.2-a ins Internet stellen. Sie
enthält einerseits einige Bug-Fixes zu Problemen im i386-VPC. Viel
wichtiger ist aber, sie enthält eine neue wichtige Eigenschaft, die
HydrixOS wieder ein Stück vorwärts bringt:

Ich habe Bootprogramm und Kernel so umgeändert, dass der Kernel nun den
Init-Prozess (1) aus einer seperaten "Datei" (2) lädt. Es war zwar
nicht viel zu programmieren, aber das Ergebniss ist wichtig: Ich kann
mit dieser Neuerung vom Kernel getrennte Programme laden und über den
Emulator ausführen. Bislang waren die Beispiel-Programme alle Teile des
Kernels und es gab Probleme beim Zugriff auf die Variablen in diesen
Beispielprogrammen, da der Linker/Compiler die Variablen nach dem
Kerneladressraum adressierte, aber das Beispiel-Programm vom Kernel in
einen seperaten virtuellen Adressraum geladen wurde.

Im Klartext: Nun endlich können wir für HydrixOS komplexe Programme in
Hochsprachen wie C programmieren und auf dem i386-VPC starten.


Eine Sache macht mir derzeit Sorgen: Der Kernel und der i386-VPC sind
noch zu langsam. Daher will ich einige Dinge in den Kernel einbauen,
die sowohl Kernel, als auch den i386-VPC beschleunigen sollen. Diese
Features wären:

1. Schneller Zugriff auf Hardware-Speicherbereiche
--------------------------------------------------
Hardware-Speicherbereiche werden derzeit über einen sehr komplexen (und
daher langsamen) Mechanismus angesprochen (es handelt sich  um den
Standardmechanismus zum Zugriff auf den Speicher fremder Prozesse ->
siehe "HydrixOS Spezifikationen" Systemaufrufe "read" und "write").

Ich will daher für kritische Hardwarespeicherbereiche einen direkten
Zugriffsmechanismus einbauen. Dies erfordert die Änderung der Parameter
des Systemaufrufs "ioalloc" (derzeit ist dies ja kein Problem, weil
HydriXOS ja noch in den Kinderschuhen steckt).

2. Virtueller Translation Look-aside Buffer (TLB)
-------------------------------------------------
Ein TLB ist ein Puffer, der die Übersetzung von virtuellen Adressen in
physikalische Adressen beschleunigen soll. In einem TLB werden die
physikalischen Adressen der letzten Speicherzugriffe notiert, so dass
beim nächsten Zugriff auf die gleiche Adresse (3) nicht wieder erneut
eine Umrechnung stattfinden muss, was somit Zeit spart.

Ich nenne diesen TLB bewusst virtuell, da die meisten Prozessoren über
einen hardwärmäßigen TLB verfügen, der mir jedoch für das emulierte
Speichersystem von HydrixOS herzlich wenig nützt.

Über die genaue Lösung des Problems bin ich mir noch nicht im Klaren,
da es mehrere Dinge zu bedenken gilt.


Im Moment sieht es also so aus, dass ich bis Freitag die
Version 0.2.2-a, mit dem neuen Init-Programm veröffentliche. Die
Version 0.2.3 soll dann die neuen Systemaufrufe und den virtuellen TLB
enthalten, je nach Zeit hoffe ich sie bis spätestens eine Woche nach
Pfingsten veröffentlichen zu können (genau kann ich es nicht sagen, da
ich noch nicht genauer über den virtuellen TLB nachgedacht habe).


Bis bald,

Friedrich Gräter

--------------------------------------------------- Anmerkungen ------
(1) Init-Prozess

Der Init-Prozess ist das erste Programm, das vom HydrixOS-
Betriebssystemkern geladen wird. Dieser Init-Prozess enthält
fundamentale Treiber und startet alle weiteren Programme und Treiber.

Derzeit gibt der Init-Prozess nur Demo-Texte wie "This text was written
by a process" o.ä. aus, da sich der Kernel ja derzeit erst in
Aufbauphase befindet :-) - später aber soll der Init-Prozess die o.g.
Aufgaben erfüllen.


(2) "Datei"

Es ist nicht eine Datei im allgemeinen Sinne, gemeint ist eher, dass
der Init-Prozess seperat kompiliert und gelinkt wurde und nicht ein
Quasi-Modul des Kernels ist. (Und sogar an einer anderen Stelle auf
der Diskette beginnt)


(3) "Adresse"

Der TLB enthält nicht informationen über die einzelnen benutzten
Adressen, sondern über die zuletzt verwendeten Speicherseiten und
Segmente.


----------------------------------------------------- Sponsoren ------
Vielen Dank gilt den Betreibern von http://www.TheMasterz.de/, für den 
technischen Support des Newsletters.

Ebenfalls gilt dem kostenlosen Mailinglisten-Anbieter 
http://www.freelists.org/ Dank für den kostenlosen Support der 
HydrixOS-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


Other related posts:

  • » [hydrixOS] : HydrixOS Newsletter - Erstes unabhängiges Programm läuft; Virtueller TLB; Kernel 0.2.2-a