Операционные системы реального времени
Вид материала | Документы |
- К. Ю. Богачев "Операционные системы реального времени" (предварительные материалы лекций), 129.62kb.
- Рабочая учебная программа по дисциплине «Системы реального времени» Направление №230100, 94.8kb.
- Примерная рабочая программа по курсу "Системы реального времени" Факультет экономический, 31.24kb.
- Ые системы", "Операционные системы, среды и оболочки" и "Операционные системы и системное, 1294.27kb.
- Курс лекций «Проектирование асоИу», «системы реального времени», 521.56kb.
- Тема лекции «Многозадачные многопользовательские операционные системы. Операционные, 154.91kb.
- Чики аппаратуры и программного обеспечения при создании первых крупных территориально-распределенных, 178.72kb.
- А. С. Цветков «Операционные системы», 22.3kb.
- Операционная система реального времени qnx, 76.24kb.
- Учебная программа Дисциплины р6 «Операционные системы» по специальности 090302 «Информационная, 131.78kb.
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.
3.4. Jbed
Система Jbed фирмы Oberon Microsystems, является ОСРВ с ядром, ориентированным на Java-технологию [Jbed98], и может рассматриваться как Java-платформа для встроенных систем и систем реального времени. Другими кандидатами Java-платформ являются такие системы, как EmbeddedJava и JavaCard. В основном они различаются средствами поддержки потоков, сбора мусора, поддержкой чисел с плавающей запятой и т.п. В Jbed ядро в действительности и есть Java-машина, которая также называется runtime-системой. В Jbed runtime-система, как минимально возможная система, обеспечивает планирование потоков, распределение памяти и сбор мусора. Такая конфигурация требует 64KB оперативной памяти. Другие возможные конфигурации могут включать минимальную систему с TCP/IP и веб-сервером (что требует 128KB) или минимальную систему с сетевым загрузчиком и компилятором для трансляции Java-кода в машинный код целевого компьютера (что требует 256KB). В терминах настраиваемости операционных систем это означает, что компоненты ядра обладают крупным уровнем детализации, и к тому же в Jbed отсутствует возможность динамической конфигурации на уровне ядра.
Микроядро Jbed обладает специфическими особенностями, необходимыми для встроенных систем и систем реального времени, такими как малый объем требуемой памяти, поддержка потоков реального времени и управление дедлайнами.
Над ядром выстраиваются такие компоненты, как драйверы периферийных устройств, драйверы устройств связи, сетевые загрузчики, библиотеки. Эти компоненты называются встроенными приложениями, и подгружаются они по требованию. Таким образом, на этом уровне Jbed обеспечивает динамическую настраиваемость. Кроме того, уровень приложений поддерживает клиент-серверную модель. На этом уровне такие приложения, как управление процессами, удаленная диагностика и система сигнализации, называются клиентами. Серверные программы управляют клиентскими компонентами (встроенными приложениями), которые могут осуществлять отладку, удаленное управление или работать как веб-серверы. Серверы позволяют клиентам удаленно диагностировать встроенные приложения, замещать компоненты и удаленно управлять встроенными системами с некоторого персонального компьютера. Однако эти возможности не доступны на уровне ядра операционной системы. Получается, что на уровне ядра конфигурирование заключается просто в выборе одной из упомянутых выше конфигураций.