ОС-9
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2021 г. ) |
Разработчик |
|
---|---|
Написано в | С , язык ассемблера |
Рабочее состояние | Текущий |
Исходная модель | Закрытый исходный код |
Первоначальный выпуск | 1979 год |
Последний выпуск | 6.1 / 14 ноября 2017 г |
Маркетинговая цель | Высокопроизводительное программное решение с высокой доступностью, работающее в режиме реального времени, для современной промышленной автоматизации и контроля, медицинского оборудования, аэрокосмической и транспортной систем. |
Доступно в | Английский |
Платформы | Motorola 6809 , Motorola 680x0 Процессоры , ColdFire , SuperH , ARM/XScale , MIPS , PowerPC , Intel x86 архитектура |
ядра Тип | Ядро реального времени |
По умолчанию пользовательский интерфейс | CLI во всех версиях, некоторые платформы поддерживают графический интерфейс. |
Лицензия | Собственный |
Официальный сайт | www |
OS-9 — семейство времени , основанных на процессах и многозадачных многопользовательских реального операционных систем , разработанных в 1980-х годах первоначально компанией Microware Systems Corporation для Motorola 6809 микропроцессора . Он был куплен Radisys Corp в 2001 году, а в 2013 году снова куплен его нынешним владельцем Microware LP .
Семейство OS-9 было популярно для вычислений общего назначения и до сих пор используется в коммерческих встроенных системах и среди любителей. Сегодня OS-9 — это название продукта, используемое как 68000 Motorola серии ОС машинного языка , так и портативной ( PowerPC , x86 , ARM , MIPS , SH4 и т. д.) версией, написанной на C , первоначально известной как OS-9000 .
История
[ редактировать ]Первая версия («OS-9 Level One»), датируемая 1979–1980 годами, была написана на языке ассемблера для процессора Motorola 6809 , и все ее процессы выполнялись в адресном пространстве процессора размером 64 КБ без управления памятью. единица. Она была разработана как вспомогательная операционная система для проекта BASIC09 , на который Motorola заключила контракт в рамках разработки 6809. Более поздняя версия 6809 («Второй уровень») использует преимущества аппаратного обеспечения отображения памяти, поддерживает до 2 МБ памяти (около 1980 г.) в большинстве реализаций и включает графический интерфейс на некоторых платформах.
В 1983 году OS-9/6809 была портирована на язык ассемблера Motorola 68000 и расширена (названа OS-9/68K); а еще более поздняя (1989 г.) версия была переписана в основном на C для большей переносимости. Портативная версия первоначально называлась OS-9000 и была выпущена для ПК-систем 80386 примерно в 1989 году, а затем перенесена на PowerPC примерно в 1995 году. В этих более поздних версиях отсутствуют средства отображения памяти OS-9/6809 второго уровня просто потому, что они им не нужны. Они использовали единое адресное пространство, общее для всех процессов; Аппаратное обеспечение отображения памяти, если оно имеется, в основном используется для обеспечения доступа процессов только к памяти, к которой у них есть право доступа. 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 от таких компаний, как 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 было возможно иметь более одного интерактивного пользователя, работающего одновременно (например, один на клавиатуре консоли, другой в фоновом режиме и, возможно, третий). интерактивно через последовательное соединение), а также некоторые другие неинтерактивные процессы. [ нужна ссылка ] Одна система, Positron 9000, позиционировалась как многопользовательская система для образовательного использования, предлагая среды Microware BASIC и Pascal, оснащенную оперативной памятью объемом от 64 до 512 КБ и имеющую от четырех до двенадцати последовательных портов. Однако, как сообщается, на скорость реагирования повлияли многопользовательские операции в минимальной конфигурации системы. [ 1 ] Вторая реализация процессора OS-9 для BBC Micro была произведена компанией Cumana . Он включал встроенную оперативную память, интерфейс жесткого диска SCSI и процессор MC68008 . [ 2 ]
OS-9 также была портирована на Commodore SP-9000 или SuperPET, который имел 6809 в дополнение к 6502 базовой модели 8032, а также на 64 КБ больше. Группа пользователей Toronto PET спонсировала проект аппаратного и программного обеспечения, который включал дочернюю плату с MMU, а также дистрибутивные диски OS-9. Имея два процессора, 96 КБ, экран 25×80, последовательные, параллельные порты и порты IEEE-488, а также множество периферийных устройств, это была одна из самых функциональных доступных систем OS-9.
Многопользовательские и многозадачные возможности OS-9 позволяют использовать ее в качестве интерактивной компьютерной системы общего назначения. Для него написано множество сторонних интерактивных приложений, таких как Dynacalc электронная таблица Stylograph и Screditor-3 WYSIWYG , форматтер текста ВЭД, а также текстовые процессоры . TSC от Программа форматирования nroff также была портирована на OS-9 компанией MicroWay.
В середине 1980-х годов для операционной системы CD-i была выбрана OS-9 . Примерно в то же время Microsoft обратилась к Microware с просьбой о приобретении компании в первую очередь потому, что ее привлекла CD-RTOS, операционная система CD-i. Переговоры провалились, и сделка заключена не была; Microware решила остаться независимой. [ 3 ]
В конце 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-х годов компьютеры с генераторами символов, используемые в системах вещания, широко использовали OS-9 и OS-9000. Ныне несуществующая компания Pesa Electronica использовала OS-9 на своих компьютерах, таких как CG 4722 и CG4733.
Назовите конфликты и судебные решения
[ редактировать ]В 1999 году, через девятнадцать лет после первого выпуска OS-9, компания Apple Computer выпустила Mac OS 9 . В том же году Microware подала в суд на Apple за нарушение прав на товарный знак. [ 4 ] хотя судья постановил, что вероятность путаницы между ними будет небольшой. Некоторые пользователи Macintosh, которые не знают о менее известной OS-9 от Microware, написали в группе новостей comp.os.os9, не понимая, что такое OS-9.
В 2001 году RadiSys приобрела Microware для приобретения ресурсов сетевого процессора Intel IXP-1200 . Это приобретение наполнило Microware капиталом и позволило Microware продолжить разработку и поддержку OS-9.
21 февраля 2013 года Microware LP (партнерство, созданное Freestation из Японии, Microsys Electronics из Германии и RTSI LLC из США) объявила о подписании соглашения о покупке активов для покупки прав на названия Microware, OS-9 и все остальные. активы от RadiSys .
Технология
[ редактировать ]Современный и архаичный дизайн
[ редактировать ]OS-9 (особенно версия 68k и последующие) явно отличается от предыдущего поколения встраиваемых операционных систем во многих аспектах.
- Работает на 8-битных, 16-битных и 32-битных процессорах .
- Четкое разделение между пользовательским режимом и режимом супервизора (ядра).
- Динамическое использование индивидуально и отдельно созданных компонентов программного обеспечения (образов исполняемых программ и модулей ядра ), а не статически связанного единого монолитного образа.
- Unix-подобная модель пространства имен процесса (не модель памяти ) и программа пользовательской оболочки.
- Четкое разделение между аппаратно-независимыми (например, файловыми менеджерами) и аппаратно-зависимыми (например, драйверами устройств ) уровнями.
По сравнению с более современными операционными системами:
- Ядро полностью написано на языке ассемблера (только версия OS-9/68K) и C (переносимая версия для других архитектур) с использованием простых внутренних структур данных, что снижает гибкость и возможности улучшения, одновременно улучшая определяемость, необходимую для операционных систем реального времени .
- Некоторые операции также повлияли на производительность, но язык ассемблера помог решить проблему со скоростью.
- Системы без модуля управления памятью (MMU) не имеют защиты памяти от несанкционированного доступа или защиты памяти для каждого процесса, тогда как в системах с MMU может быть включена защита памяти. Модуль, управляющий MMU, может быть включен или исключен системным интегратором для включения или отключения защиты памяти. Это позволяет OS-9 работать на старых системах, не имеющих MMU.
- Старые версии OS-9 не поддерживают потоки POSIX , в то время как все процессоры, поддерживаемые OS-9, поддерживают потоки POSIX.
- Нет поддержки SMP для нескольких сокетов, ядер или аппаратных потоков в одном экземпляре OS-9 (может работать как RTOS на одном из ядер двухъядерных процессоров, таких как Core Duo и Core 2 Duo , когда Linux работает на другом ядре). выполнение задач общего назначения).
Планирование задач
[ редактировать ]Ядро реального времени OS-9 позволяет одновременно выполнять несколько независимых приложений посредством переключения задач и средств межпроцессного взаимодействия. Все программы OS-9 запускаются как процессы, содержащие хотя бы один облегченный процесс (поток), но могут содержать фактически неограниченное количество потоков. Внутри процесса эти облегченные процессы совместно используют память, пути ввода-вывода и другие ресурсы в соответствии со спецификацией потоков POSIX и API. OS-9 планирует потоки, используя алгоритм вытесняющего планирования с фиксированным приоритетом и циклическим планированием внутри каждого приоритета. Поддерживается разделение времени. Уровни приоритета можно разделить на диапазон, поддерживающий устаревание , и диапазон с более высоким приоритетом, в котором используется строгое планирование приоритетов. Каждый процесс может получить доступ к любому системному ресурсу, отправив соответствующий запрос на обслуживание OS-9. В каждой точке планирования OS-9 сравнивает приоритет потока в начале активной очереди с приоритетом текущего потока. Контекст переключается на поток в активной очереди, если его приоритет выше приоритета текущих процессов. Старение искусственно увеличивает эффективный приоритет потоков в активной очереди с течением времени. Через определенные промежутки времени квантование времени возвращает текущий поток в активную очередь позади других потоков с тем же приоритетом.
Модули ядра
[ редактировать ]- Ядро — содержит переключение задач, распределение памяти и большинство вызовов, не связанных с вводом-выводом.
- IOMAN – обрабатывает вызовы ввода-вывода различных файловых менеджеров и драйверов.
- Базовый набор файловых менеджеров:
- SSM – безопасность системы (обработка MMU)
- Кэш – обработка кэша,
- VectXXX — обработчик векторов/PIC
- FPU — эмуляция чисел с плавающей запятой
- Align — обработчик ошибок выравнивания адресов.
Команды
[ редактировать ]Следующий список команд поддерживается оболочкой OS-9.
Встроенные команды оболочки
- чд
- chx
- убийство
- В
- ждать
- setenv
- unsetenv
- setpr
- выход из системы
- профиль
- бывший
- -и
- -ne
- -п
- -p=<строка>
- -например
- -т
- -нт
- -v
- -nv
- -х
- -nx
Утилиты для функций операционной системы
- атрибут
- копировать
- дата
- Дейниз
- принадлежащий
- проколоться
- сохранить
- свалка
- эхо
- фиксмод
- бесплатно
- личность
- твой
- связь
- список
- нагрузка
- макдир
- это м
- слить
- свободный
- ПД
- пиар
- printenv
- процессы
- переименовывать
- сохранять
- оболочка
- время
- спать
- тройник
- tmode
- трогать
- отсоединить
Утилиты управления системой
- резервное копирование
- dcheck
- разработчики
- формат
- холодильник
- fсохранить
- прерывания
- авторизоваться
- os9gen
- цмон
- xmode
Общие коммунальные услуги
Сравнение с Unix
[ редактировать ]Представления о процессах и путях ввода-вывода в OS-9 почти во всех отношениях очень похожи на представления в Unix, но есть некоторые существенные различия. Во-первых, файловая система — это не одно дерево, а лес, каждое дерево которого соответствует устройству. Во-вторых, в OS-9 нет системного вызова fork() в стиле Unix — вместо этого есть системный вызов, который создает процесс, запускающий указанную программу, выполняющий почти ту же функцию, что и fork-exec или spawn . Кроме того, процессы OS-9 отслеживают два «текущих каталога», а не один; «текущий каталог выполнения» — это то место, куда он по умолчанию будет обращаться в первую очередь при загрузке программ для запуска (что аналогично использованию переменной среды PATH в UNIX). Другой — текущий каталог данных.
Другое отличие состоит в том, что в OS-9 родительские каталоги могут обозначаться повторением точек три или более раз без каких-либо промежуточных косых черт (функция также имеется в 4DOS / 4OS2 / 4NT / TC ). Например, ..../file
в ОС-9 аналогично ../../../file
в Юниксе. Но .
и ..
, всего один или два периода, каждый из которых работает одинаково как в OS-9, так и в Unix.
OS-9 с самого начала имела модульную конструкцию, на которую повлияли представления разработчиков 6809 и то, как они ожидали, что программное обеспечение будет распространяться в будущем (см. серию статей из трех частей в январе-марте 1979 г., Byte Терри Риттера). и др. компании Motorola, разработавшей процессор).
Структура модуля требует более подробного объяснения: OS-9 хранит «каталог модулей», резидентный список всех модулей, которые находятся в памяти либо будучи загруженными, либо обнаруженными в ПЗУ во время первоначального сканирования во время загрузки. Когда кто-то вводит команду в оболочку OS-9, она сначала ищет в текущем каталоге модулей модуль с указанным именем и использует его (и увеличивает количество его ссылок), если он найден, или он ищет на диске модуль с указанным именем. файл с соответствующим именем, если нет. В OS-9/6809 и OS-9/68000 каталог модулей является плоским, но в OS-9000 каталог модулей имеет древовидную структуру. Оболочка OS-9000 ищет в альтернативном каталоге модулей переменную среды MODPATH, аналогичную переменной PATH во всех версиях, указывающую последовательность каталогов модулей, в которых следует искать предварительно загруженные модули.
Модули не только используются для хранения программ, но также могут создаваться «на лету» для хранения данных и являются способом, которым OS-9 поддерживает общую память. OS-9/не-68000 поддерживает потоки POSIX . Один процесс может запускать любое количество потоков.
Статус
[ редактировать ]OS-9 перестала быть популярной, хотя Microware LP по-прежнему поддерживает ее и работает на современных архитектурах, таких как ARM и x86. Предоставленный компилятор Ultra C/C++ поддерживает C89 , но не поддерживает ни C99 , ни C++98 . Ultra C++ предоставляет ограниченную поддержку шаблонов C++. Он также поддерживается популярными библиотеками SSL/TLS, такими как wolfSSL .
- Версия OS-9 под управлением G-Windows Стива Адамса присутствует на скрубберах полупроводниковых пластин, производимых Ontrak Systems / Lam Research. Сегодня используются тысячи таких систем, однако программное обеспечение, работающее на них, датируется 1999 годом, когда была создана последняя версия для решения проблем 2000 года.
- Версии OS-9/68K работали на самых разных платформах семейства 68000 , включая X68000 в Японии, некоторые персональные компьютеры, задуманные их разработчиками как модернизацию цветного компьютера (например, 68070 и 68340 MM/1 на базе , и на других компьютерах от 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 в Юте. Хотя код интерфейса пользовательского уровня в этой системе запускался во время загрузки, существовала скрытая, недокументированная последовательность клавиш, которая предоставляла пользователю приглашение корневой оболочки в окне прокрутки на мониторе канала редактирования устройства.
- На рынке встраиваемых систем, где OS-9 нашла применение в таких устройствах, как синтезаторы Fairlight CMI , робототехника, автомобильные навигационные системы и Philips Compact Disc-Interactive ( CD-i ). отраслевой стандарт
- Цветной компьютер TRS -80 (и его клоны) до сих пор имеет пользователей и проводит ежегодную конференцию в Чикаго; по состоянию на 2018 год 27-й «Последний» Чикагский CoCoFEST. [ 5 ] был запланирован на 21-22 апреля 2018 года. Группа канадских программистов переписала OS-9/6809 Level II для CoCo 3 (с аппаратным обеспечением трансляции адресов) для повышения эффективности и использования преимуществ собственного режима Hitachi 6309 . Сегодняшние серьезные пользователи CoCo обычно заменяют 68B09E в CoCo 3 на Hitachi 63B09E и запускают перезапись под названием NitrOS-9 . Эта комбинация работает на удивление быстро, учитывая, что она работает на очень недорогой 8-битной компьютерной системе.
- CoCo3 FPGA Гэри Беккера представляет собой синтезированный цветной компьютер TRS-80, работающий под управлением NitrOS-9 на плате разработки Altera DE-1. Процессор Core 6809 был разработан Джоном Кентом и в настоящее время работает на частоте 25 МГц.
- OS-9000/80x86 можно запускать на компьютерах типа ПК, построенных на базе процессоров Intel x86. OS-9000 также была портирована на PowerPC , MIPS , некоторые версии RISC Machines Advanced процессоров ARM и некоторые процессоры семейства Hitachi SH .
- Устройство воспроизведения звука DigiCart/II Plus работает под управлением OS-9/68K. Это твердотельная замена плеерам в стиле радиостанций . Эти устройства используются на радио и в таких местах, как Мир Уолта Диснея, где транслируются объявления о парках.
- Немецкий производитель электроники Eltec производит платы ЦП модели Eurocom для промышленных целей с конца 1970-х годов, начиная с 6802 и 6809 Eurocom-1 и Eurocom-2 , а затем с 68K и производных плат ЦП до сегодняшнего дня. Современные платы могут поставляться с различными операционными системами, в том числе OS-9.
- Компания Omron использовала OS-9 в своих панелях HMI серии NS. Однако для своей новой серии NA компания Omron выбрала Windows Embedded Compact 7 . Omron указала, что для OS-9 почти все драйверы, например для USB-накопителя, должны были быть написаны Omron. [ 6 ]
- OS-9000/SH4 можно найти в загрузчике (внутри контейнера формата KIWI LOADING.KWI) на компакт-диске/DVD Map для старых автомобильных систем GPS-навигации, произведенных Matsushita для внутреннего рынка Японии.
Ссылки
[ редактировать ]- ^ Оливер, Роджер; Сэдлер, Крис (октябрь 1982 г.). «Позитрон 9000» . Мир персональных компьютеров . стр. 128–129, 131–134, 222 . Проверено 26 апреля 2024 г.
- ^ Фоглер, Джон (июнь 1987 г.). «Приступаем к делу: Кумана / Обновление». А и Б вычисления . Специализированные публикации Argus . стр. 80–86.
- ^ «Заявка Microsoft на OS-9 отклонена» . Практические вычисления . Июль 1987 г. с. 18 . Проверено 16 июля 2024 г.
- ^ Смит, Тони (3 сентября 1999 г.). «Разработчик OS-9 подает в суд на Apple из-за MacOS 9» . Регистр Великобритании . Ситуация Публикация . Проверено 1 июня 2014 г.
- ^ КоКоФЕСТ
- ^ «Тренинговая книга АН 2.4» (PDF) . Industrial.omron.eu/NA . Архивировано (PDF) из оригинала 9 октября 2022 г. Проверено 16 марта 2019 г.
Дальнейшее чтение
[ редактировать ]- Пол С. Даян (1992). OS-9 Guru-1: Факты . Галактика Индастриал Лимитед. ISBN 0-9519228-0-7 .
- Марк А. Хейлперн (1995). ОС-9 Букварь . корпорации Microware Systems Corp. ISBN 0-918035-04-Х .
- Питер Диббл (1994). ОС-9 Инсайты . корпорации Microware Systems Corp. ISBN 0-918035-05-8 .
Внешние ссылки
[ редактировать ]- Микропрограммное обеспечение LP
- DTR — доступ к диску OS-9 на ПК
- Список часто задаваемых вопросов по OS-9
- Архив информации и программного обеспечения ОС-9 от ООО "РТС".
- ОС-9 в Керли
- Репозиторий инструментов командной строки для управления образами дисков 6809 OS-9 , на SourceForge
- Среда выполнения для программ пользовательского режима OS-9 в хостовой ОС Mac/Win/Linux
- Официальный сайт NitrOS-9 , на SourceForge
- Порт OS-9 на Thomson MO5 , эмуляция (фр)
- Запуск OS-9 на цветном компьютере TRS-80 (CoCo)
- Группа новостей comp.os.os9 через веб-интерфейс групп Google.
- Официальный блог OS-9
- Эмулятор 6809 на основе системы SWTPC 6809, который работает под управлением OS9 и UniFLEX, а также FLEX.
- XiBase9 (графический интерфейс)
- ДраконВики