Microware OS-9

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:15, 22 августа 2017.
Microware OS-9
Microware.jpg
Разработчик Microware LP
Написанный на C, Ассемблер
OS линейка Unix-подобная,
RTOS
Рабочее состояние Current
Исходный код Closed source
Начальная версия 1979; 39 years ago (1979)
Целевой маркетинг Высокопроизводительное программное обеспечение реального времени с высокой доступностью для современной промышленной автоматизации и контроля, медицинской аппаратуры, аэрокосмических и транспортных систем
Доступно в Английский
Платформы Motorola 6809, Motorola 680x0 CPUs, ColdFire, SuperH, ARM/XScale, MIPS, PowerPC, Intel x86 architecture
Ядро (тип) Real-time kernel
Лицензия Проприетарная
Официальный веб-сайт microware.com

Microware OS-9 - это семейство операционных систем реального времени, основанных на процессах, многозадачности и многопользовательских операционных системах, разработанных в 1980-х годах, первоначально компанией Microware Systems Corporation для микропроцессора Motorola 6809. Оно было приобретено Radisys Corp в 2001 году и было приобретено снова в 2013 году, его нынешним владельцем Microware LP[Источник 1].

Семейство OS-9 было популярно для универсальных вычислений и продолжает использоваться в коммерческих встраиваемых системах и среди любителей. Сегодня OS-9 - это название продукта, используемого как машинная операционная система Motorola 68000 series, так и портативной (PowerPC, x86, ARM (Advanced RISC Machine), MIPS (Microprocessor without Interlocked Pipeline Stages), SH4 и т. д.) версией, написанной на C, первоначально известной как OS-9000.

Содержание

История

Первая версия («OS-9 Level One»), датируется 1979-1980 годами, была написана на языке ассемблера для процессора Motorola 6809 и предоставляла единое адресное пространство размером 64 КБ, в котором выполнялись все процессы. Она была разработан как вспомогательная операционная система для проекта BASIC09, контракт с которым был разработан Motorola в рамках разработки 6809. Более поздняя версия 6809 («Level Two») использует аппаратное отображение памяти, поддерживает до 2 МБ памяти (1980 г.) в большинстве реализаций и включает графический интерфейс на некоторых платформах.

В 1983 году OS-9/6809 была перенесена на язык ассемблера Motorola 68000 и расширена (называлась OS-9 / 68K). Еще более поздняя версия (1989 г.) была переписана в основном на C для дальнейшей переносимости. Переносимая версия была первоначально названа OS-9000 и была выпущена для 80386 PC systems около 1989 года, а затем перенесена в PowerPC примерно в 1995 году. Эти более поздние версии не имеют средств отображения памяти OS-9/6809 Level Two просто потому, что они не нужны. Они использовали единое адресное пространство, которое разделяют все процессы. Аппаратное обеспечение сопоставления памяти, если оно используется, в основном используется для обеспечения доступа процессов только к той памяти, на которую они имеют право доступа. В любом случае микропроцессоры 680x0 и 80386 (и выше) поддерживают память более 1 МБ.

Из-за ранних распространенных дизайнерских решений, использующих легко доступные возможности объектного кода для процессора 6809, программы, предназначенные для OS-9, должны быть реентерабельными. Компиляторы автоматически производят реентерабельный код, а сборщики для OS-9 предлагают значительную поддержку. OS-9 также использует независимый от положения код и данные, потому что 6809 также поддерживал его напрямую. Компиляторы и ассемблеры поддерживают независимость позиции. Ядро OS-9 загружает программы (включая совместно используемый код) и распределяет данные, если на карте памяти доступно достаточное свободное пространство. Это позволяет размещать всю ОС и все приложения в ПЗУ или флэш-памяти, и упрощает требования к управлению памятью, когда программы загружаются в ОЗУ и запускаются. Программы, драйверы устройств и диспетчеров ввода-вывода OS-9 являются «модулями» и могут быть динамически загружены и выгружены (в зависимости от количества ссылок) по мере необходимости.

OS-9/6809 работала на системах Motorola EXORbus с использованием систем Motorola 6809, SS-50 Bus и SS-50C bus таких компаний, как SWTPC, Tano, Gimix, Midwest Scientific и Smoke Signal Broadcasting, а так же систем STD-bus 6809, персональных компьютеров таких, как Fujitsu FM-11, FM-8, FM-7 и FM-77, Hitachi MB-S1 и многих других.

System Industries, сторонний поставщик оборудования, совместимого с DEC, использовал процессор 68B09E, работающий под управлением OS9, в своих контроллерах резервного копирования лент QIC в VAX.

Из-за его низкой цены и широкого распространения наиболее известным аппаратом был цветной компьютер TRS-80 (CoCo) и аналогичные из серии Dragon. Даже на CoCo, довольно минимальной аппаратной платформе, под OS-9/6809 Level One было возможно одновременное использование нескольких интерактивных пользователей, а также несколько других не интерактивных процессов. Вторая реализация процессора для BBC Micro была разработана Cumana. Она включала встроенную оперативную память, интерфейс жесткого диска SASI и процессор MC68008.

На компьютерах типа SS-50, машинах с большим объемом памяти (например: от Gimix, Southwest Technical Products и т. д.), и контроллерах ввода-вывода, которые не загружали процессор так же, как CoCo, пользователи были обычными, даже с 64 КБ ОЗУ («Level One»). При использовании оборудования, поддерживающего схемы управления памятью (то есть преобразование адресов) и OS-9 Level Two, использование GUI (Graphical User Interface) было успешно даже на минимальном ресурсе CoCo. Это было за несколько лет до успешных графических интерфейсов на 16-разрядных машинах IBM (International Business Machines) PC и за много лет до правильной работы многозадачных, многопользовательских, управляемых доступом операционных систем на компьютерах IBM (International Business Machines) PC или на любых машинах Apple.

Многопользовательские и многозадачные возможности OS-9 делают ее пригодной для использования в качестве интерактивной компьютерной системы общего назначения. Для нее были написаны многие сторонние интерактивные приложения, такие как электронная таблица Dynacalc, текстовый формат VED и текстовые процессоры Stylograph и Screditor-3 WYSIWYG. TSC’s nroff-эмулятор был также перенесен на OS-9 компанией MicroWay.

В середине 80-х годов для операционной системы CD-i была выбрана OS-9. Примерно в то же время Microsoft обратилась к Microware по поводу приобретения компании, в первую очередь потому, что ее привлекла CD-RTOS, операционная система CD-i. Переговоры и сделка не состоялись. Microware решила остаться независимой.

В конце 1980-х Microware выпустила OS-9000, более портативную версию операционной системы. Подавляющее большинство ядер операционной системы было перезаписано на C, оставив на языке ассемблера несколько аппаратно-зависимых частей. Было добавлено несколько «более продвинутых функций», таких как древовидное пространство имен модулей дерева. OS-9000 был первоначально портирована на семейство процессоров Motorola 680x0, Intel 80386 и PowerPC. OS-9000 / 680x0 была провалом в маркетинге и была снята очень быстро, вероятно, потому что немногие клиенты хотели попробовать более плотную и медленную операционную систему по сравнению с существующей стабильной версией OS-9 / 680x0. То, что производители материнских плат семейства Motorola 680x0 и VME приближались к концу их выпуска, возможно, повлияло на популярность OS-9000 / 680x0. Позднее Microware стала называть все свои операционные системы - в том числе то, что первоначально называлось OS-9000, - просто OS-9, и начала переводить свой бизнес на рынок портативных потребительских устройств, таких как мобильные телефоны, автомобильная навигация и мультимедиа.

В конце 1980-х - начале 1990-х годов компьютеры-генераторы символов, используемые в Broadcast Systems, широко использовали OS-9 и OS-9000. Теперь несуществующая Pesa Electronica использовала OS-9 на своих CG, таких как CG 4722 и CG4733.

Почему Microware OS-9?

Структурная схема Microware OS-9

Microware OS-9 – это высокая производительность. Многопользовательское многозадачное ядро реального времени является проверенной основой успеха в наше време. OS-9 - это полнофункциональная работа с операционной системой, включая ядро ОС, службы ядра и стандартные API (Application Programming Interface)-интерфейсы, промежуточное программное обеспечение и полную разработку на основе IDE[Источник 2].

Уменьшение рисков

  • Высокая надежность - безопасная модель процесса OS-9, операционная система реального времени (RTOS) обеспечивает встроенное управление памятью, авторизацию ресурсов и CRC модулей, что значительно повышает надежность системы.
  • Высокая производительность - OS-9 эффективно использует процессор, предоставляя интегрированные технологии ввода-вывода и компилятора, настроенные для конкретных наборов инструкций процессора.
  • Высокая доступность - OS-9 имеет возможность добавлять, удалять и заменять отдельные компоненты в системе в режиме онлайн и в использовании. Это приводит к высокой степени доступности системы даже во время технического обслуживания. Проверено более 30 лет в критически важных устройствах по всему миру.
  • Высокая производительность в реальном вреени. В отличие от систем на базе Windows и Linux, Microware OS-9 была реализована с нуля для удовлетворения требований высокой производительности и надежности критически важных приложений.

Быстрая загрузка

  • Малый размер модульной архитектуры
  • Он удовлетворяет требованиям приложений
  • Нет необходимости в файловых системах
  • Эффективность ресурсов по дизайну и простота использования
  • OS-9 обеспечивает отличную производительность даже в самых ограниченных средах благодаря своей структурированной и модульной архитектуре.
  • OS-9 мала и управляема. Приложения написаны как автономные модули и не связаны как часть единой монолитной кодовой базы с ядром. OS-9 включает в себя полную интерактивную оболочку и множество системных утилит для непосредственного контроля за такими вещами, как процессы, использование памяти, устройства, системные события, прерывания и многое другое, все со встроенной справкой.

Масштабируемая модульная архитектура

Модульная архитектура OS-9 позволяет динамически изменять конфигурации и улучшать ее для удовлетворения изменяющихся системных требований без перезагрузки. Приложения OS-9 написаны как автономные модули и не связаны как единая монолитная база кода с ядром. Практически любой компонент OS-9 может быть добавлен, удален или обновлен либо при запуске системы, либо во время работы системы. Это означает, что функции и новые функции могут быть добавлены легко, в режиме реального времени и даже после развертывания на местах.

Надежность, безопасность и защита

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

Обширные услуги и промежуточное ПО

Расширенная архитектура ввода-вывода OS-9 поддерживает широкий спектр устройств и сетевых возможностей. Широкий спектр услуг, файловые менеджеры и драйверы устройств, доступные от одного поставщика, ускоряют интеграцию и разработку приложений, оставляя клиентам больше времени для инноваций и дифференциации своего продукта.

Графический интерфейс пользователя XiBase9

Создание более привлекательных графических пользовательских интерфейсов играет решающую роль в успехе широкого спектра продуктов и приложений. Новейший инструмент проектирования XiBase9, установленный под OS-9 для графических объектов, позволяет создавать сложные и оптически привлекательные графические интерфейсы без участия разработчиков. Этот новый подход к созданию графических интерфейсов для встроенных систем позволяет снизить усилия по разработке до 80% -90% по сравнению с традиционным процессом проектирования.

Рамочная основа развития

Для разработки встроенных систем требуется больше, чем просто ОС. Комплект разработки Microware Hawk включает в себя полный набор инструментов для разработки программного обеспечения, которые охватывают рабочий процесс встроенного программного обеспечения. Рамка Hawk включает в себя высоко оптимизирующий компилятор C / C++, полностью настраиваемую среду разработки, редактор программиста CodeWright, графические средства отладки и библиотеки и решения промежуточного программного обеспечения.

Сократите время разработки с помощью платформы обработки исключений, которая легко настраивается для автоматической коррекции ошибок и процедур восстановления для максимальной устойчивости.

Архитектура Microware OS-9

OS-9 использует усовершенствованную модульную структуру программного обеспечения, которая обеспечивает оптимальный баланс скорости и защиты встроенных систем и приложений. OS-9 работает быстрее по сравнению с операционными системами на микроядрах и обеспечивает повышенный уровень безопасности по сравнению с монолитной архитектурой. Все модули и компоненты, составляющие систему OS-9, в том числе ядро, ангажировщики файлов, драйверы и приложения, хранятся в виде логических модулей памяти OS-9.

Каждый модуль памяти представляет собой автономную программу, состоящую из заголовка модуля, тела модуля и значения Cyclic Redundancy Check (CRC). Эти логические программные компоненты легко создавать и управлять, обеспечивая при этом высокую доступность платформы OS-9.

Граница состояния пользователя / системы:

Код состояния пользователя использует непривилегированный набор команд процессора и вызовы системы пользовательского состояния операционной системы. Эти ограничения позволяют операционной системе содержать приложение в границах процессора.

Многозадачное ядро реального времени

OS-9 оснащена ядром реального времени с поддержкой потоков POSIX (Portable Operating System Interface for Unix), в комплекте с обширным планировщиком и средствами взаимодействия между процессами. Функции ядра включают:

  • Упреждающий, ориентированный на приоритет стареющий планировщик, обеспечивающий оперативную реакцию на прерывания и события
  • Отказоустойчивость с обработкой исключений и поддержкой MMU
  • Архитектура на основе процессов с неограниченным количеством потоков
  • Услуги межпроцессной связи: сигналы, события, семафоры, трубы, модули данных и ящики сообщений.
  • Задачи, разделенные на классы с приоритетом
  • Задачи могут динамически изменять приоритет
  • Темы (POSIX (Portable Operating System Interface for Unix)) в процессах
  • Модульная архитектура, основанная на динамической компоновке
  • Возможность исчерпать Flash или ROM без требований к файловой системе

Защитные границы

Microware OS-9 поддерживает три вида защитных границ:

Граница состояния пользователя / системы: Код состояния пользователя использует непривилегированный набор команд процессора и вызовы системы пользовательского состояния операционной системы. Эти ограничения позволяют операционной системе содержать приложение в границах процессора.

Границы процесса: Каждому процессу предоставляется доступ к ресурсам операционной системы. OS-9 предотвращает процессы от ошибочных или злонамеренных нарушений ресурсов других процессов без надлежащего разрешения. Если система использует блок управления памятью, OS-9 использует его для обеспечения соблюдения правил защиты доступа к памяти. Если MMU отсутствует, OS-9 все еще прилагает усилия для обеспечения соблюдения правил защиты.

Защита пользователей / групп: Каждый процесс, каждый модуль и (для большинства файловых систем) каждый файл имеет связанного владельца. OS-9 использует права собственности и разрешения для администрирования доступа к ресурсам. Ядро OS-9 в режиме реального времени позволяет одновременно выполнять несколько независимых приложений посредством переключения задач и средств межпроцессного взаимодействия. Все программы OS-9 выполняются как процессы, содержащие хотя бы один легкий процесс (поток), но могут также содержать эффективно неограниченное количество потоков. В рамках процесса эти легкие процессы обмениваются памятью, путями ввода-вывода и другими ресурсами в соответствии с спецификацией потоков POSIX (Portable Operating System Interface for Unix) и API (Application Programming Interface).

Планирование на основе приоритетов OS-9 планирует потоки с использованием алгоритма приоритетного планирования с фиксированным приоритетом с циклическим планированием в каждом приоритете. Уровни приоритетов можно разделить на диапазон, который поддерживает старение и диапазон с более высоким приоритетом, который использует строгое планирование приоритетов. Каждый процесс может получить доступ к любому системному ресурсу, выдав соответствующий запрос службы OS-9. В каждой точке планирования OS-9 сравнивает приоритет потока в начале активной очереди с приоритетом текущего потока. Он контекстно переключается на поток в активной очереди, если его приоритет выше приоритета текущих процессов. Старение искусственно увеличивает эффективный приоритет потоков в активной очереди по прошествии времени. Через определенные интервалы временная привязка возвращает текущий поток в активную очередь за другими потоками с одинаковым приоритетом.

Управление энергопотреблением

Критическая проблема проектирования для любого энергочувствительного продукта Состояние сна на основе ядра - необходимое для реализации управления питанием Настраиваемый модуль, обеспечивающий легкую спецификацию политики питания для вашего устройства Системы ввода / вывода, предназначенные для реализации энергосберегающей или маломощной работы

Поддержка процессоров

OS-9 поддерживает самые популярные 32-разрядные процессоры, включая Power Architecture ARM (Advanced RISC Machine) / ARM (Advanced RISC Machine)Cortex, архитектуру Intel, SuperH (SH-3, SH-4, SH-4a), семейство 68K и MIPS3000, MIPS64.

Технологии

Современный и архаичный дизайн

OS-9 (особенно версия 68k и последующие) явно отличается от предшествующего поколения встроенных операционных систем во многих аспектах.

  • Работает на 8-разрядных, 16-разрядных и 32-разрядных процессорах.
  • Четкое разделение между режимом пользователя и режимом супервизора (ядро).
  • Динамическое использование отдельно построенных программных компонентов (образов исполняемых программ и модулей ядра), а не статически связанного монолитного изображения.
  • UNIX-подобная модель пространства имен (не модель памяти) и пользовательская оболочка.
  • Четкое разделение между аппаратно-независимыми (например, файловыми менеджерами) и аппаратно-зависимыми (например, драйверами устройств) уровнями.

По сравнению с более современными операционными системами.

  • Ядро полностью написано на языке ассемблера (только версия OS-9 / 68K), а также C (переносимая версия для других архитектур)
  • Используя простые внутренние структуры данных, уменьшая гибкость и улучшая область, улучшая определенность, необходимую для операционных систем реального времени.
  • Производительность была также затронута для некоторых операций, но язык ассемблера помог с проблемой скорости.
  • Системы без MMU (Memory Management Unit) не защищают память от несанкционированного доступа, а также от защиты памяти процесса, в то время как системы с MMU (Memory Management Unit) могут иметь защиту памяти. Модуль управления MMU (Memory Management Unit) может быть включен или опущен системным интегратором для включения или отключения защиты памяти. Это позволяет OS-9 работать на старых системах, которые не включают в себя MMU (Memory Management Unit).
  • Старые версии OS-9 не поддерживают потоки POSIX (Portable Operating System Interface for Unix), в то время как все поддерживаемые OS-9 процессоры поддерживают потоки POSIX (Portable Operating System Interface for Unix).
  • Отсутствует поддержка SMP для нескольких сокетов, ядер или аппаратных потоков в одном экземпляре OS-9 (может работать как RTOS на одном из ядер двухъядерных процессоров, таких как Core Duo и Core 2 Duo, когда Linux работает на другом ядре, выполняя задачи общего назначения)

Планирование задач

Ядро реального времени OS-9 позволяет нескольким независимым приложениям выполняться одновременно, посредством переключения задач и средств межпроцессного взаимодействия. Все программы OS-9 выполняются как процессы, содержащие по крайней мере один легкий процесс (поток), но могут содержать фактически неограниченное количество потоков. В рамках процесса эти потоки совместно используют память, пути ввода-вывода и другие ресурсы в соответствии со спецификацией потоков POSIX (Portable Operating System Interface for Unix) и API (Application Programming Interface). OS-9 планирует потоки с использованием алгоритма приоритетного вытеснения с фиксированным приоритетом с циклическим планированием в каждом приоритете. Поддерживается квантование времени. Уровни приоритетов можно разделить на диапазон, который поддерживает старение и диапазон с более высоким приоритетом, который использует строгое планирование приоритетов. Каждый процесс может получить доступ к любому системному ресурсу, выпустив соответствующий запрос службы OS-9. В каждой точке планирования OS-9 сравнивает приоритет потока в начале активной очереди с приоритетом текущего потока. Этот контекст переключается на поток в активной очереди, если его приоритет выше приоритета текущих процессов. С течением времени старение искусственно увеличивает эффективный приоритет потоков в активной очереди. Через определенные интервалы квантование времени возвращает текущий поток в активную очередь за другими потоками с одинаковым приоритетом.

Модули ядра

Ядро - содержит переключатель задач, распределение памяти и большинство вызовов, не связанных с I / O IOMAN. Обрабатывает вызовы ввода/вывода для различных файловых менеджеров и драйверов. Базовый набор файловых менеджеров:

SCF, Serial Files ( Serial devices )
RBF, Random Block ( Disk devices )
SBF, Sequential Block ( Tape Devices )
NFM, NULL devices (USB and other devices )
MFM, Message
PCF, PC [[FAT (File Allocation Table)]] files
PIPEMAN, PIPES 

Modman Memory Module Directories

SSM - Безопасность системы (обработка MMU (Memory Management Unit))

Cache - обработка кэша

VectXXX - вектор / PIC-обработчик

FPU - эмуляция с плавающей запятой

Align – выравнивание адресов. Обработчик ошибок

Microware OS-9 для PowerPC/ARM based systems

Поддерживаемые архитектуры PowerPC
Поддерживаемые архитектуры ARM

Microware OS-9 для PowerPC/ARM (Advanced RISC Machine)[Источник 3][Источник 4] - это комплексное решение для приложений реального времени, использующих аппаратное обеспечение для архитектуры на основе архитектуры PowerPC/ARM (Advanced RISC Machine). MicroSys предоставляет встроенную операционную систему реального времени (RTOS), драйверы, решения уровня разработки, средства разработки и промежуточное программное обеспечение, что упрощает разработку приложений и сокращает время выхода на рынок.

OS-9 для EMBEDDED SYSTEMS

OS-9 для PowerPC/ARM (Advanced RISC Machine) - это лицензированный продукт, включающий инструменты среды разработки, быстрое и компактное двоичное программное обеспечение во время выполнения, а также источники драйверов для разработки аппаратной платформы PowerPC/ARM (Advanced RISC Machine).

Решения OS-9

Microware OS-9 Board Level Solutions (BLS) - это полная программная основа для создания, отладки и развертывания встроенных приложений на компьютерах на базе PowerPC. Программная среда позволяет разработчикам загружать OS-9 на целевую плату и начинать создание дифференцированных приложений с первого дня. Комплексный пакет разработки программного обеспечения охватывает встроенный рабочий процесс и включает в себя высоко оптимизирующий компилятор C / C++, полностью настраиваемую среду разработки, редактор, графические инструменты отладки, профилировщик системы, менеджер проектов и библиотеки и решения промежуточного программного обеспечения.

Паспорт OS-9

Microware OS-9 для PowerPCразработан в дополнение к уникальным функциям процессора, предоставляя полную базовую базу программного обеспечения с исходным кодом и двоичными объектами для расширенной широкополосной или локальной сети, подключения, графики, мультимедийного ввода-вывода и сложного управления питанием. Продукт обеспечивает предварительно интегрированную среду разработки с технологией компилятора, настроенной для PowerPC/ARM (Advanced RISC Machine) и наборов инструкций. Microware OS-9 для PowerPC/ARM (Advanced RISC Machine) также предоставляет собственные среды приложений C / C++, HTML и Java ™, значительно сокращая время разработки и усилия и обеспечивая мгновенную основу для приложений сторонних разработчиков.

Интегрированная среда развития

IDE (называемая HAWK) предназначена для повышения эффективности разработки OS-9. Плотно интегрированный набор инструментов упрощает и автоматизирует задачи по созданию, отладке, анализу и управлению сложными проектами программного обеспечения в реальном времени.

Среда разработки включает редактор кода Borland CodeWright, компилятор, компоновщик, загрузчик объектов, отладчики приложений и системного уровня, системный профайлер и более 100 онлайновых технических руководств в формате PDF.

Дополнительно Eclipse (JUNO) включает управление проектами Eclipse и компилятор Ultra C, являющиеся частью среды IDE.

HawkEye OS-9 PROFILING

HawkEye - это инструмент визуализации на основе графического интерфейса для операционной системы OS-9. Он фиксирует и анализирует журналы различных системных событий, таких как вилки процессов и выходы, переключатели контекста, системные вызовы и прерывания. Он графически отображает процессы взаимодействия в удобном для понимания формате, что позволяет экономить разработчикам огромное количество времени при отладке или оптимизации приложений.

Мастер конфигурация OS-9

Мастер настройки OS-9 предоставляет графический интерфейс, основанный на графическом интерфейсе, который упрощает настройку и создание системных изображений. Просто укажите и щелкните по сети, настройке TCP / IP, графике и отладке. Мастер автоматически создает образ программного обеспечения для вашей целевой системы.

Комплексные коммуникации SoftStax

OS-9 содержит предварительно интегрированную инфраструктуру связи на основе драйверов под названием SoftStax, которая позволяет «подключать и удалять» отдельные протоколы и сети без нарушения прикладного программного обеспечения. Архитектуры на основе драйверов увеличивают пропускную способность сети на 30% по сравнению с архитектурой, основанной на задачах. Кроме того, платформа SoftStax позволяет приложениям использовать несколько стеков протоколов в течение отдельных сеансов связи и переключать протоколы в зависимости от сетевых требований. Продукт включает в себя модульный сетевой стек IPv6 / IPv4 на базе NetBSD с поддержкой сокетов и функциями TCP / UDP / IP.

XiBase9

Совершенная графическая система

XiBase9 - это полная встроенная графическая система, позволяющая создавать инновационные человеческие интерфейсы и интерактивные системы отображения для встроенных приложений. Она основана на объектно-ориентированном графическом сервере с акцентом на быстрое выполнение программ и низкий спрос на системные ресурсы. Таким образом, он идеально подходит для требований к графическим системам для высоко интегрированных и экономичных встраиваемых систем, поддерживающих все общие семейства процессоров. Уже более 20 лет XBase9 и OS-9 имеют проверенный опыт внедрения в многочисленных приложениях автоматизации по всему миру.

Его можно выбрать из богатой библиотеки доступных графических объектов, которая росла годами. Доступ к этой огромной базе объектов предлагает разработчику, всего лишь несколькими простыми модификациями, быстрое генерирование новых графических концепций или прототипов системных проектов.

Сервер XiBase9 связывается через определенный интерфейс с приложениями и системной платформой (операционная система и, если доступна графическая подсистема). Это гарантирует мобильность и независимость платформы. Изменения графических элементов не требуют изменения кода приложения. Это повышает эффективность программирования; предлагает четкие структуры кода и результаты в упрощении обслуживания проектов и систем. XiBase9 очень хорошо подходит для встроенных систем реального времени с высоким спросом качества графики, надежности, малого размера и ресурсного спроса. Обычные окна или отдельные графические пользовательские интерфейсы могут быть легко сгенерированы благодаря поддержке встроенных средств разработки.

Обработка исключений

Механизм обработки исключений OS-9 изолирует, содержит и очищает после нарушения программного обеспечения. Разработчики также могут настраивать обработку исключений для более подробного ведения журналов, отчетов или автоматического восстановления отдельных условий исключения по желанию.

USB HOST SDK ДЛЯ OS-9

USB Host SDK для OS-9 обеспечивает решение под ключ USB для встроенных приложений. Благодаря этой полной библиотеке API (Application Programming Interface)-интерфейсов USB приложения OS-9 не требуют дополнительной разработки, чтобы понять сложность связи для устройства USB.

SERIAL/PARALLEL I/O

Подсистема ввода-вывода последовательного символьного файла (SCF) обрабатывает базовые ориентированные на символы устройства ввода-вывода, такие как последовательные порты, параллельные порты и модемы. Он также функционирует как входной путь для различных устройств, таких как клавиатуры, мыши и сенсорные экраны.

STORAGE I/O

Подсистема ввода-вывода Random Block File Manager (RBF) реализует иерархическую UNIX-подобную файловую систему для хранения данных, включая драйвер устройства RAM для устройств, которым требуется временное хранилище во время работы. OS-9 также обеспечивает файловую систему ПК (PCF) для совместимости с ПК. Поддерживаются файловые системы FAT (File Allocation Table)16/FAT (File Allocation Table)32.

PCI I/O

Продукт поддерживает множество популярных устройств PCI, таких как модемы, ATA Flash и жесткие диски, совместимые последовательные устройства с поддержкой 16550 и устройства подключения Ethernet.

Содержание продукта

Microware OS-9 для PowerPC/ARM (Advanced RISC Machine) Architecture содержит следующее программное обеспечение, интегрированное в один ISO-образ:

  • OS-9 RTOS
  • Система связи SoftStax
  • Модульный, двойной сетевой стек IPv6 / IPv4, основанный на NetBSD v4.0
  • API (Application Programming Interface) с функциями TCP / UDP / IP
  • Поддержка клиентов Ethernet и PPP
  • Примеры драйверов устройств (только для распространения продуктов OEM) и исходного кода приложения
  • Готовое портированное загрузочное изображение для эталонной платформы
  • Драйверы устройств
  • Мультимедийная система ввода-вывода MAUI
  • Мастер настройки OS-9
  • Microware Hawk IDE для OS-9, включая редактор кода Borland Codewright
  • Браузер исходного кода
  • Менеджер проекта
  • Управление питанием для режимов мощности ARM (Advanced RISC Machine) Architecture
  • Компилятор Ultra C / C++
  • Отладчик состояния системы и пользователя
  • Системный профилировщик
  • Набор резидентных инструментов
  • Руководства по продуктам и техническим характеристикам (формат PDF)
  • Диагностическая программа TECH-CHECK

EtherCAT Master Stack

Структурная схема EtherCAT Master Stack

EtherCAT Master Stack для OS-9

EtherCAT Master Stack[Источник 5] для OS-9 основан на базовом примерном коде Beckhoff и оптимизирован для удовлетворения требований жесткой работы в режиме реального времени под RTOS OS-9. Время цикла может уменьшаться до 50 мкс в зависимости от производительности процессора, количества устройств и размера данных. EtherCAT Master основан на ENI, поэтому он принимает любую конфигурацию, созданную в соответствии со спецификациями EtherCAT. EtherCAT Master имеет модульную архитектуру и состоит из следующих слоев для адаптации программистов, которые должны создавать пользовательские приложения на разных уровнях удобства и сложности.

Первый уровень, основная задача EtherCAT

Пользовательское приложение передает событие, синхронизированное по общей памяти, с основной задачей EtherCAT. Доступ пользовательского приложения к полю ввода-вывода EtherCAT основан на именах переменных символьного поля. Конфигурация выполняется с помощью инструмента конфигурации EtherCAT или самого писателя приложения. Уровень 1 - это предпочтительная модель использования.

Второй уровень, библиотека EtherCAT

Сама EtherCAT Mastertask использует библиотеку EtherCAT для всех целей связи. Фактически с точки зрения библиотеки EtherCAT основная задача EtherCAT - это просто «обычное» пользовательское приложение. Поэтому для продвинутых программистов, знакомых с стандартами связи EtherCAT, можно напрямую использовать библиотеку, особенно если полный набор функций предназначен для непосредственного использования на уровне приложения. Затем пользовательское приложение напрямую подключается к библиотеке EtherCAT, минуя все промежуточные уровни.

Функциональный обзор первого и второго уровней: библиотека EtherCAT

Библиотека EtherCAT (ethercat_protocol.l) предоставляет следующие функции (функции первого уровня обозначаются знаком *, второго - знаком #!):

  • Нет необходимости в файловых системах
  • Cyclic Data Exchange (периодические кадры до 50 мкс) зависит от производительности оборудования, количества устройств и размера данных
  • Ациклический обмен данными процесса (PDO в SDO)
  • Различные времена цикла обновления образа процесса (как указано в файле конфигурации XML (eXtensible Markup Language) XML)
  • Память технологического изображения может быть предоставлена извне посредством приложения, например: основная задача EtherCAT (*, #)
  • Крупные изображения процесса (превышающие длину кадра Ethernet) (*, #)

Конфигурация мастера (*, #)

  • XML (eXtensible Markup Language) XML-схема (соответствующая спецификации ENI)
  • Нет ESI (файл информации ведомого EtherCAT), загружаемого из EEPROM

Связь с почтовым ящиком (MBX) (*, #)

  • Пользовательские обратные вызовы интерфейса приложения
  • Протоколы почтовых ящиков
  • CAN-протокол через EtherCAT (CoE)
  • Приложение использует стандартный интерфейс обмена почтовыми ящиками
  • Загрузка SDO, загрузка SDO, информационная служба SDO, запрос экстренной помощи (только для библиотеки)

Поддерживаемые архитектуры процессора на сегодняшний день:

Сравнение с Unix

Понятие OS-9 о процессах и путях ввода/вывода во многом сходно с UNIX, но есть некоторые существенные различия. Во-первых, файловая система не является ни одним деревом, но вместо этого является лесом с каждым деревом, соответствующим устройству. Во-вторых, OS-9 не имеет системного вызова fork() в стиле UNIX, вместо этого он имеет системный вызов, который создает процесс, выполняющий указанную программу, выполняя почти ту же функцию, что и fork-exec или spawn. Кроме того, процессы OS-9 отслеживают два «текущих каталога», а не только один. «Текущий каталог исполнения» - это то место, где по умолчанию он сначала будет загружать программы для запуска (что аналогично использованию переменной окружения PATH в UNIX). Другой - это текущий каталог данных.

Другое отличие состоит в том, что в OS-9 каталоги grandparent могут указываться путем повторения периодов три или более раз, без каких-либо промежуточных слешей. Например, .... /file в OS-9, похож на ../../../file в UNIX. Но . и .., с одним или двумя периодами, каждая работает одинаково как в OS-9, так и в UNIX.

OS-9 имеет модульный дизайн с самого начала, получившийся под влиянием дизайнеров 6809, и их ожиданий, что программное обеспечение будет распространяться в будущем. Структура модуля требует дополнительных пояснений:

  • OS-9 хранит «директорию модуля», список резидентных, которые находятся в памяти, либо загружены, либо были обнаружены в ПЗУ во время начальной проверки во время загрузки.
  • Когда вы вводите команду в оболочку OS-9, она сначала будет искать в текущем каталоге модуль с указанным именем и будет использовать его (и увеличить количество ссылок), если найдет, или будет искать на диске соответствующим образом названный файл, если нет.
  • В OS-9/6809 и OS-9/68000 каталог модулей является плоским, но OS-9000 сделал древовидную структуру модуля. Оболочка OS-9000 ищет в своей альтернативной папке модуля переменную среды MODPATH, аналогичную переменной PATH во всех версиях, указывая последовательность каталогов модулей, в которых нужно искать предварительно загруженные модули.
  • Модули используются не только для хранения программ, но также могут быть созданы на лету для хранения данных.

OS-9 / non-68000 поддерживает потоки POSIX. Один процесс может запускать любое количество потоков.

Пустяки и пасхальные яйца

В руководстве OS-9 версии 2.4 эта запись описана в UNIX в Glossary of Appendix C «Использование профессиональной ОС-9»:

UNIX:
An operating system similar to OS-9, but with less functionality and 
special features designed to soak up excess memory, disk space and CPU 
time on large, expensive computers. 

Перевод: UNIX: Операционная система, похожая на OS-9, но с меньшей функциональностью и специальными функциями, предназначенными для впитывания избыточной памяти, дискового пространства и процессорного времени на больших дорогих компьютерах.

Эта запись была удалена в руководстве по версии 3.0.

Оболочка OS-9 содержала пасхальное яйцо в своей истории команд, вызываемое CTRL-A. После новой загрузки история команд предположительно должна быть пустой, но если пользователь набирает один пробел с последующим возвратом, а затем нажимает CTRL-A, отобразятся имена авторов: «К. Каплан, Л. Крейн, Р. Доггетт.

Конфликты и судебные решения

В 1999 году, через девятнадцать лет после первого выпуска OS-9, Apple Computer выпустила Mac OS 9. Microware подала в суд на Apple в этом году за нарушение товарного знака, хотя судья постановил, что путаница между продуктами маловероятна. Некоторые пользователи Macintosh, не знакомые с относительно неизвестной OS-9 от Microware, опубликовали в новостных группах непонимание того, что такое OS-9.

В 2001 году RadiSys приобрела Microware для приобретения сетевых процессорных ресурсов Intel IXP-1200. Это приобретение дало Microware капитал и позволило Microware продолжать разработку и поддержку OS-9.

21 февраля 2013 года Microware LP (партнерство, созданное Freestation of Japan, Microsys Electronics of Germany и RTSI LLC of the USA) объявило о подписании соглашения о покупке прав на имена Microware, OS-9 и всех активов от RadiSys.

Статус

OS-9 исчезла из популярного использования, хотя Microware LP все еще поддерживает ее, и она работает на современных архитектурах, таких как ARM и x86. Компилятор, Ultra C / C++, поддерживает C89, но не поддерживает ни C99, ни C++98. Ultra C++ предоставляет ограниченную поддержку шаблонов C++.

  • Версия OS-9, работающая под управлением G-Windows Стива Адамса, представлена на полупроводниковых скрубберах, выпускаемых Ontrak Systems/Lam Research. Тысячи этих систем используются сегодня, однако программное обеспечение, запущенное на них, относится к 1999 году, когда последняя версия была создана для обработки проблем с выпуском 2000 года.
  • Версии OS-9/68K работали на разнообразных 68000 семейных платформах, включая Sharp X68000 в Японии, некоторые персональные компьютеры, предназначенные их дизайнерами в качестве обновлений от Color Computer (например, MM/1 на базе 68070 и 68340, и на других компьютерах от Frank Hogg Laboratories, PEP Modular Computers и Delmar Co.). Они также были портированы на Atari ST компанией Recc-o-ware в начале 1990-х годов и были распространены Cumana в Европе. Существует порт для Apple Macintosh, основанный на 68000, распространяемый Ultrascience. Предполагается, что порт в Amiga также существует.
  • OS-9/68K назначается Caltrans для использования в платах контроллеров 2070-1B и 2070-1E, используемых для запуска многих североамериканских систем управления сигналами трафика.
  • OS-9/68K также присутствует в некоторых других встроенных приложениях, включая генератор символов телевизионного вещания Quanta Delta, все еще находящийся в производстве ScanLine Technologies в штате Юта. В то время как код интерфейса пользовательского уровня в этой системе запускался во время загрузки, была скрытая, недокументированная последовательность клавиш, которая обеспечивала бы пользователю приглашение командной строки root в окне прокрутки на мониторе редактирования канала устройства.
  • На рынке, OS-9 нашла применение в таких устройствах, как синтезаторы Fairlight CMI, робототехнике, автомобильно-навигационных системах и промышленном стандарте Philips для компакт-дисков (CD-i).
  • Цветной компьютер TRS-80 (и клоны) все еще имеет пользователей и ежегодную конференцию в Чикаго. С 2017 года 26-й ежегодный «Последний» Чикаго CoCoFEST запланирован на 22 и 23 апреля 2017 года. Группа канадских программистов переписала OS-9/6809 Level Two для CoCo 3 (с аппаратными средствами преобразования адресов) для повышения эффективности и воспользовалась родным режимом Hitachi 6309. Сегодня серьезные пользователи CoCo теперь обычно заменяют 68B09E в CoCo 3 на Hitachi 63B09E и запускают перезапись под названием NitrOS9. Комбинация удивительно быстрая, учитывая, что она работает на недорогой 8-битной компьютерной системе.
  • CoCo3 FPGA Гэри Беккера представляет собой синтезированный цветной компьютер TRS-80, который запускает NitrOS9 на плате Altera DE-1. Ядро 6809 CPU было спроектировано Джоном Кентом и в настоящее время работает на частоте 25 МГц.
  • OS-9000/80x86 можно запускать на компьютерах, построенных на процессорах Intel x86. OS-9000 также была портирована на PowerPC, MIPS (Microprocessor without Interlocked Pipeline Stages), некоторые версии ARM (Advanced RISC Machine)-процессора Advanced RISC Machines и некоторые семейства процессоров Hitachi SH.
  • Устройство воспроизведения аудио сигнала DigiCart/II Plus работает под управлением OS-9/68K. Это замена игровыми автоматами радиостанций. Они используются на радио и в местах как, Мир Уолта Диснея, где они играют объявления.
  • Немецкий производитель электроники Eltec с конца 1970-х годов выпускает платы процессора Eurocom для промышленных целей, начиная с моделей 6802 и 6809 Eurocom-1 и Eurocom-2, а также с 68K и производными платными процессорами. Современные платы могут поставляться с различными операционными системами, среди которых OS-9.

Ссылки

Литература

  • Paul S. Dayan, The OS-9 Guru 1992

Источники

  1. OS-09 // Wikipedia. [2015—2017]. Дата обновления: 17.09.2015. URL: https://en.wikipedia.org/wiki/OS-9 (дата обращения: 11.05.2017)
  2. OS-09 // Microware. [2010—2017]. Дата обновления: 20.07.2012. URL: http://www.microware.com/index.php/2-uncategorised/13-microware-os-9-overview (дата обращения: 2.06.2017)
  3. OS-09 // Microware. [2010—2017]. Дата обновления: 20.07.2012. URL: http://www.microware.com/index.php/2-uncategorised/12-os-9-6-0-for-power-pc (дата обращения: 2.06.2017)
  4. OS-09 // Microware. [2010—2017]. Дата обновления: 20.07.2012. URL: http://www.microware.com/index.php/2-uncategorised/10-os-9-on-arm (дата обращения: 2.06.2017)
  5. OS-09 // Microware. [2010—2017]. Дата обновления: 20.07.2012. URL: http://www.microware.com/index.php/2-uncategorised/11-ethercat-master-stack (дата обращения: 2.06.2017)