Samodzielne środowisko Java

Współpraca Java z systemem operacyjnym

Gdy platforma Java działa na komputerze wyposażonym we własny system operacyjny, to maszyna wirtualna Java i związane z nią klasy (biblioteki) funkcji mogą być wbudowane w system operacyjny lub w aplikację systemową, taką jak np. przeglądarka Web. Większość funkcji realizowanych przez platformę Java nakłada pewne wymagania na system operacyjny; platformę można zrealizować na danym komputerze, pod warunkiem że pewne funkcje systemowe są dostępne. Maszyna wirtualna odwzorowuje funkcje ze swych klas funkcji na funkcje systemu operacyjnego. Dotyczy to np. odwzorowania funkcji graficznych z Abstract Windows Toolkit (AWT) na odpowiednie operacje ekranowe w Windows na PC.

Realizacja maszyny wirtualnej na komputerze składa się z części zależnej od sprzętu i większej części wspólnej dla wszystkich realizacji. W celu uzyskania odpowiedniej wydajności maszyny jest ona napisana w standardowym języku C.

Platforma Java wymaga od systemu operacyjnego pewnego minimalnego zestawu właściwości, a w szczególności zapewnienia wielowątkowości i szczątkowego wsparcia dla przełączania kontekstu, funkcji przydzielania pamięci zarządzanej następnie przez maszynę wirtualną, operacji okienkowych umożliwiających realizację funkcji z AWT oraz wsparcia dla protokołów komunikacyjnych, które są wykorzystywane przez funkcje sieciowe Java.

Java bez systemu operacyjnego

Platforma Java może działać także jako samodzielne środowisko systemowe, chociaż aplikacje napisane dla takiego środowiska mogą działać także na platformie współpracującej z lokalnym systemem operacyjnym komputera.

Liczba funkcji, które musi realizować samodzielna platforma Java, jest znacznie większa, gdyż nie korzysta ona z systemu operacyjnego. Zależna od sprzętu część jądra zapewniająca współpracę ze sprzętem realizuje duży zestaw funkcji niskiego poziomu związanych ze startem systemu, obsługą przerwań, zarządzaniem pamięcią, współpracą z siecią Ethernet, zarządzaniem systemem plików i innymi funkcjami związanymi ze sprzętem.

Z tym sprzętowo zorientowanym jądrem współpracuje moduł wykonawczy o strukturze niezależnej od warstwy sprzętowej. Realizuje on funkcje graficzne i zarządzanie oknami, obsługuje protokoły komunikacyjne IP, UDP i TCP, zajmuje się myszą, klawiaturą i innymi urządzeniami zewnętrznymi.

JavaOS został zaprojektowany w taki sposób, że zarówno maszyna wirtualna, jak i aplikacje są uruchamiane w tej samej wirtualnej przestrzeni pamięci adresowej, co ułatwia zarządzanie pamięcią.

Z tak zdefiniowaną platformą systemową współpracuje platforma Java, zawierająca maszynę wirtualną Java interpretującą kod bajtowy Java. Sun opracował specjalną wersję maszyny wirtualnej dla systemu JavaOS, wspomagającą jądro w zarządzaniu pamięcią i odzyskiwaniu obszarów pamięciowych zwolnionych przez nie używane obiekty i klasy (garbage collection).

Dotychczas Sun promował przeglądarkę HotJava jako środowisko graficzne do obsługi aplikacji Java. Ze względu na problemy z wydajnością tej przeglądarki, firma podpisała umowę z Netscapem na opracowanie wersji Communicatora (następca Netscape Navigator) całkowicie w języku Java i prawdopodobnie Sun będzie ją promował jako część systemu JavaOS.

Jakie zasoby sprzętowe?

JavaOS zaprojektowano z myślą o uruchamiania go na różnych zestawach sprzętowych, toteż daje się zrealizować w ograniczonej przestrzeni pamięciowej. Wydajny system z typową grafiką wymaga jednak co najmniej 4 MB pamięci ROM i 4 MB RAM. Jeżeli obsługiwane urządzenie nie wymaga systemu okienkowego, JavaOS zmieści się znacznie w mniejszej pamięci 2 MB ROM i 1 MB RAM.


TOP 200