Stratus VOS

редактировать
VOS или OpenVOS
Разработчик Stratus Technologies
Написано в PL / I, C, язык ассемблера
Семейство ОС Мультикаподобный
Рабочее состояние Текущий
Исходная модель Закрытый источник
Последний релиз 19.3.0 (R762)
Платформы i860, x86, PA-RISC, 68 КБ
Тип ядра Монолитное ядро
Под влиянием Multics, Unix
Лицензия Ядро: Stratus Technologies Драйверы, библиотеки и пользовательские программы: Stratus Technologies, Другое
Официальный веб-сайт Stratus VOS

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

В течение 1980-х годов существовала версия IBM Stratus VOS, которая называлась операционной системой System / 88.

СОДЕРЖАНИЕ
  • 1 История
  • 2 Развитие
    • 2.1 Программирование для VOS
    • 2.2 Язык командных макросов
  • 3 Обзор
  • 4 Распределение
  • 5 Интерфейс
  • 6 приложений
    • 6.1 Системные приложения
    • 6.2 Связь
  • 7 отказоустойчивость
  • 8 Файловая система
    • 8.1 Безопасность файловой системы
  • 9 Откройте StrataLINK
  • 10 См. Также
  • 11 Источники
  • 12 Внешние ссылки
История

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

В 1984 году Stratus добавил к VOS реализацию UNIX System V под названием «Системные средства Unix» (USF), интегрировав Unix и VOS на уровне ядра.

В последние годы Stratus добавил совместимость с POSIX, и многие пакеты с открытым исходным кодом могут работать на VOS.

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

Разработка

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

VOS предоставляет компиляторы для PL / I, COBOL, Pascal, FORTRAN, C (с компиляторами VOS C и GCC ) и C ++ (также GCC ). Каждый из этих языков программирования может выполнять системные вызовы 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 Release 14.3 (в Continuum) и добавил поддержку компилятора GNU C / C ++, отладчика GNU gdb и многих команд POSIX в VOS Release 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 ограничить возможности командного макроязыка.

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

Обзор

VOS был написан в основном на PL / I с небольшим количеством ассемблера, прежде чем он был переведен на серию ftServer. По состоянию на 1991 г. система была написана на PL / I и C, при этом только 3% было собрано.

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

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

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

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

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

Интерфейс

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

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

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

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

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

Приложения

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

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

Связь

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

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

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

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

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

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

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

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

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

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

(%system)#m1_d01gt;systemgt;devices.table

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

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

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

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

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

Откройте StrataLINK

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

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

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

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

Смотрите также
использованная литература
внешние ссылки
Последняя правка сделана 2023-04-13 03:04:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте