Samodzielne środowisko Java

Czy JavaOS będzie skutecznie konkurować z najpopularniejszymi systemami operacyjnymi na biurko.

Czy JavaOS będzie skutecznie konkurować z najpopularniejszymi systemami operacyjnymi na biurko.

Pojawienie się języka Java i środowiska do uruchamiania aplikacji w tym języku za pomocą maszyny wirtualnej Java nie zmniejsza zapotrzebowania na zasoby systemowe komputera; wręcz przeciwnie - na ogół wymaga zainstalowania dodatkowej pamięci w celu umożliwienia efektywnego interpretowania kodu bajtowego Java. Dodanie kompilatora na bieżąco (just-in-time) języka Java angażuje znaczne zasoby systemowe, wymagając stosowania szybkich procesorów. Ograniczenia te spowodowane są koniecznością nakładkowego uruchamiania tych składników środowiska Java na istniejącym systemie operacyjnym komputera.

Firma Sun od początku istnienia języka Java opracowywała specjalizowany system operacyjny, napisany prawie w całości w tym języku (podobnie jak Unix jest prawie w całości napisany w C), służący do stworzenia samodzielnego środowiska Java, nie zawierającego nawet namiastki innego systemu operacyjnego. I tak powstał system o nazwie JavaOS.

JavaOS to platforma systemowa służąca do uruchamiania programów Java na wielu różnych sprzętowych platformach obliczeniowych i sprzęcie przeznaczonym do powszechnego użytku domowego lub biurowego, typu: podręczny terminarz elektroniczny, zestaw do obsługi telewizji kablowej, inteligentny czytnik kart płatniczych połączony z bankiem i inny, niekoniecznie typowy sprzęt obliczeniowy, taki jak komputer sieciowy NC czy komputer osobisty PC.

Obecna platforma (środowisko) do uruchamiania aplikacji i apletów Java składa się z maszyny wirtualnej Java wyposażonej często w przyśpieszanie wykonania za pomocą kompilatora na bieżąco. Obydwa te elementy współpracują z modułem wykonawczym (run-time) przystosowanym do współpracy z lokalnym systemem operacyjnym komputera. Programista pisze kod programu w języku Java (pliki typu *.java) i kompiluje go do postaci kodu bajtowego (pliki typu *.class), stanowiącego instrukcje wykonywane przez maszynę wirtualną Java.

Implementacja maszyny wirtualnej Java jest specyficzna dla każdej platformy sprzętowej, ale istnieje tylko jedna specyfikacja platformy tego języka. Dzięki temu aplikacje i aplety dostępne w wielu lokalizacjach Web, pisane przez programistów o różnym doświadczeniu i tradycji, mogą być uruchamiane na każdym komputerze wyposażonym w maszynę wirtualną Java.

Platforma Java zapewnia programiście standardowy i jednolity zestaw interfejsów i funkcji programistycznych API, takich samych dla systemu Windows 95, Windows NT, Sun Solaris, Macintosh czy IBM OS/2. Wszystkie funkcje API są definiowane i dostarczane z pakietem Java Development Kit (JDK), specyficznym dla platformy sprzętowej.

JavaOS realizuje platformę Java nie wymagającą wspomagania przez lokalny system operacyjny komputera i zawiera implementacje maszyny wirtualnej Java, grafiki okienkowej, funkcji sieciowych i plików systemowych komputera.

JavaOS składa się z części zależnej od typu komputera, na którym działa, i jest określona mianem jądra systemu oraz z części niezależnej od typu komputera, którą nazywa się modułem wykonawczym (run-time) systemu.

Moduł wykonawczy JavaOS ma niewielkie wymagania sprzętowe systemu, na którym działa. Na przykład nie wymaga istnienia jednostki zarządzania pamięcią (Memory Management Unit - MMU), odwzorowującej adresy logiczne na adresy fizyczne, a także sprzętowej ochrony pamięci. Moduł run-time pozwala, by jądro decydowało, czy używać istniejącą w procesorze jednostkę MMU lub wymuszać ochronę pamięci. Moduł potrafi inteligentnie wykorzystać takie możliwości systemu, natomiast nie są one konieczne.

JavaOS jest przeznaczony dla różnych realizacji sprzętowych inteligentnych i dynamicznych urządzeń sieciowych, toteż został on zaprojektowany z myślą o dostarczaniu dostatecznej funkcjonalności przy użyciu ograniczonych zasobów sprzętowych i programowych. Najlepsza metoda zmniejszenia takich wymagań polega na usunięciu uniwersalnego systemu operacyjnego komputera.

JavaOS zawiera wiele właściwości funkcjonalnych do działania platformy Java, pozwalając programować różne urządzenia bez zajmowania się ograniczeniami specyficznymi dla platformy sprzętowej. Ma wielowarstwową architekturę programową, w której każda warstwa jest utrzymywana niezależnie od innych warstw. Pozwala to na swobodne kształtowanie formy systemu w zależności od potrzeb i wykorzystywanie równoległości dostępnej w wielu platformach sprzętowych.

Zależnie od wymagań, można skompletować odpowiednią wersję systemu JavaOS. Na przykład dla telefonu komórkowego na pewno potrzebne będzie solidne jądro czasu rzeczywistego i dobry protokół komunikacyjny, natomiast grafika może być uboga. Największe wymagania, jeśli chodzi o właściwości systemu, będzie miał samodzielny komputer sieciowy NC.


TOP 200