Hallo, Zwar schien seit Kernel 0.2.0 HydrixOS zum Erliegen gekommen zu sein, aber das täuscht: Im Hintergrund habe ich fleißig am ersten 80386-VPC gebastelt. :-) Der 80386-VPC ist ein ungefähr-Emulator zum i386 und trägt den Namen v386 (virtual 80386). Einige Instruktionen, die am i386 dem Betriebssystem vorbehalten bleiben, kennt er nicht, da er ja nur Anwendungsprogramme emulieren soll. Dafür habe ich eine neue Instruktion "erfunden", die schnellere HydrixOS-Systemaufrufe ermöglicht (Für alle Maschinensprachenkenner: Sie belegt den OP-Code 0x0F-B9-20 - der sonst einem nutzlosen Alias der nutzlosen Instruktion UD2 gehört). Mittlerweile ist der Intel 80386-VPC soweit gediehen, dass nur noch wenige Instruktionen bis zum Ziel fehlen. Ich kann bereits kleinere i386-Programme mit relativ (es ist ja ein Emulator) beeindruckender Geschwindigkeit starten. Der Emulator erreichte bei mir scheinbar fast 80% der Originalgeschwindigkeit - und ich habe noch einige Beschleunigungsmaßnahmen nicht ausgenutzt. Jedoch hat der Emulator den Kernel von einst 51 KB auf 149 KB "aufgebläht", u.a. durch bestimmte Speicherfressende Beschleunigungsmaßnahmen. (Die Kern-internen Funktionen "oread", "owrite", "kread", "kwrite" habe ich zu inlines gemacht, um zu beschleunigen - das macht fast 60 KB aus) Andererseits: 149 KB sind für einen Betriebssystemkern, der zudem noch einen Emulator enthält nicht sonderlich groß. Erst ab 256 KB wird es kritisch, da ich dann den MBR-Bootloader neu programmieren muss. Von 186 geplanten Instruktionen, sind derzeit etwa 51 noch nicht implementiert. Das sind vor allem die Stringverarbeitungsinstruktionen (z.B. MOVS), die I/O-Zugriffsinstruktionen (IN, OUT), die Flaginstruktionen (z.B. CLC, STC) und die i386-Systeminstruktionen (die ich allerdings nur teilweise implementieren muss). Allerdings hat sich ein neues Problem aufgetan: Der Zugriff auf sog. Memory-Mapped I/O-Bereiche (z.B. der Videospeicher) ist zu langsam. Derzeit wird dieser Zugriff über den Systemaufruf "write" bzw. "read" getätigt. Daher sehe ich mich gezwungen zwei oder drei weitere Systemaufrufe zum schnellen Zugriff auf diese Memory-Mapped-I/O Bereiche zu kreieren. Derzeit scheint mir der Aufwand für diese Aktion nicht allzugroß, mal sehen :-)... Am Wochenende will ich eine Version 0.2.2 des Kernels veröffentlichen, die bereits einen halbwegs funktionstüchtigen Emulator enthält. Ich hoffe bis Pfingsten werde ich dann eine Version 0.2.3 mit dem fertigen v386 Emulator und den drei neuen Systemaufrufen fertig haben. Und wenn der Emulator endlich läuft, kann man _endlich_ mit HydrixOS etwas sinnvolles Anfangen :-)! cu FG --- 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