Слой ВЫ
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2021 г. ) |
Разработчик | Стратус Технологии |
---|---|
Написано в | PL/I , C , язык ассемблера |
Семейство ОС | Мультикс-подобный |
Рабочее состояние | Текущий |
Исходная модель | Закрытый исходный код |
Последний выпуск | 19.3.1аг / июнь 2022 г. [1] |
Платформы | i860 , x86 , PA-RISC , 68 КБ |
ядра Тип | Монолитное ядро |
Под влиянием | Мультики , Unix |
Лицензия | Ядро: Стратус Технологии Драйверы, библиотеки и пользовательские программы: Stratus Technologies , Другое |
Официальный сайт | Слой ВЫ |
Stratus VOS ( Виртуальная операционная система ) — это проприетарная операционная система, работающая на компьютерных системах Stratus Technologies отказоустойчивых . VOS доступен на платформах Stratus ftServer и Continuum. [2] Клиенты VOS используют его для поддержки приложений обработки больших объемов транзакций, требующих постоянной доступности. VOS примечательна тем, что является одной из немногих операционных систем, работающих на полностью синхронизированном оборудовании.
В 1980-х годах существовала версия Stratus VOS от IBM , которая называлась System/88 Operating System . [3]
История
[ редактировать ]VOS с самого начала разрабатывалась как среда обработки транзакций с высоким уровнем безопасности, адаптированная к отказоустойчивому оборудованию. [4] Он вобрал в себя большую часть опыта проектирования, полученного в рамках проекта Multics MIT/Bell-Laboratories/General-Electric (позже Honeywell) .
В 1984 году Stratus добавил в VOS реализацию UNIX System V под названием Unix System Features (USF), интегрировав Unix и VOS на уровне ядра . [5]
В последние годы, [ когда? ] В Stratus добавлена совместимость с POSIX , и многие пакеты с открытым исходным кодом могут работать на VOS. [6]
Как и конкурирующие проприетарные операционные системы, доля VOS на рынке неуклонно сокращалась в 1990-х и начале 2000-х годов. [7]
Разработка
[ редактировать ]Программирование для VOS
[ редактировать ]VOS предоставляет компиляторы для PL/I , COBOL , Pascal , FORTRAN , C (с компиляторами VOS C и GCC ) и C++ (также GCC ). [8] Каждый из этих языков программирования может выполнять системные вызовы VOS (например, s$seq_read
для чтения записи из файла) и имеет расширения для поддержки строк различной длины в стиле PL/I. Разработчики обычно пишут код в своем любимом текстовом редакторе VOS или в автономном режиме перед компиляцией в системе; приложений VOS IDE нет.
За свою историю Stratus предлагала аппаратные платформы на базе семейства микропроцессоров Motorola 68000 (серии FT и «XA»), семейства микропроцессоров Intel i860 (серия XA/R), HP PA-RISC семейства процессоров («серия XA/R»). 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 ограничил возможности языка командных макросов. [9]
Язык макросов не поддерживает определяемые пользователем функции и с трудом поддерживает включаемые файлы. [ нужна ссылка ] Обработка строк подвержена ошибкам, особенно со встроенными управляющими символами. [ нужна ссылка ]
Расширение Visual Studio Code Syntax Highlighting для командного макроса VOS можно найти на Visual Studio Marketplace .
Обзор
[ редактировать ]VOS была написана в основном на PL/I с небольшим количеством ассемблера , прежде чем она была перенесена в серию ftServer. [ нужна ссылка ] По состоянию на 1991 год система была написана на PL/I и C, и только 3% было на ассемблере. [10]
Ее общая структура имеет много общего с Multics, и многие функции системы в той или иной степени восходят к Multics. Система открывает перед разработчиком программного обеспечения или программистом ряд фундаментальных абстракций, наиболее примечательными из которых являются
- Процессы
- Устройства
- Жесткие диски
- Различные механизмы IPC
- Задачи
Процесс — это запланированный объект в VOS, и каждый процесс имеет набор атрибутов, которые определяют, как система манипулирует им. Например, процессы имеют имя пользователя и имя процесса . Первый используется VOS для определения прав доступа процесса к внешним устройствам и элементам файловой системы. Фундаментальное значение имеет привилегированный флаг процесса, который является двоичным атрибутом. Привилегированные процессы могут выполнять привилегированные операции. Этот механизм используется для ограничения некоторых потенциально мощных операций, которые могут иметь последствия для всей системы (например, выключение системы, отключение жесткого диска и т. д.).
Распределение
[ редактировать ]VOS распространяется только компанией Stratus Technologies . Носителем распространения является лента DAT толщиной 3,5 мм для Continuum и лента SDLT для ранних платформ серии V. Начиная с версии OpenVOS 17.0, Stratus предлагает поддержку распространения OpenVOS на DVD или путем загрузки файла выпуска. Установку программного обеспечения может выполнить полевой инженер Stratus или системный администратор клиента.
Интерфейс
[ редактировать ]Интерфейс командной строки является основным и наиболее мощным пользовательским интерфейсом системы VOS.
Пользователи могут быть заблокированы в подсистеме на основе «формы» с помощью командных макросов. [11] при необходимости, хотя опытный пользователь сможет выйти из этой ситуации и получить доступ к командной строке. (На самом деле системный администратор Stratus может настроить учетную запись пользователя таким образом, что попытка выхода из FMS — системы управления формами Stratus — в командную строку приведет к выходу пользователя из системы.)
Командные макросы и программы можно вызывать с аргументом для отображения формы со списком всех доступных параметров, по которой пользователь может перемещаться с помощью клавиши «tab». Каждый параметр обычно ограничивается контролем того, что может вводить пользователь. Сюда входят списки допустимых значений, только числовые, только текстовые и т. д. Параметры также можно скрыть с помощью «секретного» тега или сделать обязательными.
Все команды в VOS определены полностью с подчеркиванием для разделения слов. Например, Change_current_dir меняет рабочий каталог . Справочная система VOS использует это соглашение, чтобы помочь пользователям, которые ищут подмножество возможных команд; например, те, которые относятся к «изменению», находятся по помогите - сопоставьте изменение .
Пользователи могут настроить свой командный интерфейс с помощью файла, содержащего сокращения команд. Сокращения команд обычно называются по первым буквам команд, которые они представляют, поэтому ccd может быть расширен до изменение_текущего_каталога еды .
Приложения
[ редактировать ]Системные приложения
[ редактировать ]VOS используется в системах Continuum и ftServer, обе из которых разработаны с учетом высокой отказоустойчивости. Таким образом, эти системы обычно используются в критически важных для безопасности или критически важных приложениях, обычно в банках, больницах, телекоммуникациях и компаниях по обработке транзакций. [12]
Коммуникации
[ редактировать ]VOS поддерживает следующие протоколы [8]
- TCP/IP
- Х.25
- СНС
- СДЛК/ООО
- Асинхронный
- Бисинхронизация
- ЛАПБ
- Опрос/Выбор
- РАСТ/HASP
- АЛК/СЛК
- Visa, SWIFT, NASDAQ, ФАС, ЧИПС, AMEX
- Серия MQ
В более старых версиях VOS реализован стандарт TCP/IP, не относящийся к OSI, известный как OS TCP/IP (Операционная система TCP/IP). VOS, начиная с версии 14.x, реализовал OSI-совместимый Streams-TCP. Старые приложения, использующие TCP/IP ОС, необходимо портировать, чтобы использовать STCP. [13] Это может означать потерю функциональности, поскольку TCP/IP ОС поддерживает несколько функций, которые не совместимы с OSI и поэтому от них отказались. Аппаратное обеспечение ftServer, на котором работает серия V, поддерживает только TCP/IP и X.25 (X.25 только при оснащении дополнительным NIO). Websphere MQ 6.0 (также известная как серия MQ) основан на TCP/IP; Итак, это также поддерживается оборудованием ftServer. Устройства, поддерживающие устаревшие протоколы, работают на оборудовании Continuum, и к ним можно получить доступ с текущего оборудования через Open StrataLINK. [14] сеть.
Отказоустойчивость
[ редактировать ]Отказоустойчивость встроена в VOS снизу вверх. На аппаратном уровне основные устройства работают в синхронизированном дуплексном режиме , что означает, что два идентичных устройства одновременно выполняют одно и то же действие. (Кроме того, каждое устройство или плата также дублируются для выявления внутренних сбоев платы на аппаратном уровне, поэтому оборудование Stratus можно определить как «ступенчатое с блокировкой».) Эти платы активно контролируются операционной системой, которая может исправить любые незначительные несоответствия (например, плохую запись или чтение диска). Любые платы, сообщающие о неприемлемом количестве неисправностей, выводятся системой из эксплуатации; дуплексная плата продолжит работу до тех пор, пока проблема не будет решена с помощью исправления. Сюда входят процессоры, дисководы и любые другие устройства, которые логически могут быть дуплексными (что по определению исключает устройства связи). Система продолжит обработку в обычном режиме и автоматически отправит сообщение о неисправности в службу поддержки клиентов Stratus через RSN (сеть удаленного обслуживания). Затем служба поддержки клиентов Stratus подключится к системе через RSN, чтобы изучить проблему и отправить запасные части.
Операционная система спроектирована таким образом, чтобы избежать сбоев из-за простого аппаратного сбоя.
Файловая система
[ редактировать ]VOS поддерживает ряд уникальных типов файлов:
- Потоковые файлы: поток двоичных данных, напрямую соответствующий понятию файла в других операционных системах.
- Фиксированные файлы: последовательность записей фиксированного размера.
- Относительные файлы: последовательность записей фиксированного файла, поддерживающая произвольный доступ.
- Последовательные файлы: последовательность записей переменного размера.
- на основе файловой системы. Файлы очередей: резервное копирование очередей сообщений
- Каналы: именованные каналы для межпроцессного взаимодействия.
- Файлы транзакций: они обеспечивают поддержку отката на основе журнала.
API VOS позволяет создавать несколько индексов для каждого файла, сортировать их по содержимому записи, внешнему ключу, внутреннему ключу или четко определенному набору нескольких ключей. Файл VOS с одним или несколькими индексами можно использовать в качестве таблицы базы данных C-ISAM.
VOS использует собственный синтаксис именования файлов, который включает имя системы, имя модуля, номер диска и каталог, причем компоненты разделяются символом «>». Обычно системный диск размещается в том же модуле, что и ЦП. #m1
, поэтому системный файл для кластера VOS будет называться
(%system)#m1_d01>system>devices.table
Распределение дисков и память VOS организованы в «блоках», каждый блок имеет размер 4096 байт. Память принимает форму оперативной памяти или страничной. Системы VOS поддерживают разделы подкачки и файлы подкачки. В современных версиях VOS файлы подкачки могут создаваться сисадмином динамически (но не удаляться без перезагрузки). Эти файлы подкачки теоретически могут состоять из более чем одного экстента (который рассматривается ядром как мини-раздел подкачки), которые могут быть, а могут и не быть смежными. Однако НЕ рекомендуется использовать несмежные экстенты, поскольку они значительно увеличивают активность диска. Администратор должен создать максимально возможный размер файлов подкачки как можно раньше после загрузки системы. [15]
Безопасность файловой системы
[ редактировать ]VOS поддерживает запись, чтение, выполнение и нулевой (нет) доступ ко всем файлам, каталогам и устройствам (хотя каталоги и файлы имеют несколько разные списки доступа). Доступ может быть назначен пользователям, группам или всему миру. Для запуска исполняемой программы требуется только доступ на чтение, при условии, что у пользователя есть доступ «статус» к каталогу, в котором находится эта программа.
VOS унаследовал списки контроля доступа от Multics , а также реализует списки контроля доступа к каталогам. Если файл не имеет списка управления доступом, применяется список управления доступом по умолчанию для содержащего его каталога.
Доступ к устройствам обычно контролируется путем создания файла, который администратор связывает с устройством. (Это может быть верно в OpenVOS, но не применимо к исходной операционной системе.) Затем к этому файлу предоставляется доступ, и это устанавливает доступ на устройстве.
Открыть StrataLINK
[ редактировать ]VOS всегда была сетевой операционной системой. Практически каждый системный вызов в собственном API имеет параметр, определяющий, на какой компьютер влияет операция. [16] [ не удалось пройти проверку ] [17] [ не удалось пройти проверку ] Если операция не является локальной, она перенаправляется на целевой компьютер посредством удаленного вызова подпрограммы . Например, имена файлов анализируются, чтобы указать, на каком компьютере находится файл.
Сетевая модель StrataLINK имеет двухуровневую иерархию именования компьютеров: каждый компьютер называется модулем , а модули объединяются в системы . Каждая система администрируется как единое целое. Другими словами, все модули в системе знают обо всех дисках и аппаратных устройствах в этой системе. В результате имя файла, начинающееся с имени системы, относится к файлам на других компьютерах и может быть открыто без необходимости использования какой-либо специальной сети. То же самое справедливо и для устройств. На другие системные объекты, такие как процессы, можно ссылаться с помощью имен модулей , которые записываются как % system # module . Имена системы и модулей VOS не имеют определенной связи с IP-адресами или доменными именами. API-интерфейс VOS был разработан в конце 1980 года — до того, как Интернет получил широкое распространение, и задолго до того, как были изобретены URL-адреса.
Исторически StrataLINK представляла собой собственную кольцевую сеть CSMA/CD со скоростью 10 Мбит , которая обеспечивала высокую производительность (на тот момент) с очень низкими затратами памяти и загрузкой ЦП. Он никогда не развивался выше 10 МБ, и от него отказались в пользу использования TCP/IP, поскольку Ethernet стал доминирующим сетевым стандартом, а также потому, что память и обработка ЦП стали дешевле.
Open StrataLINK также может использовать X.25 для глобальной связи. Использование протоколов Open StrataLINK для глобальной связи также называется StrataNET.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Матрица поддержки серии V/Continuum | Stratus Technologies» . Стратус | Периферийные вычисления с нулевым касанием . Проверено 4 января 2023 г.
- ^ «Программное обеспечение и решения высокой доступности и отказоустойчивости — Stratus Technologies» . Стратус . Проверено 16 мая 2016 г.
- ^ «IBM запускает линейку System/88» . Компьютерный мир . 16 ноября 1987 года.
- ^ «Статья 5121 в comp.sys.stratus» . FTP.stratus.com . Архивировано из оригинала (TXT) 2 мая 2015 г. Проверено 21 мая 2016 г.
- ^ «Stratus предлагает реализацию Unix для мэйнфреймов» . Компьютерный мир . 12 ноября 1984 г. с. 86.
- ^ «Программное обеспечение с открытым исходным кодом на основе POSIX для VOS и OpenVOS» . FTP.stratus.com . 24 апреля 2015 г. Архивировано из оригинала 02 апреля 2016 г. Проверено 21 мая 2016 г.
- ^ Сикорд, Роберт С.; Плакош, Дэниел; Льюис, Грейс А. (2003). Модернизация устаревших систем: программные технологии, инженерные процессы и бизнес-практики . Аддисон-Уэсли. п. 11. ISBN 9780321118844 .
- ^ Перейти обратно: а б «Операционные системы» . Архивировано из оригинала 27 сентября 2011 года . Проверено 23 августа 2011 г.
- ^ «Группы Google» . Группы.google.ie . Проверено 16 мая 2016 г.
- ^ Джонсон, Мэрифран (1 апреля 1991 г.). «Компилятор Stratus обеспечивает ускорение миграции» . Компьютерный мир . стр. 25, 32.
- ^ «Введение в резервное копирование» . Stratadoc.stratus.com . Проверено 21 мая 2016 г.
- ^ «Stratus Technologies: Истории успеха клиентов» . Архивировано из оригинала 3 июля 2007 года . Проверено 14 июля 2007 г.
- ^ «Обзор перехода с ОС TCP/IP на STCP» . Stratadoc.stratus.com . Проверено 21 мая 2016 г.
- ^ «Администрация OpenStrataLINK» . Стратус Технологии.
- ^ «Группы Google» . Группы.google.ie . Проверено 16 мая 2016 г.
- ^ «Подпрограммы OpenVOS C» . Стратус Технологии.
- ^ «Подпрограммы OpenVOS PL/1» . Стратус Технологии.