Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

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

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

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

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

Развитие [ править ]

Программирование для VOS [ править ]

VOS предоставляет компиляторы для PL / I , COBOL , Pascal , FORTRAN , C (с компиляторами VOS 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 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 ограничить возможности командного макроязыка. [8]

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

Обзор [ править ]

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

Его общая структура имеет много общего с 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.

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

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

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

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

Приложения [ править ]

Системные приложения [ править ]

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

Связь [ править ]

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

  • TCP / IP
  • X.25
  • СНС
  • SDLC / QLLC
  • Асинхронный
  • Bisync
  • LAPB
  • Опрос / Выбрать
  • RJE / HASP
  • ALC / SLC
  • Visa, SWIFT, NASDAQ, ФАС, ЧИПС, AMEX
  • Серия MQ

В более старых версиях 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 унаследовал списки контроля доступа от Multics, а также реализует списки контроля доступа к каталогам. Если файл не имеет списка управления доступом, применяется список управления доступом по умолчанию для содержащего каталога.

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

Откройте StrataLINK [ изменить ]

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

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

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Comp.Sys.Stratus
  • Публичный FTP-сервер Stratus
  • Сайт документации Stratus