Смекни!
smekni.com

Встраиваемые операционные системы (стр. 2 из 3)

2.6 Чем Windows CE отличается от программного обеспечения смартфонов и карманных ПК на базе Windows Mobile?

Windows CE — встраиваемая операционная система с широкими возможностями настройки, предназначенная для различных компактных устройств. ПВТ могут использовать Windows CE для разработки платформ и настройки приложений с целью расширения возможностей пользователей таких устройств, как карманные ПК, «тонкие» клиенты, логические устройства управления и новейшее оборудование бытовой электроники.

Windows Mobile — это полнофункциональная программная платформа, построенная на основе Windows CE. В отличие от Windows CE, операционные системы Windows Mobile Smartphone и Windows Mobile Pocket PC разработаны для конкретных категорий устройств, в которых требуется использовать специальную конфигурацию оборудования. Это программное обеспечение включает стандартные интерфейсы и приложения, обеспечивающие совместимость различных аппаратных архитектур.

2.7 Чтотакое Windows Embedded for Point of Service?

В октябре 2004 г. корпорация Майкрософт анонсировала разработку стандартной платформы операционной системы для кассовых терминалов розничной торговли — Windows Embedded for Point of Service. Эта система основана на технологиях Windows XP Embedded с пакетом обновления 2; она создана в рамках программы интеллектуализации розничной торговли (Microsoft Smarter Retail Initiative) и представляет собой простую в использовании платформу кассового терминала, оптимизированную для отрасли розничной торговли.

2.8 Операционная система Windows Automotive

Операционная система Windows Automotive основана на встраиваемой ОС реального времени Windows CE. В ней доступна мощная базовая платформа динамических приложений и услуг Windows CE, но, помимо этого, поддерживаются такие возможности, как распознавание речи, управление электропитанием автомобиля и другие специфические для автомашины функции.

3. Операционная система реального времени QNX

3.1 Операционная система QNX

QNX - операционная система реального времени, разработанная специально для высокоответственных приложений, бесперебойно функционирующих годами. Надёжность QNX обеспечивается её архитектурой - это настоящая операционная система на основе микроядра. В QNX ядром обрабатываются только базовые примитивы ОС (сигналы, таймеры, планирование). Все остальные компоненты: драйверы, файловые системы, стеки протоколов, прикладные приложения - выполняются вне пределов ядра как отдельные процессы, каждый в своём защищённом адресном пространстве. Такой подход автоматически обеспечивает системам на основе QNX «встроенную» отказоустойчивость.

Все компоненты QNX используют для общения друг с другом единый, чётко

детерминированный механизм - обмен сообщениями. Он образует между компонентами системы виртуальную «программную шину», позволяющую подключать к ней или, наоборот, отключать любой компонент «на лету». Сообщения могут свободно передаваться между узлами вычислительной сети, предоставляя прозрачный доступ к любому ресурсу, где бы он ни находился.

Использование QNX позволяет:

создавать системы, способные к самовосстановлению - в QNX любой компонент в случае отказа может быть перезапущен динамически, не нарушая работу микроядра и других компонентов. Например, если драйвер попытается обратиться к памяти за пределами своего адресного пространства (что для большинства ОС является фатальной ошибкой), QNX корректно завершит этот драйвер и освободит все занятые им ресурсы; использовать одну и ту же ОС во всей своей линейке программных продуктов - благодаря исключительной модульности QNX любые уже испытанные и проверенные компоненты: драйверы, приложения, дополнительные сервисы ОС - могут использоваться повторно в других продуктах. Фактически универсальный набор бинарных модулей может применяться как в однопроцессорном устройстве, так и в SMP_системе, и в вычислительном кластере; производить обновление системного программного обеспечения без остановки работы конечного устройства - поскольку любой компонент в QNX может быть добавлен или удалён динамически, система может продолжать работать даже в процессе замены или добавления в неё новых приложений, драйверов или стеков протоколов.

3.2Архитектура ядра системы QNX

Система QNX состоит из небольшого ядра (микроядра) и набора взаимодействующих процессов. Как показано на рис. 1, система не имеет иерархической структуры, ее организация скорее напоминает "спортивную команду", в которой игроки (процессы), имеющие равную значимость, взаимодействуют друг с другом и со своим "ведущим игроком" (ядром).

Рис. 1

3.2.1 Ядро системы QNX

Ядро является "сердцем" любой операционной системы. В некоторых системах на ядро возложено такое количество функций, что, по сути дела, оно само является полной операционной системой.

В системе QNX ядро является действительно ядром. Прежде всего, как и подобает ядру операционной системы реального времени, оно имеет небольшой размер_-_менее 8 Кбайт. На ядро системы QNX возложено выполнение только двух основных функций:

  • передача сообщений (ядро реализует передачу всех сообщений между всеми процессами во всей системе);
  • планирование (планировщик является частью ядра и подключается каждый раз, когда процесс меняет свое состояние в результате появления сообщения или прерывания).

В отличие от процессов само ядро никогда не планируется к выполнению. Управление передается ядру только в результате прямого вызова ядра либо из процесса, либо по аппаратному прерыванию.

3.2.2 Системные процессы

Все функции, выполняемые операционной системой QNX, за исключением функций ядра, реализуются стандартными процессами. В типичной конфигурации системы QNX имеются следующие системные процессы:

  • Администратор процессов (Proc);
  • Администратор файловой системы (Fsys);
  • Администратор устройств (Dev);
  • Сетевой администратор (Net).

3.3 Микроядро

Ядро операционной системы QNX, представленное на рис. 2, выполняет следующие функции:

  • связь между процессами (IPC). Ядро обеспечивает три формы IPC (сообщения, proxy (прокси) и сигналы);
  • сетевое взаимодействие нижнего уровня. Ядро передает все сообщения, предназначенные процессам на другом узле;
  • планирование процессов. Планировщик ядра определяет, какой процесс будет выполняться следующим;
  • первичную обработку прерываний. Все прерывания и сбои аппаратного обеспечения сначала обрабатываются в ядре, а затем передаются соответствующему драйверу или системному администратору.

4. Встраиваемая операционная система ON TIME RTOS – 32

4.1 RTOS-32

Встраиваемая операционная система реального времени

с Win32 совместимым API

· Полностью совместима с Microsoft Visual Studio и другими компиляторами

· Не требуются лицензии времени выполнения

· Доступность всего исходного кода

· Бесплатная оценочная версия

Компания On Time предлагает комплексное решение для высокопроизводительных встраиваемых систем, базирующихся на i386 совместимых платформах, - операционную систему жесткого реального времени RTOS - 32, которая имеет масштабируемую архитектуру и состоит из шести компонентов: RTTarget - 32, RTKernel - 32, RTFiles - 32, RTIP - 32, RTPEG - 32 и RTUSB - 32.

4.2 Архитектура RTOS-32

4.3 Компоненты архитектуры RTOS-32

Модуль RTTarget - 32 является основой RTOS - 32 и должен присутствовать во всех приложениях, разработанных на ее базе. Он включает все средства, необходимые для запуска 32-разрядных приложений во встроенной системе. RTTarget - 32 может выполнять одно 32-разрядное приложение, построенное Win32 совместимым компилятором. Он имеет загрузчик, инициализирующий аппаратуру и запускающий приложение. RTTarget-32 также поддерживает наборвызовов API Win32, позволяющий запускать программы, разработанные для консольного режима Windows NT. Этой эмуляции вполне достаточно для загрузки и выполнения программ, созданных обычными Win32 совместимыми компиляторами, без изменений или же с минимальными доработками. Таким образом,

RTTarget - 32 может рассматриваться как миниатюрное ядро Windows NT для встраиваемых систем, которое занимает не более 16 кбайт оперативной памяти. Другим преимуществом такой совместимости является возможность использования стандартных систем разработки приложений для NT, например, Inprise C++ и Delphi, MicrosoftVisualC++, WatcomC++, MicrosoftVisualStudio и других, способных создавать исполняемые файлы стандартного Win32 PE-типа. Возможна полная интеграция компонентов RTOS - 32 в Microsoft Visual Studio. При этом можно пользоваться встроенным отладчиком.

Модуль RTKernel - 32 - это библиотека диспетчеризации многозадачных систем реального времени. Компактный (16К кода и 6К данных) планировщик с поддержкой запуска динамических библиотек расширяет возможности программ, выполняемых на RTTarget - 32, и дополняет стандартные вызовы Win32 возможностью создания и управления потоками, семафорами, критическими секциями и другими свойствами, которыми наделены операционные системы жесткого реального времени: детерминированностью, реентерабельностью и приоритетностью. Планировщик RTKernel -32 работает в 15 раз быстрее, чем в Windows 95, и примерно в 5 раз быстрее, чем в NT.

Сетевая поддержка RTOS - 32 обеспечивается модулем RTIP - 32. Он позволяет одновременно обмениваться данными по нескольким каналам Ethernet и последовательным интерфейсам. Для RTIP - 32 необходимо использование RTKernel - 32. В стандартный комплект RTIP - 32 входит поддержка протоколов UDP, TCP, ARP, RARP, BOOTP, IGMP и ICMP. Дополнительно приобретаются модули поддержки протоколов PPP, FTP, TFTP, WebServer, POP3 Client, SMTPClient, TELNETClient/Server, SNMPAgent, DHCPClient/Server, SNTPClient, SMBClient/Server, WLAN.