Разработчик | Microware, купленный Radisys в 2001 году (с 2013 года принадлежит) |
---|---|
Написано на | C, языке ассемблера |
Рабочее состояние | Текущее |
Исходная модель | Закрытый исходный код |
Первоначальный выпуск | 1979; 41 год назад (1979) |
Последний выпуск | 6.1 / 14 ноября 2017 г.; 2 года назад (2017-11-14) |
Маркетинговая цель | высокопроизводительное, высокодоступное программное решение в реальном времени для современной промышленной автоматизации и управления, медицинского оборудования, аэрокосмических и транспортных систем |
Доступно на | английском языке |
Платформы | Motorola 6809, CPU Motorola 680x0, ColdFire, SuperH, ARM / XScale, MIPS, PowerPC, Intel архитектура x86 |
Тип ядра | Ядро реального времени |
Пользовательский интерфейс по умолчанию | CLI во всех версиях, некоторые платформы поддерживают GUI |
лицензию | проприетарную |
Официальный веб-сайт | www.microware.com |
OS-9 - это семейство реального времени, на основе процессов, многозадачности, многопользовательской операционные системы, разработанные в 1980-х годах компанией Microware Systems Corporation для микропроцессора Motorola 6809 . Он был куплен Radisys Corp в 2001 году и снова выкуплен в 2013 году его нынешним владельцем.
Семейство OS-9 было популярно для вычислений общего назначения и до сих пор используется в коммерческих встроенных системах и среди любителей. Сегодня OS-9 - это название продукта, используемое как ОС Motorola 68000 -series машинного языка, так и портативным (PowerPC, x86, ARM, MIPS, SH4 и т. Д.) Версии, написанной на C, первоначально известной как OS-9000 .
Первая версия («OS-9 Level One»), которая восходит к 1979–1980 гг., был написан на языке ассемблера для ЦП Motorola 6809, и все его процессы выполнялись в адресном пространстве ЦП размером 64 КБ без блока управления памятью. Он был разработан как вспомогательная операционная система для проекта BASIC09, контракт на который Motorola заключила в рамках разработки 6809. Более поздняя версия 6809 («Уровень два») использует преимущества аппаратного обеспечения отображения памяти, поддерживает до 2 МБ памяти (примерно 1980 г.) в большинстве реализаций и включает GUI на некоторых платформах.
В 1983 году OS-9/6809 была перенесена на язык ассемблера Motorola 68000 и расширена (названа OS-9 / 68K); и еще более поздняя (1989) версия была переписана в основном на C для дальнейшей переносимости. Портативная версия первоначально называлась OS-9000 и была выпущена для ПК-систем 80386 примерно в 1989 году, а затем портирована на PowerPC примерно в 1995 году. В этих более поздних версиях отсутствует отображение памяти Средства OS-9/6809 Level Two просто потому, что они им не нужны. Они использовали единое плоское адресное пространство, которое разделяют все процессы; Оборудование для отображения памяти, если оно есть, в основном используется для обеспечения доступа процессов только к той памяти, к которой они имеют право доступа. Все блоки 680x0 и 80386 (и более поздние) MPU в любом случае напрямую поддерживают гораздо более 1 МБ памяти.
Вследствие ранних широко распространенных проектных решений, использующих преимущества легко используемых возможностей реентерабельного объектного кода процессора 6809, программы, предназначенные для OS-9, должны быть реентерабельными; компиляторы автоматически создают реентерабельный код, а ассемблеры для OS-9 предлагают значительную поддержку для него. OS-9 также использует позиционно-независимый код и данные, потому что 6809 также поддерживает их напрямую; компиляторы и ассемблеры поддерживают независимость позиции. Ядро OS-9 загружает программы (включая общий код) и выделяет данные везде, где на карте памяти доступно достаточно свободного места. Это позволяет помещать всю ОС и все приложения в ПЗУ или флэш-память и упрощает требования к управлению памятью, когда программы загружаются в ОЗУ и запускаются. Все программы, драйверы устройств и менеджеры ввода-вывода под OS-9 являются «модулями» и могут динамически загружаться и выгружаться (в зависимости от количества ссылок) по мере необходимости.
OS-9/6809 работает в системах Motorola с использованием шинных систем Motorola 6809, SS-50 Bus и SS-50C от компаний. такие как системы SWTPC и 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. Он включал в себя встроенную оперативную память, интерфейс жесткого диска SCSI и процессор MC68008.
OS-9 также была перенесена на Commodore SP-9000 или SuperPET, который имел 6809 в дополнение к 6502 базовой модели 8032, а также еще 64 КБ. Группа пользователей Toronto PET спонсировала проект HW / SW, который включал дочернюю плату с MMU, а также распределительные диски OS-9. С двумя процессорами, 96 КБ, экраном 25 × 80, последовательным, параллельным портами и портами IEEE-488, а также множеством периферийных устройств, это была одна из самых функциональных систем OS-9.
На компьютере, таком как SS-50, машины с большим объемом памяти (например, от Gimix, Southwest Technical Products и т. Д.) И контроллеры ввода-вывода, которые не загружали ЦП, как это делали CoCo, несколько пользователей были обычным явлением, даже с 64 КБ ОЗУ (т. Е. Первого уровня). С аппаратным обеспечением, поддерживающим схемы управления памятью (т. Е. Преобразование адресов) и OS-9 Level 2, использование GUI было успешным рутинным делом даже на CoCo с минимальными ресурсами. Это было за несколько лет до успешных графических интерфейсов пользователя на 16-битных машинах класса IBM PC и за много лет до правильной работы многозадачных, многопользовательских операционных систем с контролируемым доступом на машинах типа IBM PC или на любых машинах Apple.
Многопользовательские и многозадачные возможности OS-9 позволяют использовать ее в качестве интерактивной компьютерной системы общего назначения. Для него было написано множество сторонних интерактивных приложений, таких как электронная таблица, средство форматирования текста VED и текстовые процессоры Stylograph и Screditor-3 WYSIWYG . Эмулирующий форматировщик TSC nroff был также перенесен на OS-9 компанией MicroWay.
В середине 1980-х годов OS-9 была выбрана для операционной системы CD-i. Примерно в то же время 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. Ныне несуществующие использовали OS-9 в своих CG, таких как CG 4722 и CG4733.
В 1999 году, через девятнадцать лет после первого выпуска OS-9, Apple Computer выпустила Mac OS 9. В том же году Microware подала в суд на Apple за нарушение прав на товарный знак, хотя судья постановил, что вероятность путаницы между ними невелика. Некоторые пользователи Macintosh, которые не знают о менее известной OS-9 от Microware, отправили сообщения в группу новостей comp.os.os9, не понимая, что такое OS-9.
В 2001 году RadiSys приобрела Microware, чтобы получить ресурсы сетевого процессора Intel IXP-1200. Это приобретение обеспечило Microware капиталом и позволило Microware продолжить разработку и поддержку OS-9.
21 февраля 2013 года Microware LP (партнерство, образованное Freestation of Japan, Microsys Electronics из Германии и RTSI LLC из США) объявила о подписании Соглашения о покупке активов для покупки прав на имена Microware, OS-9 и все ресурсы из RadiSys.
OS-9 (особенно версия 68k и последующие) явно отличается от предыдущего поколения встроенные операционные системы во многих аспектах.
По сравнению с более современными операционными системами.
OS-9 Ядро реального времени позволяет нескольким независимым приложениям работать одновременно с помощью средств переключения задач и межпроцессного взаимодействия. Все программы OS-9 выполняются как процессы, содержащие по крайней мере один облегченный процесс (поток), но могут содержать фактически неограниченное количество потоков. В рамках процесса эти облегченные процессы совместно используют память, пути ввода-вывода и другие ресурсы в соответствии со спецификацией потоков POSIX и API. OS-9 планирует потоки с использованием алгоритма упреждающего планирования с фиксированным приоритетом с циклическим планированием в пределах каждого приоритета. Поддерживается квантование времени. Уровни приоритета можно разделить на диапазон, который поддерживает устаревание, и диапазон с более высоким приоритетом, который использует планирование со строгим приоритетом. Каждый процесс может получить доступ к любому системному ресурсу, выдав соответствующий запрос службы OS-9. В каждой точке планирования OS-9 сравнивает приоритет потока в начале активной очереди с приоритетом текущего потока. Контекст переключается на поток в активной очереди, если его приоритет выше, чем приоритет текущего процесса. Старение искусственно увеличивает эффективный приоритет потоков в активной очереди с течением времени. Через определенные интервалы квантование времени возвращает текущий поток в активную очередь за другими потоками с тем же приоритетом.
Следующий список команд поддерживается ОС- 9 оболочка.
Встроенные команды оболочки
Утилиты для функций операционной системы
Утилиты управления системой
Общие утилиты
понятие процедуры OS-9 sses и пути ввода-вывода очень похожи на Unix почти во всех отношениях, но есть некоторые существенные различия. Во-первых, файловая система - это не одно дерево, а лес, каждое дерево которого соответствует устройству. Во-вторых, OS-9 не имеет системного вызова fork () в стиле Unix - вместо этого у нее есть системный вызов, который создает процесс, выполняющий указанную программу, выполняющий почти ту же функцию, что и вилка . -exec или создать. Кроме того, процессы OS-9 отслеживают два «текущих каталога», а не только один; «текущий каталог выполнения» - это то место, где он по умолчанию сначала будет искать программы для запуска (что аналогично использованию переменной среды PATH в UNIX). Другой - текущий каталог данных.
Еще одно отличие состоит в том, что в OS-9 прародительские каталоги могут указываться повторением точек три или более раз без каких-либо промежуточных косых черт (функция также присутствует в 4DOS / 4OS2 / 4NT /TC ). Например, .... / file
в OS-9 похож на ../../../file
в Unix. Но .
и ..
с одним или двумя точками работают одинаково как в OS-9, так и в Unix.
OS-9 с самого начала имела модульную структуру, на которую повлияли представления разработчиков 6809 и то, как они ожидали, что программное обеспечение будет распространяться в будущем (см. серия статей в январе-марте 1979 г. Byte Терри Риттера и др. из Motorola, разработавших центральный процессор).
OS-9 / non-68000 поддерживает потоки POSIX. Один процесс может запускать любое количество потоков.
OS-9 перестала пользоваться популярностью, хотя Microware LP все еще поддерживает ее и работает на современных архитектурах, таких как ARM и x86. Предоставленный компилятор Ultra C / C ++ поддерживает C89, но не поддерживает ни C99, ни C ++ 98. Ultra C ++ обеспечивает ограниченную поддержку шаблонов C ++. Он также поддерживается популярными библиотеками SSL / TLS, такими как wolfSSL.