2006 г.
Операционные системы реального времени
И.Б. Бурдонов,
А.С. Косачев,
В.Н. Пономаренко
Препринт Института системного программирования РАН
Назад Оглавление Вперёд
3.3. JavaOS
JavaOS – это семейство небольших по размеру, эффективных операционных систем, оптимизированных для поддержки Java-среды и предназначенных для выполнения на тонких клиентах – сетевых компьютерах [SM99]. JavaOS проектировалась для выполнения приложений, написанных на языке Java, и была создана корпорацией Sun Microsystems для того, чтобы виртуальная машина Java (JVM) непосредственно выполнялась на микропроцессорах, без участия резидентной операционной системы.
В отличие от реализаций Java над универсальными ОС, JavaOS обеспечивает не только экономию ресурсов (что важно в первую очередь для встраиваемых систем), но и снижение затрат на администрирование (что сулит существенную экономию для корпоративных систем).
Семейство JavaOS включает три разновидности ОС:
- JavaOS for Business (развивается совместно с корпорацией IBM);
- JavaOS for Consumers,
- JavaOS for network computers.
Для обеспечения конфигурирования JavaOS имеет базу данных, состоящую из именованных Java-объектов. Эта база данных помогает поддерживать динамическую реконфигурацию.
Характерной чертой JavaOS является стремление к максимальной независимости от платформы. Такая независимость способствует мобильности самой JavaOS и построенных на ее основе программных систем, что очень важно в условиях большого разнообразия аппаратных модификаций и частой смены моделей. Для достижения независимости от платформы внутри JavaOS выделены технологические интерфейсы – с платформой (JavaOS Platform Interface, JPI) и периферийными устройствами (JavaOS Device Interface, JDI). Все, что выше этих интерфейсов, может быть написано на Java и сделано мобильным.
JavaOS построена по принципу многослойной архитектуры, в которой каждый слой может обновляться независимо от всех остальных. Архитектура JavaOS состоит из микроядра и диспетчера памяти, драйверов устройств, виртуальной машины Java, систем JavaOS Graphics и JavaOS Windowing, сетевых классов и средств поддержки всех интерфейсов прикладного программирования (API) Java. Приложения, написанные для JavaOS, совместимы с браузерами и операционными системами, соответствующими стандартам Java.
В многослойной архитектуре JavaOS код разделяется на платформенную и платформенно-независимую части. Платформенный код, который компилируется в машинный код, состоит из ядра и виртуальной машины Java. Платформенно-независимая часть JavaOS (написанная на Java) состоит из систем JavaOS Window и Graphics, драйверов устройств JavaOS и сетевых классов JavaOS.
Микроядро JavaOS поддерживает начальную загрузку, управление прерываниями, многопоточность, управление перехватами и распределением динамической памяти. Микроядро также поддерживает ряд сервисов сеанса работы, которые включают виртуальную машину Java, сборщик мусора и сервисный загрузчик.
Рис. 16. Многослойная архитектура JavaOS.
Драйверы устройств JavaOS написаны на языке Java и являются переносимыми и расширяемыми. Сетевые классы JavaOS, также написанные на Java, реализуют стандартные промышленные сетевые протоколы, такие как TCP/IP и др.
Уменьшение объемов платформенно-зависимых частей JavaOS упрощает администрирование корпоративных конфигураций, делая их более однородными. Это важное средство снижения общей стоимости владения клиентскими частями информационных систем.
Стоит отметить, что микроядро JavaOS для эффективной привязки к аппаратному обеспечению или к другой операционной системе создается на языке C и соответствующем языке ассемблера.
Для JavaOS характерна распределенная работа ее компонентов, безопасность данных, а также контроль использования ресурсов, как сервера, так и клиента.
JavaOS перенесена на системы с микропроцессорами SPARC, x86 и ARM. Для полной сетевой реализации с поддержкой рабочей среды Java (Java Runtime Environment) нужно 2.4 MB памяти. JavaOS с браузером HotJava требует минимального объема памяти в 4 MB.
Назад Оглавление Вперёд