10.7.8. Osf/1 mDce
Первоначальные версии UNIX не требовали лицензий и были доступны практически всем для свободного использования, что отчасти объясняет популярность этой системы. При выпуске System V компания AT&T решила распространять ее только с оплатой лицензий. Некоторые наиболее крупные производители ЭВМ — Digital Equipment, Hewlett Packard, IBM и др. — отреагировали на это, создав организацию Open Software Foundation (OSF) для того, чтобы не зависеть от диктата одной единственной компании-поставщика операционных систем. OSF разработала UNIX-coвместимую операционную систему, а также другие продукты без лицензионных ограничений со стороны одной компании.
OSF/1 является модульной операционной системой, основанной на Mach, машинно-независимом мультипроцессорном ядре, разработанном в Carnegie-Mellon University (г. Питтсбург, США) в качестве инструмента для эмуляции других операционных систем. На основе Mach действительно удается одновременно эксплуатировать различные операционные системы на одной ЭВМ.
Для обеспечения переносимости OSF/1 совместима с AT&T UNIX System V и спецификациями программных интерфейсов Berkeley. Поскольку Mach и OSF/1 не содержит какого-либо кода UNIX, проблема лицензирования со стороны третьих компаний полностью снята.
В дополнение к средствам UNIX OSF/1 предлагает собственный набор функций, облегчающих разработку и выполнение программ. OSF/1 предназначена для работы в сетевой среде и поддерживает протокол TCP/IP. Файловая система OSF/1 также совместима со службой NFS протокола TCP/IP (раздел 9.4.9).
OSF разработала и другие продукты для распределенной вычислительной среды. OSF/Motif является графическим интерфейсом пользователя, обеспечивающим стандартное взаимодействие приложения с графическим терминалом (раздел 11.6).
Распределенная вычислительная среда (Distributed Computing Environment — DCE) представляет собой набор служб и средств для разработки, исполнения и поддержки приложений в распределенной среде. DCE может быть интегрирована с OSF/1, но является независимой от нее и в действительности может эксплуатироваться на базе других операционных систем.
10.7.9. MS-DOS, Windows и Windows NT
Широкое распространение персональных компьютеров компании IBM (IBM PC) и их клонов обусловили популярность операционных систем MS-DOS и Windows компании Microsoft, которые были специально разработаны для этой аппаратной платформы.
MS-DOS была первой широко распространенной операционной системой для персональных компьютеров и продолжает использоваться в настоящее время как простое ядро операционной системы. MS-DOS обеспечивает прозрачный и понятный интерфейс между вызовами прикладных программ и аппаратурой персонального компьютера.
Для MS-DOS написана масса приложений, и имеется даже несколько продуктов на ее основе с многозадачными функциями. Хотя MS-DOS не поддерживает многозадачный режим, она обеспечивает некоторые ограниченные возможности для создания резидентных программ, получающих управление с помощью прерывания, включая прерывание от системного таймера. "Многозадачные" системы используют в действительности MS-DOS только как стартовую систему для запуска с дискеты и затем берут на себя управление всем оборудованием от монитора до драйверов отдельных устройств, а работа MS-DOS прекращается.
В действительности одним из преимуществ IBM PC является то, что она допускает перепрограммирование всех микросхем на ПК и таким образом позволяет создать новую операционную систему (с другой стороны, не каждый будет писать заново операционную систему ради двух-трех параллельных задач).
Наиболее известной операционной системой для ПК является семейство Microsoft Windows; она, по-видимому, является наиболее популярным графическим пользовательским интерфейсом в мире. Windows допускает одновременную работу нескольких процессов, хотя лишь один из них может быть активным в каждый момент и взаимодействовать с пользователем. Однако некоторые процессы управления печатью и сетевыми коммуникациями могут осуществляться в фоновом режиме в работать параллельно с активным процессом. Отсутствие вытесняющей многозадач ности (приложение нельзя приостановить другой программой или операционной системой), а также других функций реального времени не позволяет использовать Windows в качестве основы для серьезной системы управления производственным процессом. Строго говоря, MS Windows до версии 3.x включительно является не операционной системой, а оболочкой MS DOS. Тем не менее некоторые системы сбор; и обработки данных работают под Windows.
Основным достоинством Windows является то, что она требует определенной последовательности от прикладных программ, которые должны соблюдать основные правила применения наиболее важных команд, — в итоге приложения легче осваивать. Система Windows также включает большое число драйверов устройств для почти любого типа персонального компьютера, и это может оказаться полезным при переносе приложений.
Система Windows NT {"New Technology") была выпущена в 1993 году для разных аппаратных платформ. Как и UNIX, ядро в Windows NT отделено от системных программ, которые выполняются как прикладные процессы. Машинно-зависимая, аппа-ратно-ориентированная часть Windows NT называется аппаратный абстрактный уровень {Hardware Abstraction Layer — HAL). Она существует для различных типов аппаратной платформы. Windows NT является обратно совместимой с MS-DOS, Windows, OS/2, а также с UNIX с расширением POSIX. Пользовательский интерфейс Windows NT остается неизменным на всех системах. Windows NT в полной мере поддерживает технологию "клиент-сервер" в сетевой среде.
Windows NT включает несколько возможностей, имеющих значение для приложений управления процессами. Среди них — потоки, события, семафоры и асинхронный вызов процедур. Связь между процессами осуществляется с помощью каналов (имеется несколько типов каналов с различными характеристиками) и удаленного вызова процедур. Последние рассматриваются как локальные вызовы, и поэтому приложения не зависят от транспортных протоколов. Другие особенности Windows NT направлены на безопасную и отказоустойчивую работу — например, поддержка зеркального диска.
10.7.10. OS-9
Операционная система OS-9 была первоначально разработана в 1977 году компанией Microware для микропроцессора Motorola 6809 и впоследствии была распространена на другие процессоры, в частности на процессоры серии 68000-68040. OS-9 является популярной системой — на нее продано несколько сотен тысяч лицензий.
На первый взгляд, эта система похожа на UNIX — она имеет те же команды, совместимые системные вызовы, структуру деревьев, каналы и однородную обработку ввода/вывода. Однако, несмотря на это сходство, OS-9 представляет собой другой продукт. OS-9 является аппаратно-зависимой и ориентирована на системы реального времени. Целью разработки программы является ее последующий перенос на рабочую платформу, а не использование ее в системе, на которой она разрабатывалась.0S-9 имеет модульную структуру, поэтому для исполнения программы в целевой системе требуются лишь некоторые части операционной системы.
Весь код, генерируемый в OS-9, не зависит от адреса загрузки, реентерабельный и может быть записан в ПЗУ. Однородная обработка ввода/вывода, например, позволяет при создании программы вместо датчика считывать данные из файла на диске.
Для связи между процессами можно использовать сигналы, события, каналы и модули данных. Когда сигнал направляется от одного процесса к другому, процесс-адресат вынужденно исполняет определяемую пользователем процедуру прерывания, которая, в сущности, представляет собой форсированное обращение к подпрограмме. Канал так же, как в UNIX, представляет собой последовательный поток данных от одного процесса к другому. Наиболее быстрый обмен данными осуществляется через модули, т. е. разделяемые области оперативной памяти, к которой могут обращаться все процессы. Среди других функций режима реального времени система также поддерживает аппаратные прерывания.
OS-9 предоставляет много возможностей для настройки параметров системы с различными стратегиями установки приоритетов. OS-9 и ее окружения написаны на языке С. Многие программы на языке С, написанные для среды UNIX, могут компилироваться и исполняться на OS-9 без каких-либо изменений.
10.7.11. VAX/VMS
VMS является операционной системой для ЭВМ компании Digital Equipment с 32-разрядным процессором серии VAX. Ее популярность в приложениях управления связана в основном с качеством техники, на которой она используется, и большим количеством предусмотренных средств разработки. VMS может применяться как в среде реального времени, так и в многопользовательской среде с соответствующими средствами защиты.
VMS предоставляет широкий набор функций и стандартный и ясный интерфейс для прямых обращений из программ. Это позволяет по крайней мере в принципе осуществлять интеграцию любых языков со всеми функциями операционной системы. Из функций реального времени VMS имеет почтовые ящики в форме логических, состоящих из записей файлов, возможность создания резидентных подпрограмм и обработку прерываний. Процесс в VMS может управлять условиями своего собственного исполнения (приоритет, распределение памяти), создавать другие процессы и управлять их исполнением. Иерархическое управление препятствует процессам с низким приоритетом модифицировать параметры исполнения процессов с высоким приоритетом.
Как и во всех больших операционных системах, в VMS возникают проблемы в случаях, когда предъявляются жесткие требования по времени. По этой причине и ввиду популярности системы VMS, была разработана специальная версия, приспособленная для приложений реального времени, которая называется VAX/ELN. Она состоит из двух различных продуктов — рабочей среды для исполнения прикладных программ на целевой ЭВМ и пакета для разработки программ с компиляторами для различных языков. Разработка программ осуществляется на большом комплексе, имеющем ресурсы для подготовки системы, которая в итоге содержит только программные модули, необходимые для конкретного приложения. Затем в окончательном виде система загружается на рабочую ЭВМ.