Операционная система ДИСПАК

Операционная система ДИСПАК

Советский атомный проект (САП) сыграл определяющую роль в политическом и социально-экономическом развитии СССР в послевоенный период. Если в политическом отношении он укрепил международное положение СССР, то в социально-экономическом имел двоякое значение. С одной стороны, огромные ресурсы были перераспределены для развития этого проекта за счёт других отраслей народного хозяйства, ущемления потребительских нужд населения. С другой – САП послужил развитию таких направлений науки и экономики, как электронная вычислительная техника, вычислительная математика и программирование. В данной статье мы рассмотрим историю одного из наиболее известных программистских проектов, зародившихся в недрах САП –операционной системы ДИСПАК (1969-1971) для ЭВМ БЭСМ-6. Эта программная система, успешно работавшая многие годы на лучших отечественных ЭВМ – БЭСМ-6 и Эльбрус – была разработана программистами математического сектора НИИ-1011, второго советского ядерного центра, созданного в 1955 г. на Урале (Челябинск-70, Снежинск)[1].

Для проведения расчетно-теоретических работ нового центра под руководством Н.Н. Яненко[2] был создан математический сектор в составе четырех отделов: теоретического, возглавляемого им же; производственного счета (А.А. Бунатян[3]), вычислительной техники (В.А. Дорофеев) и отдела программирования  под руководством Ю.И. Морозова[4]. Вычислительные средства, которые использовались в период становления сектора – машины «Мерседес» и «Рейнметалл». Особо важные задания для расчётов на первых порах отправлялись в Москву, в Отделение прикладной математики (ОПМ), где уже использовалась ЭВМ «Стрела». В марте 1957 года заработала ЭВМ «Стрела» в секторе, в начале 1960-х годов появилась и М-20. Для расчёта работы узлов изделий использовались программы, привезённые из ОПМ и освоенные там математиками сектора во время стажировок[5]. Создавались и собственные программные средства.

В 1958 году начальником математического сектора НИИ-1011 стал А.А. Бунатян. Он поддержал предложение Ю.И. Морозова о создании программирующей системы с использованием клавишного устройства (ПСКУ), одной и ранних отечественных систем символьного программирования, появление и использование которой на многие годы определило линию развития автоматизации программирования в секторе. В 1960 году приказом директора НИИ Д.Е. Васильева был создан научно-технический совет (НТС-3) с секциями вычислительной математики и вычислительной техники. Председателем НТС-3 и секции вычислительной математики стал Н.Н. Яненко. На заседаниях НТС-3 рассматривались вопросы научной и производственной работы по всем направлениям расчётов основного цикла, обсуждались методы решения вычислительных задач и программирования.

В 1967 году НИИ получил БЭСМ-6 – первую советскую супер-ЭВМ, которая выполняла около 1 миллиона одноадресных операций в секунду. Она была оснащена операционной системой Д-68, разработанной в ИТМиВТ АН СССР под руководством Л.Н. Королева, при участии В.П. Иванникова и А.Н. Томилина. Д-68 не вполне отвечала требованиям, предъявляемым к вычислениям, имела ограниченные возможности. В то время ещё не было удобных ассемблеров, вся система была запрограммирована вручную. Много времени занимал поиск ошибок. Слабая производительность системы не позволяла в полной мере использовать широкие аппаратные возможности ЭВМ БЭСМ-6. Нужен был иной подход. В 1969 г. В.Ф. Тюрин вынес на рассмотрение НТС-3 предложение о создании собственной операционной системы, оно было одобрено.

Инициатор создания операционной системы, получившей название ДИСПАК (Диспетчер пакетов), Владимир Федорович Тюрин, один из авторов этой статьи, родился 5 сентября 1937 г. на Урале в совхозе «Путь Октября» Кизильского р-на Челябинской области. Учился в средней школе в селе Фершампенуаз – административном центре Нагайбакского района Челябинской области. Школу окончил в 1955 году и поступил в Уральский государственный университет в Свердловске на физико-математический факультет. В университете преподавали Н.Н. Яненко и Ю.И. Морозов, которые принимали активное участие в становлении математического сектора НИИ-1011. Свердловский университет стал одним из базовых для привлечения математиков в НИИ-1011, куда и был рекомендован к распределению В.Ф. Тюрин после окончания вуза в 1960 г. Здесь он несколько лет занимался работами, связанными с вычислительной математикой.

В.Ф. Тюрин

В.Ф. Тюрин

С.А. Зельдинова

С.А. Зельдинова

В группу разработчиков операционной системы В.Ф. Тюрина вошли: Юрий Озорнин, Николай Шулепов, Светлана Зельдинова, Владимир Карякин, Виталий Зуев, Людмила Кошкина. В короткие сроки нужно было создать эффективную, удобную и надежную операционную систему. Работа началась в январе 1970 года, а в марте следующего года должна была быть представлена первая версия системы. Время на машине предоставлялось в неограниченном количестве. Вся группа работала с огромным энтузиазмом, творчески. Точно в срок систему предъявили на испытание, и через некоторое время запустили в эксплуатацию. Информация о новой системе, которая отличалась своей практичностью, быстро распространялась, она завоевала широкое признание в стране, и вскоре была принята заводом-изготовителем ЭВМ в качестве серийной, поставляемой вместе с аппаратурой БЭСМ-6.

Группа разработчиков операционной системы В.Ф. Тюрина

Группа разработчиков операционной системы В.Ф. Тюрина

Для обеспечения работы ОС ДИСПАК в первых версиях были введены системные магнитные ленты. Одна лента использовалась для ввода задач пользователя, их хранения и запуска в решение. Выводимая задачами в процессе решения информация поступала на системные ленты вывода. После окончания задачи её информация изымалась с лент. В связи с большой нагрузкой на магнитные ленты, прежде всего, нужно было повысить надёжность, безопасность и удобство работы с ними. Лента состояла из блоков по 1024 слова для пользователя и 8-ми служебных слов. Каждая лента получала свой идентификатор (имя ленты), который записывался в одно из служебных слов каждого блока. Каждый блок магнитной ленты нумеровался, и номер записывался в одно из служебных слов этого блока. В ОС хранилась информация о текущем состоянии установленных лент (имя ленты, номер блока). При любой постановке оператором ленты автоматически опознавалось её имя и номер блока. При необходимости ленту можно было переставить на другое устройство. Для повышения надёжности работы каждая запись на ленту сопровождалась контрольным чтением с неё.

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

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

ОС ДИСПАК обеспечивала работу в пакетном и диалогово-пакетном режимах. Было достигнуто достаточно быстрое прохождение задач на машине за счёт автоматизации процесса решения задач, многозадачности, параллельного решения задач, буферизации ввода и вывода данных и более эффективного использования внешних устройств. Функциональные возможности ОС ДИСПАК позволили повысить производительность системы в 15-20 раз[6].

В 1971 году появились магнитные диски. Впервые для БЭСМ-6 Ю.Н. Мазуриным, А.Д. Шалфеевым, А.К. Золотилиным был разработан коммутатор магнитных дисков (КМД). КМД имел три входа для подключения трех БЭСМ-6. Программные средства для подключения магнитных дисков были разработаны С.А. Зельдиновой[7]. ОС ДИСПАК позволяла улучшить характеристики ЭВМ за счёт их комплексирования: появились возможности создавать децентрализованные многомашинные вычислительные комплексы (МВК) из ЭВМ БЭСМ-6 с общей внешней памятью на магнитных дисках (1972 г.), автоматически перераспределять задачи между ЭВМ, повысить эффективность их использования и функциональную надёжность вычислительных систем.

В 1972 г. В.Ф. Тюриным была подготовлена и представлена к защите диссертация «Операционная система ДИСПАК». Её научным руководителем стал Владимир Иванович Легоньков[8], а оппонентами – Л.Н. Королев, И.Б. Задыхайло и В.С. Штаркман. Защита прошла в июле 1972 г. В 1973 году по приглашению М.В. Келдыша В.Ф. Тюрин переехал в Москву и поступил в ИПМ АН СССР, где продолжил совершенствовать систему ДИСПАК. В этом же году, по настоянию  академика А.Н. Тихонова, который был одновременно заместителем директора ИПМ и деканом ВМК МГУ, Тюрин начал преподавать в МГУ имени М.В. Ломоносова на факультете ВМК, на кафедре Автоматизации систем вычислительных комплексов (зав. кафедрой Л.Н. Королёв). До 2013 г. читал лекции по операционным системам, об ОС ДИСПАК для 4-5 курса, вёл дипломные работы. В 1983 году он защитил докторскую диссертацию по многомашинным комплексам с общей дисковой памятью на базе машин БЭСМ-6 (оппоненты Л.Н. Королев, Б.А. Бабаян, И.Н. Силин). В 1989 г. В.Ф. Тюрину присвоено учёное звание профессора.

С.А. Зельдинова, другой наш автор, в 1974 году поступила в аспирантуру при ИПМ АН СССР, защитила диссертацию в 1979 г. Все это время она продолжала работу над ОС ДИСПАК. В 1975 году к группе Тюрина подключился молодой специалист Н.Е. Балакирев. В это же время был разработан и внедрен коммутатор терминалов (КТ). Аппаратуру КТ разработали Ю.Н. Мазурин и А.К. Золотилин. Такой КТ был впервые установлен в ВЦ АН СССР. Программное обеспечение для КТ в ОС ДИСПАК было выполнено В. Карякиным.

В 1976 году Ю.Н. Мазуриным, А.Д. Шалфеевым, А.К. Золотилиным и Н.Н. Петрушко разработан коммутатор машин (КМ), который позволил объединить дисковое пространство всех машин. Таким образом, любая ЭВМ могла обратиться к общему дисковому пространству. Программное обеспечение для КМ выполнила С.А. Зельдинова. В.Ф. Тюрин разработал программные средства: событийный аппарат, главную и подчинённую задачи, передачу сообщений между задачами.

В 1976 году заработал терминальный коммутатор на 64 терминала с выходом на 7 ЭВМ БЭСМ-6, позволивший создать локальную и распределённую сети в различных Институтах АН СССР. Эта возможность позволяла пользователю запускать свои задачи на любом терминале и на любую ЭВМ многомашинного комплекса в автоматическом режиме, просматривать результаты работы своей программы на своём терминале. Такой многомашинный комплекс с коммутатором машин был создан в Главном производственном вычислительном центре СО АН СССР (ГП ВЦ СО АН СССР). Виртуальная двухуровневая память (оперативная память, внешняя память) обеспечивалась методом случайных чисел и методом рабочего множества.

В 1980 г. Н.Е. Балакирев, С.А. Зельдинова, В.Ф. Тюрин из ИПМ перешли в ИТМ и ВТ в проект «Эльбрус». Они стали ответственными за проведение испытаний ОС ДИСПАК для МВК ЭЛЬБРУС1-К2[9]. Процессор МВК ЭЛЬБРУС1-К2 был совместим с БЭСМ-6 по командам для пользователя. В 1981 году С.З. Рачинский разработал и внедрил архивно-файловую систему. Она обеспечивала работу с файлами, каталогами и их защиту. Файловая система имела иерархическую структуру, для её сопровождения  имелись сервисные программы. Эта же система использовалась и для многомашинных комплексов.

Многомашинный комплекс

Многомашинный комплекс

Многомашинный комплекс с общей внешней памятью на дисках

Многомашинный комплекс с общей внешней памятью на дисках

ОС ДИСПАК удачно решала вопросы работы в режиме разделения времени, реального времени, обеспечивая высокий коэффициент полезного использования машинного комплекса. К каждой БЭСМ-6 были подключены десятки терминалов, работавших под управлением диалоговых систем УПО, ДИМОН, КРАБ, ДЖИН и др. Работу ОС ДИСПАК отличала высокая надёжность. Максимальное время функционирования ОС ДИСПАК в однопроцессорном варианте составляло 662 часа (4 недели). Максимальное время функционирования ОС ДИСПАК в многомашинном комплексе было практически неограниченно. Система работала в крупнейших ВЦ страны (ВЦ АН СССР, ГП ВЦ СО АН СССР, ИММ УрО АН СССР, ИрВЦ СО АН СССР и др.), научно-исследовательских институтах СССР (МГУ, НИВЦ МГУ, НИИАС, ЦНИИАГ, НПО «Энергия», ИАЭ им. И.В. Курчатова), во многих организациях Москвы, Ленинграда, Урала, Сибири, Дальнего Востока, Украины, Грузии, Узбекистана, Литвы и т.д. Число заходов на ЭВМ в сутки составляло более тысячи. ЭВМ БЭСМ-6 выпускалась серийно с 1968 по 1981 год, всего было выпущено 367 машин, на более чем 95% из них была установлена ОС ДИСПАК.

В 1985 году начались работы по созданию вычислительного комплекса (ВК) ЭЛЬБРУС-Б, главным конструктором которого был М.В. Тяпкин[10]. ВК ЭЛЬБРУС-Б работала в трёх режимах. Первый режим работы обеспечивал полную совместимость команд пользователя с командами БЭСМ-6. Второй режим работы совместим с первым режимом кроме длины регистров пользователя (регистр БЭСМ-6 имеет длину 15 бит, а во втором 27 бит). Третий режим работы полностью не совместим с пользовательским режимом БЭСМ-6. Созданная для ВК ЭЛЬБРУС-Б ОС ДИСПАК обеспечивала полное совмещение с задачами пользователя БЭСМ-6. Второй режим не обеспечивался. Третий режим обеспечивался только тестовыми задачами, написанными на ассемблере. В аппаратуре ВК ЭЛЬБРУС-Б для работы с внешними устройствами, прерываниями и т.д. вводились специальные команды, отличающиеся от БЭСМ-6. Разработка системного программного обеспечения ВК ЭЛЬБРУС-Б была выполнена В.Ф. Тюриным, С.А. Зельдиновой, Н.Е. Балакиревым. М.Г. Чайковский разработал макроассемблер, ФОРТРАН для ВК ЭЛЬБРУС-Б. Государственные испытания ВК ЭЛЬБРУС-Б и ОС ДИСПАК успешно прошли в 1988 году. В 1991 г. за создание системного программного обеспечения для ВК ЭЛЬБРУС-Б была присуждена премия Совета министров СССР коллективу разработчиков в составе В.Ф. Тюрина, С.А. Зельдиновой, Н.Е. Балакирева, М.Г. Чайковского.

Примечания.

1. http://www.vniitf.ru/ob-institute/istoriya-instituta

2. Яненко Николай Николаевич (1921-1984) – с октября 1955 года по ноябрь 1963 года руководил математическим отделением создаваемого на Урале НИИ-1011 (ныне  РФЯЦ-ВНИИТФ им. Е. И. Забабахина). Этот научный коллектив был занят решением прикладных научно-технических задач. Им были, в частности, проведены аналитические исследования нелинейных систем уравнений с частными производными. Созданный им метод нахождения точных решений нелинейных уравнений (метод дифференциальных связей) получил широкое признание. На его основе был найден целый ряд новых точных решений уравнений газовой динамики.

3. Бунатян Армен Айкович (1918-1978) – окончил физико-математический ф-т Московского педагогического института им. Карла Либкнехта (1940), служил в войсках Закавказского ВО, с 1946 – научный сотрудник Математического института им. Стеклова АН СССР, затем – ИТМиВТ. С 1955 – в НИИИ-1011, зам. начальника, начальник математического сектора (1958-1978). Доктор технических наук (1971).

4. Морозов Юрий Иванович (р. 1924, Москва) – служил в армии в 1942-1945, окончил мехмат МГУ в 1951, после окончания университета работал в Математическом институте им. В.А. Стеклова АН СССР, затем в ОПМ. Летом 1956 назначен начальником отдела программирования в математическом секторе НИИ-1011, где заложил фундамент программирования. В 1963 г. перешел на работу в Свердловское отделение Математического института им. В.А. Стеклова АН СССР (ныне Институт математики и механики им. Н.Н. Красовского Уральского отделения РАН, г. Екатеринбург), затем переехал в Москву. К сожалению, дальнейшую судьбу Ю.И. Морозова установить не удалось.

5. Свет памяти. Историко-литературный альманах. Вып 6 / Рук. проекта Э.В. Каюрова.  Челябинск: Издательство «Цицеро», 2015. С. 65-78.

6. Бокова И.Д., Зельдинова С.А., Зуев В.И., др. Операционная система ДИСПАК для БЭВМ-6 (системному программисту и оператору)/ Отв. ред. В.Ф. Тюрин. Москва: Институт прикладной математики АН СССР, 1973. Вып. 1. 102 с. Библиогр. С. 99.

7. Зельдинова Светлана Александровна (26.12.1946, г. Березовский, Свердловской обл.). Окончила математико-механический факультет Уральского государственного университета им. А.М. Горького (1965-1970). Работала во ВНИИП (1969-1974, ныне РФЯЦ–ВНИИТФ им. акад. Б.И. Забабахина, Снежинск). В 1974 г. поступила в аспирантуру ИПМ АН СССР, защитила диссертацию в ИПМ АН СССР в 1979 г., канд. физ.-мат. наук. Один из разработчиков ОС ДИСПАК, в том числе для многомашинных и многопроцессорных комплексов. Старший научный сотрудник, ведущий научный сотрудник ИТМиВТ (1980-2007). Преподавала в РУДН (1997-2012, доцент). Лауреат Премии Совета Министров СССР (1991).

8. Легоньков Владимир Иванович (1933–1997), инженер-программист, кандидат физико-матем. наук (1972), лауреат Ленинской премии (1980; за участие в фундаментальных исследованиях, заложивших основы для достижения особой чистоты термоядерного взрыва). По окончании математико-механического ф-та МГУ (1956) – сотрудник НИИ-1011: начальник отдела программирования (1963), зам. нач. отделения (1990). Рук. и участник многих разработок в области автоматизации программирования и создания больших производственных программ. Особое внимание уделял вопросам программирования для 2-мерных нестационарных задач математической физики, в частности вопросам сегментации данных. Автор первых исследований в этой области. Активно занимался внедрением современных технологий программирования, основанных на модульном принципе. Награжден орденом «Знак Почета» (1971).

9. Эльбрус-1К2 (также известен как СВС с жаргонной расшифровкой «Система, Воспроизводящая Систему») был разработан на основе компонентов и технологий Эльбруса-2 для замены БЭСМ-6. Сохранял полную программную совместимость с предшественником. Его разработка была завершена в 1988 году, и в период до 1992 года было выпущено 60 машин.

10.Тяпкин Марк Валерьянович (род 1927) – инженер-конструктор, окончил Московский энергетический институт (1952), распределен в ИТМиВТ АН СССР. Разработчик узлов и конструкций машин С.А. Лебедева. Доктор технических наук (1987). Подробнее http://www.computer-museum.ru/galglory/tyapkin.htm

5 марта 2016