[hydrixOS] : Re: Virtuelle Maschinen

  • From: Chris Burkert <christian.burkert@xxxxxxxxxxxxxxxxxxxx>
  • To: hydrixos@xxxxxxxxxxxxx
  • Date: Mon, 03 Feb 2003 11:22:31 +0100

Friedrich Graeter wrote:
> Chris Burkert schrieb:
>>Da ich viel mit der Programmiersprache Smalltak arbeite, interessiert es 
>>mich, inwieweit sich die Konzepte einer Virtuellen Maschine 
>>(Interpreter) von der des virtuellen Prozessors unterscheiden.
> 
> Die virtuellen Prozessoren sind Teil des Betriebssystemkerns und müssen
> nicht zwingend Interpreter sein, sie könnten theoretisch auch Programme
> übersetzen (was ein erwünschtes Endziel wäre), bzw. Programme, die von
> der "Host"-CPU verstanden werden, direkt ausführen lassen.

Das ist mir klar. Mir kam nur die Idee, das es für eine 
plattformunabhängige Architektur unnötig und ressourcenverschlingend 
ist, einen Interpreter auf einem VP noch oben drauf zu setzen. Wieso 
nicht gleich als VP implementieren.

>>Ich rufe z.B. unter Unix die Smalltalkimplementierung Squeak durch 
>>folgendes Kommando auf: squeak -optionen smalltalk.image
>>Wie wäre jetzt die Analogie zum virtuellen Prozessor ? Kann ich die 
>>Ausführung eines Images mit Optionen realisieren ?
> 
> Ein Prozess wird unter HydrixOS beim Erzeugen einem virtuellen Prozessor
> zugewiesen. Wenn ein Thread dieses Prozesses die CPU-Zeit erhält, führt
> der jeweilige VPC den Thread aus und beendet die Ausführung, wenn die
> CPU-Zeit abgelaufen ist, bzw. eine Unterbrechung durch einen IRQ
> stattfindet.

Ein Image ist wie bei Java eine Ansammlung von 32 Byte breiten Befehlen. 
Es ist also quasi ein Programm. Woher weiß jetzt Hydrix welcher VP 
diesem Bytecode zugeteilt wird und kann man dem VP auch noch zusätzlich 
Informationen mitteilen (Optionen, Umgebungsvariablen, ...) ?

>>Ich bin an einer Portierung von Squeak/Smalltalk auf 
>>HydrixOS sehr interessiert.
> 
> Die Frage ist nur, da ich Smalltalk nicht kenne, wie komplex müsste die
> vorhandene Infrastruktur im Betriebssystem sein, um diese auszuführen? -

Man benötigt Folgendes um Squeak als VP minimal zum Laufen zu bekommen:
- ANSI C Compiler
- Allokieren von Speicher
- Dateizugriff
- Ein Zeitgeber

optional für interaktives Arbeiten
- Ein Framebufferdevice (oder ein X)
- Lesen von Tastatureingaben
- Lesen von Mouseeingaben

weiterhin um komplexere Aufgaben zu lösen
- Socketbasierte Kommunikation
- Host Name Lookup (DNS)
- Zugriff auf ein Sounddevice
- Zugriff auf Serielle Ports

> Denn HydrixOS ist, derzeit mehr oder weniger ein "nakter" Systemkern,
> der nun langsam anfängt die Wege für die höheren Systemfunktionen
> freizuschaufeln. Es existiert mittlerweile eine API-Bibliothek, aber
> weder ein Pageing-Server, noch ein Dateisystem-Server sind vorhanden.
> (Die nächste Kernel-Release soll die Kernel-seitige Schnittstelle und
> die Spezifikationen für den Pageing-Dämon umfassen).
> 
> Wenn dir das jedoch trotzdem möglich wäre, wäre es super! Es würde uns
> mehr Erfahrung hinsichtlich der VPCs geben und HydrixOS wesentlich
> erweitern.

Wenn die ersten 4 Punkte vom OS möglich sind, ist es erst einmal kein 
Problem, Squeak zu portieren. Richtig Spaß macht es aber erst mit 
Netzwerkfähigkeiten.

Gut! Ich werde mich mal mehr in eure Doku einlesen und mich melden, wenn 
ich etwas tun kann oder etwas aus meiner Sicht anderes gelöst werden könnte.

mfg
            Chris Burkert
-- 
------------------------------------------------------------------------
Student of applied Computer Science at Chemnitz University of Technology
      http://www.chrisburkert.de/            chbu@xxxxxxxxxxxxxxxxxx
------------------------------------------------------------------------
"I invented the term Object-Oriented, and I can tell you I did not have
  C++ in mind." - Alan Kay --> http://www.whysmalltalk.com/

-- 
HydrixOS Developers Mailing List

Administration: webmaster@xxxxxxxxxxx 
Archive: http://www.freelists.org/archives/hydrixos

Other related posts: