Stratus VOS - Stratus VOS

VOS или OpenVOS
РазработчикStratus Technologies
Семейство ОСМультики -любить
Рабочее состояниеток
Исходная модельЗакрытый источник
Последний релиз19.2.1 (R762)
Платформыi860, x86, PA-RISC, 68 тыс.
Ядро типМонолитное ядро
ЛицензияЯдро: Stratus Technologies
Драйверы, библиотеки и пользовательские программы: Stratus Technologies, Другой
Официальный веб-сайтStratus VOS

Stratus VOS (Виртуальная операционная система) является проприетарной Операционная система работает на Stratus Technologies отказоустойчивой Компьютерные системы. VOS доступен на платформах ftServer и Continuum компании Stratus.[1] Клиенты VOS используют его для поддержки приложений обработки больших объемов транзакций, которые требуют постоянной доступности. VOS примечательна тем, что является одной из немногих операционных систем, полностью работающих на замкнутый оборудование.

В 1980-х годах IBM версия Stratus VOS существовала и называлась Система / 88 Операционная система.[2]

История

VOS с самого начала разрабатывался как среда обработки транзакций с высоким уровнем безопасности, адаптированная к отказоустойчивому оборудованию.[3] Он вобрал в себя значительную часть дизайнерского опыта, накопленного MIT / Bell-Laboratories / General-Electric (позже Honeywell). Мультики проект.

В 1984 году Stratus добавил Система UNIX V реализация Unix System Facilities (USF) для VOS, интеграция Unix и VOS на ядро уровень.[4]

За последние годы,[когда? ] Stratus добавил POSIX -соответствие, и многие пакеты с открытым исходным кодом могут работать на VOS.[5]

Как и у конкурирующих проприетарных операционных систем, доля рынка VOS неуклонно сокращалась в 1990-х и начале 2000-х годов.[6]

Развитие

Программирование для VOS

VOS предоставляет компиляторы для PL / I, КОБОЛ, Паскаль, FORTRAN, CVOS C и GCC компиляторы), и C ++ (также GCC ).[7] Каждый из этих языков программирования может выполнять системные вызовы VOS (например, s $ seq_read для чтения записи из файла) и имеет расширения для поддержки строк переменной длины в стиле PL / I. Разработчики обычно кодируют в своем любимом текстовом редакторе VOS или в автономном режиме перед компиляцией в системе; нет приложений VOS IDE.

За свою историю Stratus предлагала аппаратные платформы на основе Motorola 68000 семейство микропроцессоров (серии «FT» и «XA»), Intel i860 семейство микропроцессоров (серия "XA / R"), HP PA-RISC семейство процессоров (серия "Continuum") и Intel Xeon x86 Семейство процессоров («V Series»). Все версии VOS предлагают компиляторы, ориентированные на собственный набор инструкций, а некоторые версии VOS предлагают кросс-компиляторы.

Stratus добавил поддержку POSIX API в VOS версии 14.3 (в Continuum) и добавлена ​​поддержка компилятора GNU C / C ++, отладчика GNU gdb и многих команд POSIX в VOS версии 14.4. Каждый дополнительный выпуск VOS добавлял больше возможностей POSIX.1 до такой степени, что теперь можно успешно создавать многие пакеты с открытым исходным кодом для пользовательского режима. По этой причине, начиная с версии 17.0, Stratus переименовал VOS в OpenVOS.

Stratus предлагает поддерживаемые порты Samba, OpenSSL, OpenSSH, GNU Privacy Guard, OpenLDAP, Berkeley DB, MySQL Community Server, Apache, IBM WebSphere MQ и версию Java для сообщества.

Числовые значения в VOS всегда прямой порядок байтов вне зависимости от порядка байтов базовой аппаратной платформы. На прямой порядок байтов На серверах с процессорами x86 компиляторы выполняют перестановку байтов перед чтением или записью значений в память, чтобы преобразовать данные в собственный формат с прямым порядком байтов или из него.

Язык командных макросов

VOS имеет довольно полный язык командных макросов, который можно использовать для создания систем меню, автоматизации задач и т. Д. Командные макросы VOS принимают аргументы в командной строке или через "форму" пользовательского интерфейса. Аргументы определяются в начале макроса команды в разделе «параметры». Язык поддерживает ряд операторов, включая if / then / else, логические операции, циклы while, goto и отличные отчеты об ошибках. Командный макроязык может выполняться в интерактивном и неинтерактивном (пакетном или запущенном процессе) режимах. Его можно использовать для автоматизации программ, сбора запросов и отправки соответствующих ответов. Это заставило Stratus ограничить возможности командного макроязыка.[8]

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

Обзор

VOS кодировался в основном на PL / I с небольшим количеством язык ассемблера до того, как он был переведен на ftServer series.[нужна цитата ] По состоянию на 1991 г. система была написана на PL / I и C, при этом только 3% было собрано. Это и продвинутые компиляторы Stratus сделали VOS более портативным, чем его современники, такие как VMS или Домен / ОС.[9]

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

  • Процессы
  • Устройства
  • Жесткие диски
  • Различные механизмы IPC
  • Задачи

Процесс - это запланированный объект в VOS, и каждый процесс имеет набор атрибутов, которые определяют, как им манипулирует система. Например, у процессов есть имя пользователя и Имя процесса. Первый используется VOS для определения прав доступа процесса к внешним устройствам и элементам файловой системы. Фундаментальное значение имеет привилегированный флаг процесса, который является двоичным атрибутом. Привилегированные процессы могут выполнять привилегированные операции. Этот механизм используется для ограничения некоторых потенциально мощных операций, которые могут иметь последствия для всей системы (например, выключение системы, отключение жесткого диска и т. Д.).

Распределение

VOS распространяется только Stratus Technologies. Распределительный носитель - 3,5 мм. DAT лента для Continuum и SDLT лента для ранних платформ серии V. Начиная с OpenVOS Release 17.0, Stratus предлагает поддержку для распространения OpenVOS на DVD или загрузив файл выпуска. Установку программного обеспечения может выполнить инженер Stratus или системный администратор заказчика.

Интерфейс

В Интерфейс командной строки является основным и наиболее мощным пользовательским интерфейсом для системы VOS.

Пользователи могут быть заблокированы в подсистеме на основе "формы" с помощью сценариев командных макросов.[10] если потребуется, хотя опытный пользователь сможет выйти из этого и получить доступ из командной строки. (На самом деле системный администратор Stratus может настроить учетную запись пользователя таким образом, что попытка вырваться из FMS - системы управления формами Stratus - в командную строку приведет к выходу пользователя из системы.)

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

Все команды в VOS определены полностью с подчеркиванием для разделения слов. Например, change_current_dir меняет рабочий каталог. Справочная система VOS использует это соглашение, чтобы помочь пользователям, которые ищут подмножество возможных команд; например, те, кто ссылается на "изменение", найдены Помогите -смена матча.

Пользователи могут настроить свой командный интерфейс с помощью файла, который содержит сокращения для команд. Аббревиатуры команд обычно называются по первым буквам команды, которую они представляют, поэтому ccd может быть расширен до change_current_dir foodir.

Приложения

Системные приложения

VOS используется в системах Continuum и ftServer, обе из которых имеют высокую отказоустойчивость. Таким образом, эти системы обычно используются в критически важных для безопасности или критически важных приложениях, обычно в банках, больницах, телекоммуникационных компаниях и компаниях, занимающихся обработкой транзакций.[11]

Связь

VOS поддерживает следующие протоколы[7]

В более старых версиях VOS реализован не относящийся к OSI стандарт TCP / IP, известный как OS TCP / IP (операционная система TCP / IP). VOS, начиная с версии 14.x, реализовал OSI-совместимый Streams-TCP. Для использования STCP необходимо перенести старые приложения, использующие TCP / IP ОС.[12] Это может означать потерю функциональности, поскольку ОС TCP / IP поддерживает несколько функций, которые не соответствуют OSI и поэтому от них отказались. Аппаратное обеспечение ftServer, на котором работает серия V, поддерживает только TCP / IP и X.25 (X.25 только при наличии дополнительного NIO). Websphere MQ 6.0 (также известная как серия MQ) основан на TCP / IP; Таким образом, это также поддерживается оборудованием ftServer. Устройства, поддерживающие устаревшие протоколы, работают на оборудовании Continuum, и к ним можно получить доступ с текущего оборудования через Open StrataLINK.[13] сеть.

Отказоустойчивость

Отказоустойчивость встроена в VOS снизу вверх. На аппаратном уровне основные устройства запускаются в синхронизированный дуплексный режим, что означает, что два идентичных устройства одновременно выполняют одно и то же действие. (Кроме того, каждое устройство или плата также являются дуплексными, чтобы идентифицировать внутренние сбои платы на аппаратном уровне, поэтому оборудование Stratus можно определить как «ступенчатое блокирование».) Эти платы активно контролируются операционной системой, которая может исправить любые незначительные несоответствия (например, неправильную запись или чтение на диск). Все платы, сообщающие о недопустимом количестве неисправностей, выводятся из эксплуатации системой; дуплексная плата будет продолжать работу до тех пор, пока проблема не будет решена с помощью оперативного исправления. Сюда входят процессоры, дисковые накопители и любые другие устройства, которые могут логически работать в дуплексном режиме (что по определению исключает устройства связи). Система продолжит обработку в обычном режиме и автоматически отправит запрос о неисправности в службу поддержки клиентов Stratus через RSN (сеть удаленного обслуживания). Служба поддержки клиентов Stratus позвонит в систему через RSN для расследования проблемы и отправки запасных частей.

Операционная система разработана таким образом, чтобы избежать сбоев из-за простого отказа оборудования.

Файловая система

VOS поддерживает ряд уникальных типов файлов:

  • Потоковые файлы: поток двоичных данных, непосредственно соответствующий концепции файла в других операционных системах.
  • Фиксированные файлы: последовательность записей фиксированного размера.
  • Относительные файлы: последовательность записей фиксированного файла, поддерживающего произвольный доступ.
  • Последовательные файлы: последовательность записей переменного размера.
  • Файлы очереди: резервное копирование на основе файловой системы для очереди сообщений
  • Трубы: именованные каналы для межпроцессного взаимодействия
  • Файлы транзакций: они обеспечивают поддержку отката на основе журнала.

VOS API позволяет создавать несколько индексов для каждого файла, сортируя их по содержимому записи, внешнему ключу, внутреннему ключу или четко определенному набору из нескольких ключей. Файл VOS с одним или несколькими индексами можно использовать в качестве таблицы базы данных C-ISAM.

VOS использует собственный синтаксис именования файлов, который включает имя системы, имя модуля, номер диска и каталог, с компонентами, разделенными символом ">". Обычно системный диск располагается в том же модуле, что и ЦП. # m1, поэтому системный файл для кластера VOS будет обозначаться как

(% system) # m1_d01> system> devices.table

Выделение диска VOS и память организованы в «блоки», каждый блок составляет 4096 байт. Память имеет форму ОЗУ или подкачки. Системы VOS поддерживают разделы подкачки и файлы подкачки. В современных версиях VOS файлы подкачки могут быть созданы системным администратором динамически (но не могут быть удалены без перезагрузки). Эти файлы подкачки теоретически могут состоять более чем из одного экстента (который рассматривается ядром как раздел мини-подкачки), которые могут быть или не быть смежными. Однако НЕ рекомендуется использовать несмежные экстенты, поскольку они значительно увеличивают активность диска. Администратор должен создать максимально возможный экстент для файлов подкачки как можно раньше после загрузки системы.[14]

Безопасность файловой системы

VOS поддерживает запись, чтение, выполнение и нулевой (нет) доступ ко всем файлам, каталогам и устройствам (хотя каталоги и файлы имеют несколько разные списки доступа). Доступ можно назначить пользователям, группам или всему миру. Для запуска исполняемой программы требуется только доступ для чтения, при условии, что у пользователя есть «статусный» доступ к каталогу, в котором находится эта программа.

VOS унаследовал списки контроля доступа от Мультики а также реализует списки управления доступом к каталогам. Если файл не имеет списка контроля доступа, применяется список контроля доступа по умолчанию для содержащего каталога.

Доступ к устройствам обычно контролируется путем создания файла, который администратор связывает с устройством. (Это может быть правдой в OpenVOS, но не относится к исходной операционной системе.) Затем к этому файлу предоставляется доступ, и это устанавливает доступ на устройстве.

Откройте StrataLINK

VOS всегда была сетевой операционной системой. Практически каждый системный вызов в собственном API имеет параметр, определяющий, на каком компьютере выполняется операция.[15][неудачная проверка ][16][неудачная проверка ] Если операция не локальная, она перенаправляется на целевой компьютер через удаленный вызов подпрограммы. Например, имена файлов анализируются, чтобы указать, на каком компьютере находится файл.

Сетевая модель StrataLINK имеет двухуровневую иерархию именования компьютеров: каждый компьютер называется модуль и модули объединены в системы. Каждый система администрируется как единое целое. Другими словами, все модули в системе знают обо всех дисках и аппаратных устройствах в этой системе. В результате имя файла, которое начинается с имени системы, относится к файлам на других компьютерах и может быть открыто без необходимости использования какой-либо специальной сети. То же самое и с устройствами. Ссылки на другие системные объекты, такие как процессы, имена модулей которые написаны%система#модуль. Имена системы и модулей VOS не имеют определенной связи с IP-адресами или именами доменов - API VOS был разработан в конце 1980 года - до того, как Интернет получил широкое распространение, и задолго до того, как были даже изобретены URL-адреса.

Исторически StrataLINK представляла собой проприетарную кольцевую сеть CSMA / CD 10 Мб, которая обеспечивала высокую производительность (на то время) с очень низкими накладными расходами памяти и загрузкой ЦП. Он никогда не выходил за пределы 10 Мбайт и был отклонен в пользу TCP / IP, потому что Ethernet стал доминирующим сетевым стандартом, а память и обработка ЦП стали дешевле.

Open StrataLINK также может использовать X.25 для глобальных коммуникаций. Использование протоколов Open StrataLINK для глобальной связи также называется StrataNET.

Смотрите также

использованная литература

  1. ^ «Программное обеспечение и решения для обеспечения высокой доступности и отказоустойчивости - Stratus Technologies». Stratus. Получено 16 мая 2016.
  2. ^ «IBM включает линию System / 88». Computerworld. 16 ноября 1987 г.
  3. ^ «Статья 5121 в comp.sys.stratus» (ТЕКСТ). Ftp.stratus.com. Получено 2016-05-21.
  4. ^ «Stratus предлагает реализацию Unix для мэйнфреймов». Computerworld. 12 ноября 1984 г. с. 86.
  5. ^ «Программное обеспечение с открытым исходным кодом на основе POSIX для VOS и OpenVOS». Ftp.stratus.com. 2015-04-24. Получено 2016-05-21.
  6. ^ Сикорд, Роберт С.; Плакош, Даниил; Льюис, Грейс А. (2003). Модернизация устаревших систем: программные технологии, инженерные процессы и бизнес-практика. Эддисон-Уэсли. п. 11.
  7. ^ а б «Архивная копия». Архивировано из оригинал 27 сентября 2011 г.. Получено 23 августа, 2011.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  8. ^ "Группы Google". Groups.google.ie. Получено 2016-05-16.
  9. ^ Джонсон, Мэрифрэн (1 апреля 1991 г.). "Компилятор Stratus ускоряет миграцию". Computerworld. С. 25, 32.
  10. ^ «Введение в резервное копирование». Stratadoc.stratus.com. Получено 2016-05-21.
  11. ^ «Архивная копия». Архивировано из оригинал 3 июля 2007 г.. Получено 14 июля, 2007.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  12. ^ «Обзор перехода с TCP / IP ОС на STCP». Stratadoc.stratus.com. Получено 2016-05-21.
  13. ^ «Администрация OpenStrataLINK». Stratus Technologies.
  14. ^ "Группы Google". Groups.google.ie. Получено 2016-05-16.
  15. ^ "Подпрограммы OpenVOS C". Stratus Technologies.
  16. ^ «Подпрограммы OpenVOS PL / 1». Stratus Technologies.

внешние ссылки