Четыре поколения операционных систем Виктора Петровича Иванникова

Четыре поколения операционных систем Виктора Петровича Иванникова

Аннотация

С 1963 года под руководством Виктора Петровича Иванникова и при его личном участии в Институте точной механики и вычислительной техники Академии наук СССР (ИТМ и ВТ), в НИИ «Дельта» Министерства электронной промышленности СССР и Институте проблем кибернетики Российской Академии наук были разработаны большие системы программного обеспечения высокопроизводительных отечественных вычислительных машин и комплексов. Со дня образования Института системного программирования РАН (25 января 1994 года) В.П. Иванников руководил работой его коллектива по широкому спектру актуальных направлений системного программирования. В докладе представлен его большой творческий вклад в развитие идеологии и технологии создания и функционирования операционных систем вычислительных машин и комплексов.

1. Операционная система «Диспетчер-68» для ЭВМ БЭСМ-6

Большое влияние на развитие операционных систем (ОС) для ЭВМ оказало создание в 1967 году в ИТМ и ВТ под руководством Льва Николаевича Королева первой ОС для ЭВМ БЭСМ-6, названной позднее «Диспетчер-68». Она обеспечивала совместное управление параллельной работой устройств машины и решением задач в многозадачном режиме. В.П. Иванниковым вместе с Л.Н. Королёвым выполнена разработка основ построения и функционирования ОС, созданы центральные блоки системы.

Следует отметить важное решение в построении ОС: расположить большую часть программ ОС, выполнявших различные организационные функции, в отдельных виртуальных адресных пространствах, организовав их работу как пользовательских (рабочих) задач, но с более высоким приоритетом выполнения. Это позволяло при развитии ОС модифицировать их независимо друг от друга и использовать расширяющийся набор средств построения и отладки пользовательских задач, ускоряя отладку и развитие ОС. Программы, выполнявшие непосредственное управление работой аппаратуры (драйверы устройств), выполнялись в защищённом режиме (режиме ОС) как программы реакции на внешние и внутренние события по отношению к аппаратуре ЭВМ и выполняемым задачам (включая и задачи ОС).

Операционная система обеспечивала:

  • решение задач в многозадачном режиме;

  • управление одновременной работой внешних запоминающих устройств и устройств ввода-вывода информации;

  • совмещение вычислений в задачах с параллельной работой внешних запоминающих устройств и устройств ввода-вывода;

  • динамическое распределения ресурсов оперативной и внешней памяти;

  • многотерминальную работу в диалоговом режиме.

«Диспетчер-68» явился основой последующих операционных систем для БЭСМ-6: ОС НД-70 (В.П. Иванников), ОС «Диспак» (В. Ф. Тюрин) и ОС «Дубна» (Н. Н. Говорун, И. Н. Силин).

2. Операционная система реального времени НД-70 для БЭСМ-6 («Новый диспетчер-70»)

На основе опыта создания и эксплуатации ОС Д-68В.П. Иванниковым выполнено руководство созданием операционной системы с важными новыми средства организации параллельных вычислений:

  • соподчинение задач;

  • аппарат параллельных процессов (ветвлений) в задачах.

Аппарат соподчинения задач позволил разрабатывать динамично управляемые иерархически организованные программные комплексы, состоящие из связанных по подчинению задач, выполняемых в своих виртуальных адресных пространствах.

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

В центрах управления полетами космических аппаратов на базе ОС НД-70 были созданы и в течение двадцати лет активно использовались для обеспечения управления полетами несколько больших баллистических и телеметрических программных комплексов реального времени.

На основе возможностей операционных систем БЭСМ-6 усилиями ведущих научно-исследовательских и проектно-конструкторских организаций с привлечением крупных математических сил СССР была создана первая в стране поставляемая промышленностью полная система математического обеспечения ЭВМ (ОС, системы программирования, библиотеки программ).

3. Операционная система многомашинного информационно-вычислительного комплекса АС-6

На основе опыта создания и эксплуатации операционных систем БЭСМ-6 В.П. Иванниковымвыполнено руководство созданием операционной системы многомашинного информационно-вычислительного комплекса АС-6. Она состояла из операционных систем «центральных процессоров» (ЦП), которые использовались как отдельные универсальные ЭВМ, операционных систем «периферийных машин», обеспечивающих управление наборами внешних устройств и каналов связи, операционных систем ЭВМ БЭСМ-6 (реально в каждом из нескольких комплексов (в разном количестве эксплуатировавшийся в разных организациях) был один ЦП и одна БЭСМ-6.

В ОС АС-6 обеспечивалось:

  • взаимодействие модулей ОС ЭВМ комплекса;

  • взаимодействие пользовательских (рабочих) задач ЭВМ комплекса;

  • использование для решения задач общих внешних устройств ЭВМ комплекса

В центрах управления полетами космических аппаратов на базе операционной системы АС-6 были созданы конвейеры ЭВМ для обработки информации в реальном времени.

Кластерная операционная система. В конце 70-х годов в развивающемся программировании стала ощущаться потребность в создании новых технологий построения и использования многокомпонентных программных систем. Начала развиваться «объектно-ориентированная» технология создания и функционирования больших программных систем. В 1977 году В.П. Иванников опубликовал статью «Использование кластеров в операционной системе» (ДАН СССР. 1977. Т. 237, № 2. С. 2800–2833), в которой предложил идею использования «асинхронного кластера». На этой основе коллективом, возглавляемым Виктором Петровичем, была разработана организация кластерной операционной системы (КЛОС). Кластер – базовый объект КЛОС. Кластер является совокупностью объекта обработки данных и набора операций над этим объектом.

В КЛОС кластер получает свойство асинхронного выполнения. Это означает, что операция в кластере может выполняться независимо от обратившегося кластера, который после обращения продолжает своё выполнение, а для получения результатов обработки данных кластером требуется второе обращение и соответствующая взаимная синхронизация. Ядро КЛОС выполняет, следовательно, необходимую буферизацию обращений к кластерам. Таким образом, понятие кластера объединило в себе не только понятия процедуры и данных, но и понятие процесса (Бурдонов И. Б., Копытов Г. В., Косачев А. С., Кузнецов С. Д., Смирнов Ю. П., Юдин В. Н. КЛОС: операционная система и технология программирования. Сб. «Вопросы кибернетики. Программное обеспечение высокопроизводительной системы». Под ред. В.П. Иванникова. М., НСК АН СССР,1986 г., стр.34-57).

Кластерная технология программирования и разработка кластерной ОС были использованы при создании в конце 80-х годов операционной системы суперкомпьютера.

4. Операционная система СуперЭВМ «Электроника ССБИС»

На основе опыта создания и эксплуатации операционной системы многомашинного комплекса АС-6 В.П. Иванниковым выполнено руководство созданием операционной системы комплекса суперЭВМ, состоящего из высокопроизводительной "основной машины", "внешних машин", обеспечивающих подготовку заданий для выполнения их на основной машине и вывода результатов этих заданий и внешней полупроводниковой памяти большого размера.

В суперЭВМ «Электроника ССБИС» обеспечивалось:

  • взаимодействие ОС ЭВМ комплекса суперЭВМ;

  • управление заданиями;

  • использование массовой памяти.

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

Для обеспечения конструирования и изменения операционной среды выполняемой программы в системе программирования реализован механизм «кластеров». Объекты характеризуются уровнем спецификации (представляется набором операций со специфицированным интерфейсом) и уровнем представления (с описанием локальных структур данных; процедур, реализующих операции). Программе, использующей объект, он доступен только на уровне спецификаций, уровень представления скрыт от нее. Существуют «эквивалентные» кластеры (с одинаковым уровнем спецификаций, но с различными уровнями представления). Совокупность кластеров задает операционную среду выполнения программы.

Следует отметить:

  • независимость процессов (выполнения задач ОС) ввода заданий, исполнения заданий, вывода результатов выполнения заданий;

  • распределение оперативной, внешней полупроводниковой и дисковой памяти с использованием их распределения методом "близнецов".

Об авторе:

страница Томилина А.Н. в Компьютерном музее
Институт системного программирования им. В.П. Иванникова РАН, Россия, Москва tom11@bk.ru


Материалы международной конференции Sorucom 2020
Помещена в музей с разрешения автора 16 июля 2022