<-- Poprzedni   Spis treści   Następny -->

Realizacja systemu UML (2)


UML jest w rzeczywistości jądrem linuxa z nałożoną łatką UML-a, pozwalającą na emulację urządzeń i poprzez dostęp do zasobów hosta. Posiada wszystkie atuty zwykłęgo jądra - własny scheduler, system VM...

Procesy w środowisku wirtualnym zachowują się zgodnie z prawami narzuconymi przez jądro UML. Np. można uruchomić jądro UML 2.6 na hoście z jądrem 2.4, a procesy uruchamiane w środowisku UML będą korzystały z nowego schedulera znajdującego się w jądrze 2.6.

Ponieważ UML nie emuluje całego komputera, tak, jak w innych realizacjach maszyn wirtualnych, kod procesów jest uruchamiany bez konieczności jakichkolwiek przeróbek i zewnętrznej kontroli.
Jedyny dodatkowy narzut czasowy pochodzi od współpracy jądra UML i jądra hosta. Jeżeli UML jest jedynym aktywnym procesem na maszynie hosta, dodatkowy narzut czasowy dla procesów ze "środka" nie przekracza 20%!!

UML jest uruchamiany jako zwykły proces na komputerze hosta.
Może być uruchomiony przez użytkownika bez praw roota, ale dla procesów uruchamianych wewnątrz jest pełnym funkcjonalnym jądrem linuxa.

Programy bezpośrednio odwołujące się do sprzętu nie mogą działać w UML.