автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Реализация унифицированной пользовательской среды для МВК "Эльбрус"

кандидата технических наук
Кулибаба, Александр Васильевич
город
Москва
год
1991
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Реализация унифицированной пользовательской среды для МВК "Эльбрус"»

Автореферат диссертации по теме "Реализация унифицированной пользовательской среды для МВК "Эльбрус""

АКАДЕМИЯ НАУК СССР ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНСТИТУТ ТОЧНОЙ МЕХАНИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ИМ. С.. А. ЛЕБЕДЕВА

На правах рукописи

Кулибаба Александр Васильевич

уда 681. а се. 066

РЕАЛИЗАЦИЯ УНИФИЦИРОВАННОЙ ПОЛЬЗОВАТЕЛЬСКОЙ СРЕДЙ ДЛЯ МВК "ЭЛЬБРУС"

и

Специальность 05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Авторефе р ат диссертации на соискание ученой степени кандидата технических наук

Москва - 1991

/ ^

Работа выполнена в Новосибирском филиале Института точной механики и вычислительной техники им. С. А. Лебедева АН СССР.

Научный руководитель - доктор технических наук

профессор Г.Д.ЧИНИН

Официальные оппоненты - доктор физико-математических

наук А. Е Томидин

кандидат физико-математических наук В. В. Леонас

Ведущее предприятие - Институт Прикладной Математики

Л 115.02. 01 по присуждению ученой степени доктора наук при Институте точной механики и вычислительной техники им. С, А. Лэбедева АН СССР ( 117914, Мэеква, Лэнинский проспект, 51 ).

С диссертацией можно ознакомиться в библиотеке Института точной механики и вычислительной техники им. С.¿.Лебедева ( Москва, Ленинский проспект, 51 ).

Автореферат разослан Ученый секретарь

в ^Ч час.

АН СССР

Защита диссертации состоится GY-T-iiggi г.

{_ час. на заседании Специализиров го совета

специализированного совет; Kl т. н. с. н. с.

ОБЩАЯ ХЙРАКТЕРИСТИКА РАБОТЫ

Диссертационная работа посвящена вопросам разработки и создания для многопроцессорного вычислительного комплекса (КВК) "Эльбрус" унифицированной пользовательской среды, Характерной для операционной системы (ОС) семейства ÜNIX.

Актуальность диссертационной работы определяется

следующими факторами й условиями:.

- область применения МВК "Эльбрус" может быть значительно расянрена за счет использования операционной среды семейства ONIX и программного обеспечения (ПО), подготовленного под управлением ОС данного семейства;

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

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

ггйдыв виссрртлмиоиной работы является разработка и реализация системы, предназначенной для создания на КВК "Эльбрус" пользовательской среды, характерной для ОС семейства UHIX. В качестве прототипа семейства выбрана ОС ДЕМОС.

Система, в дальнейшем называемая "система ЮНИКС-ЭЛЬБРУС" , должна обеспечивать следующие возможности:

- перенос ПО ОС ДЕМОС в виде текстовых файлов с последующей компиляцией их и исполнением;

- использование системного и пользовательского интерфейса ОС ДВИОС в программах, подготовленных в среде общего системного программного обеспечения (ОСПО) МВК "Эльбрус";

- использование в программах, исполняемых под управлением системы КШКС-ЭЛЬБРУС (в частности, программах на языке программирования Си), средств ОСПО и программ, подготовленных под управлением ÓCÍIÓ.

Связь темы .диссертации с планом работ института- Разработка системы КШКС-ЭЛЬБРУС осуществлялась в соответствии с научно-техническими планами НФ ИТКиВТ в связи с решением директивных органов.

ИСТОЧУ достижения пяди. Учитывая практическую направленность работы, определенные принципы и методы построения ПО ОС семейства UNIX и основные направления развития архитектуры и OCHO МВК "Эльбрус", метод достижения цели можно охарактеризовать как реализацию принципа переиспользования существующих программных продуктов на основе разумной адаптации ПО ОС семейства UNIX к МВК "Эльбрус".

Результаты работы. В результате работы спроектирована, разработана и реализована система ЮНИКС-ЭЛЬБРУС, создающая на КВК "Эльбрус" унифицированную пользовательскую среду, характерную для ОС семейства (JHIX, что отвечает цели данной работы. В ходе работы подучены следующие конкретные результаты:

1. Проведен анализ свойств и структуры ПО ОС семейства Ш1Х, а также методов переноса ПО данного семейства.

2. Определены наиболее приемлемые методы осуществления подобного переноса на МВК "Эльбрус" с учетом особенностей архитектуры и программного обеспечения последнего.

3. Спроектированы, реализованы и отлажены компоненты системы , включающие:

- Модуль реализации системного интерфейса ОС ДЕНОС;

- систему программирования с входным языком Си;'

- средства поддержки компиляции и исполнения программ, подготовленных в среде ОС семейства UNIX.

4. Обеспечено исполнение на МВК "Эльбрус" значительного числа прикладных программ, подготовленных в среде ОС ДЕМОС, в том числе таких известных программных средств, как YACC, LEX, MAKE, SH и др.

5. Сформулированы требования к компонентам ОСЛО, необходимым для Функционирования ПО ОС семейства UNIX.

6. Проведены измерения скорости исполнения компонентов си стемы.

Научная новизна результатов работы определяется следующим:

- впервые реализована операционная среда семейства UNIX на МВК "Эльбрус";

- разработаны и апробированы методы расширения сущест-

вующего ПО МВК "Эльбрус" на основе принципа переиепользова-ния, в частности, реализована система программирования с входным языком Си.

Практическая значимость работы заключается, с одной стороны, в расширении круга решаемых на МВК "Эльбрус" задач за счет использования программных продуктов, подготовленных под управлением ОС семейства ONIX и, с другой стороны, в расширении спектра отечественных ЭВМ, на которых обеспечено Функционирование программ, подготовленных в среде ОС UHIX. Осуществленный в процессе реализации и эксплуатации системы ИШКС-ЭЛЬБРУС перенос прикладных программ ОС ДЕМОС имеет практическое значение для оценки степени мобильности последних.

Достоверность результатов работы подтверждается фактом существования системы КИИКС-ЭЛЬБРУС и опытов ее эксплуатации, в частности, Функционированием на МВК "Эльбрус" программ, подготовленных в среде ОС ДЕМОС. В настоящее время система КНИКС-ЭЛЬБРУС внедрена в нескольких организациях страны.

личный вкдап автора. Работа по разработке и реализации системы ЮНИКС-ЭЛЬБРУС проводилась в НФ ИТКиВТ в 1984-1990гг. коллективом разработчиков под руководством автора, являвшегося ответственным исполнителем соответствующей темы. Лично автором было выполнено следующее:

- исследованы основные методы переноса ПО ОС семейства UNIX, предложен и обоснован метод реализации системы ЮНИКС-ЭЛЬБРУС;

- определены требования к базовым средствам ОСПО, необходимым для функционирования ПО ОС семейства ONIX;

- практически полностью осуществлен процесс тестирования системы ЮНИКС-ЭЛЬБРУС и отладки прикладных программ, переносимых с других ЭВМ, с использованием предложенных автором диссертации методов;

- проведены экспериментальные исследования для оценки эффективности исполнения компонентов системы.

Непосредственно автором были запрограммированы и отлажены следующие компоненты системы:

- модельный вариант ядра системы, явившийся основой для Функционирования системы программирования с входным языком Си и для реализации системного интерфейса ОС семейства UNIX;

- монитор управления компиляцией;

- модульный вариант подключения библиотек стандартных Функций;

- ряд прикладных программ для поддержки функционирования системы и взаимодействия с ОСЛО.

йпр^^яцир Результаты работы докладывались на Всесоюзном семинаре по программному обеспечению МВК "Эльбрус" (г.Новосибирск, 1984г.), Всесоюзных Научно-технических семинарах "Диалоговая мобильная операционная система ДЕМОС" (г.Калинин, 1985г.) и "Мобильное Программное Обеспечение" (г.Калинин, 1987 г.), Всесоюзной конференции по методам трансляции и конструирования программ (г.Новосибирск, 1988г.), научных семинарах ЯФ ИТМиВТ (неоднократно), всесоюзной школе-семинаре по программному обеспечению МВК "Эльбрус" (г.Новосибирск, 1988 и 1990 гг.).

утурдикяпии. По теме диссертации опубликовано 7 работ /1-7/.

Объем и_структура_работы. Диссертация изложена на 121

странице машинописного текста, состоит из введения, пяти глав, заключения, списка литературы, включающего 57 названий и приложения, содержащего 11 рисунков.

СОДЕРЖАНИЕ РАБОТЫ

Во введении рассматриваются цели и задачи диссертационной работы, подчеркивается актуальность проблемы переиспользования программных продуктов. Определяется понятие пользовательской среды, вхлючающей средства базовой операционной системы и компоненты пользовательского уровня - библиотеки стандартных функций и команд, средства взаимодействия пользователя с ЭВМ, системы программирования. Обосновывается выбор системного и пользовательского интерфейса ОС семейства UNIX в качестве основы для построения унифицированной программной среды. Далее во введении дается краткая аннотация

отдельных глав работы.

В первой гзаве, носящей, в основном, обзорный характер, рассматриваются история создания и текущее состояние ПО ОС UNIX, проблемы стандартизации ОС UNIX, обсуждается состояние отечественны* работ в данной области. В качестве типичного представителя ОС семейства ONIX выбрана ОС ДЕМОС. Далее рассматриваются основные принципы организации и реализации ОС семейства ONIX, функции ядра ОС, определяются состав и функции системного и пользовательского интерфейса.

Вторая глава посвящена анализу возможных методов реализации ПО ОС ONIX на различных ЭВМ. В принципиальном плане можно выделить два подхода, первый из которых заключается в установке какой-либо версии ОС UNIX в качестве базовой ОС с последующим переносом ПО пользовательского уровня. Для МВК "Эльбрус" данный подход не может быть признан удовлетворительным, в первую очередь из-за. потери сучествующего ПО.

Среди вариантов "смешанного'' подхода, при котором базовая ОС сохраняет свое назначение и свои функции, а исполнение ОС UNIX или ее компонентов обеспечивается различными путями, можно выделить следующие:

- моделирование архитектуры исходной ЭВМ (той, с которой переносится ОС UNIX ), что сводится к идее "монитора виртуальных мапин"; ядро ОС ONIX при этом функционирует как единая задача;

- использование метода универсальных программных интерфейсов (УПИ). В этом случае интерфейс ОС семейства ONIX рассматривается как пользовательская абстракция ОС, отображаемая на реальную ОС (ОС МВК "Эльбрус" в напем случае).

Перед анализом этих путей рассматриваются основные свойства и особенности аппаратуры и программной среды МВК "Эльбрус", так как они в значительной степени определяют направление реализации. Отмечаются свойства системы простых Файлов (СПФ), в частности, средства обмена, наличие механизма атрибутов, возможность использования области пользователя в заголовке файла. Организация управления процессами поддерживается в МВК "Эльбрус" операциями над объектами специального типа - семафорами и различными средствами порождения процес-

сов. Все перечисленные возможности доступны из программ на языке Эль-76.

Относительно функционирования ядра ОС UNIX как единой задачи под управлением базовой ОС КВК "Эльбрус" отмечается, что жизнеспособность данного подхода подтверждена рядом удачных разработок. В основу подхода положен принцип монитора виртуальных машин <МВМ), осуществляющего управление ядром ОС UNIX, базовой ОС и, возможно, еще какими-либо ОС. В части взаимодействия с ядром ОС UNIX МВМ должен обеспечить те свойства аппаратуры, на которые ориентировано ядро. ОС в ма~ пинно-зависимой части."

При подобном подходе в ядро ОС UNIX предстоит внести определенное число изменений, связанных с переписью ассемблерных строк, но основные изменения выпадают на дол» ОС ИВК "Эльбрус", которая должна быть открыта для модификации.

Следует отметить необходимые условия и ограничения данного подхода. Во-первых, реализуемая версия языка должна быть адекватна исходной, а собственно реализация должна удовлет-. ворять требованиям достаточной эффективности.

Во-вторых, подобная установка ОС UNIX является замкнутой в том смысле, что она не способствует целям использования программного багажа ОС семейства UNIX в программах, подготовленных под управлением базовой ОС, и наоборот, затрудняет использование "штатного" ПО в системе UNIX.

В-третьих, при таком подходе слабо используются свойства аппаратуры и базовой ОС, а также неизбежна потеря эффективности исполнения из-за дублирования ряда функций ядра ОС UNIX и базовой ОС.

Выло признано более реалистичным провести реализацию системного интерфейса ОС семейства UNIX в виде обычной задачи пользователя, функционирующей под управлением ОС МЁК "Эльбрус", с дальнейшим переносом компонентов, составляющих пользовательский уровень интерфейса.

В третьей главе рассматривается общая структура системы ЮНИКС-ЭЛЬБРУС и методы ее реализации. С точки зрения пользователя ' система ЮНИКС-ЭЛЬБРУС совместно с ОС МВК "Эльбрус" образуют виртуальную машину для исполнения прикладных прог-

рамм ОС ДЕМОС. Для оператора или администратора ОС МВК "Эльбрус" система является обычной задачей пользователя, функционирующей под управлением базовой ОС.

Основным компонентом системы ЮНИКС-ЭЛЬБРУС является монитор системы, выполняющий, совместно с ОС МВК "Эльбрус", функции ядра ОС UNIX. Монитор обслуживает в рамка* задачи ОС одного пользователя, при вызове системы еще одним пользователем создается новая задача ОС, и в ее рамках вновь активизируется экземпляр монитора.

Монитор реализован на языке Эль-76 и содержит следующие компоненты:

- модуль реализации системных вызовов; интерфейс данного модуля доступен прикладным программам, Функционирующим в системе ¡ОНИКС-ЭЛЬБРУС;

- средства инициализации и запуска системы;

- средства завершения работы системы.

С точки зрения монитора каждая исполняющаяся в системе программа считается динамически запущенной из процедуры ПРОСЛОЙКА, которая обеспечивает:

- Формирование меток процедур системных вызовов для текущего процесса;

- запуск головной процедуры процесса и передачу ей аргументов;

- замену образа процесса в результате исполнения системных вызовов группы EXEC;

- перехват аварийных ситуаций, возникающих в процессе;

- формирование и выдачу динамической диагностики (аварийной распечатки стека) при необходимости;

- запуск системного вызова EXIT по окончании процесса.

Во втором разделе главы обсуждаются общесистемные структуры данных, требуемые для функционирования монитора и исполнения системных вызовов. К таховым относятся:

- информационная таблица файлов (ИТФ), содержащая информацию об используемых в системе файлах. Элемент ИТФ хранится в области пользователя в заголовке файла, а при открытии файла поступает в данную таблицу;

- таблица открытых файлов процесса (ТОФ), предназначенная

для обеспечения обмена с открытым файлом; данная таблица является облей для группы родственных процессов;

- системная таблица процессов (СТП), содержащая информацию, характерную как для процессов ОС UNIX, так и для процессов ОС КВК "Эльбрус".

Далее в главе рассматривается реализация подсистемы управления файлами, отмечается, что большинство Функций по обслуживанию файлов возлагаются .на СПФ и ОС МВК "Эльбрус" -непосредственный обмен с устройствами, минимизация последствий сбоев аппаратуры, хранение файлов в архиве и манипуляции с архивом в целом."Система ЮНИКС-ЭЛЬБРУС моделирует фай-лову» систему ОС ДЕМОС и поддерживает соответствующие операции (системные вызовы). При этом для хранения характерной для файлов ОС ДЕМОС информации используется область пользователя в заголовке файла.

Возможности манипулирования с файлами несколько расширены по сравнению со стандартными реализациями ОС семейства UNIX. Одним из подобных расииренийг является использование файлов на магнитных барабанах для организации каналов. Другое рас-вирение позволяет предоставить пользователям системы ЮНИКС-ЭЛЬБРУС возможность работы как с файлами системы, так и с файлами, созданными в рамках ОСПО. Для последних характерно отсутствие области пользователя в заголовке файла и, как следствие, невозможность хранения типичной для ОС UNIX информации о файле. Для таких файлов элемент ИТФ формируется искусственно.

Реализация системных вызовов управления процессами также опирается на соответствующие средства ОСПО, что требует преодоления некоторых различий в концепции управления процесса-, ми в ОС ДЕКОС и ОС MBB "Эльбрус". Так, при исполнении системного вызова FOBK копирование образа памяти в ОС ДЕМОС не представляет каких-либо трудностей, поскольку каждый процесс имеет собственную математическую память, в ОС МВК "Эльбрус" все процессы используют обаду» математическую память задачи, поэтому копирование образа памяти требует корректировки адресной информации. По этой причине перед исполнением программы на языке Си производится передача системе дескрипторов

массивов данных, расположенных вне стека. Непосредственное копирование текущего стека на вновь созданный стек производится интерфейсной процедурой ОС "копирстека", ею корректируется также адресная информация, как-то: косвенные слова, маркеры стека, метки процедур, дескрипторы расположенных в стеке массивов.

Манипуляции с сигналами, включающие задание реакции на сигнал и обмен сигналами между процессами, являются той частью системы ЮНИКС-ЭЛЬБРУС, в которой наиболее заметен контраст между собственно ОС семейства UNIX и настоящей реализацией. Причина в том, что сигналы являются в сильной мере машинно-ориентированными, но в то же время они вынесены в интерфейс ОС.

Реализованное в настоящей версии решение состоит в следующем. В системе ЮНИКС-ЭЛЬБРУС сигнал может быть послан только пользовательским процессом или непосредственно монитором системы, перехватывающим ситуации, возбуждаемые базовой ОС. Считается, что смысл сигнала может быть переопределен по соглашению между процессами, поэтому номера и имена сигналов сохранены. В соответствии с данным подходом проверка наличия сигнала и, возможно, реакция на него, производится при возврате из любого системного вызова.

Для более оптимального использования средств ОСЛО интерфейс системных вызовов несколько расаирен. Подобные расширения предполагается использовать только для ЭВМ семейства "Эльбрус". Первое из таких расширений связано с реализацией системного вызова FORKEXEC, представляющего собой объединение системных вызовов FORK и EXEC. При исполнении данного вызова образуется новый процесс, который практически идентичен обычному процессу системы - обладает уникальным номером и собственным образом. В рамках такого процесса исполняется кодовый файл ОСЛО, переданный аргументом в FORKEXEC. Копирование памяти порождающего процесса не производится. .

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

37емой программой памяти, данные для организации динамической диагностики. Текущий контекст ОСПО также доступен через дополнительный системный вызов.

В четвертой главе рассматривается система программирования с входным языком Си (СП Эль-Си).

В первом разделе обсуждаются особенности языка, которые существенны для реализации на МВК "Эльбрус", таковыми являются, в частности, средства работы с указателями объектов.

Основным требованием к системе программирования с входным языком Си, создаваемой в рамках системы ЮНИКС-ЭЛЬБРУС (в дальнейшем СП Эль-Си), является требование обеспечить перенос и исполнение программ, подготовленных в среде ОС ДЕМОС. Среди дополнительных требований выделим возможность обращения из программ на языке Си к средствам ОСПО и, с другой стороны, обеспечение возможности вызова Си-программ из программ, подготовленных в среде ОСЛО. С учетом данных требований и рассмотрим состав и структуру СП Эль-Си.

В состав СП входят:

- компилятор с языка Си;

- набор библиотечных функций;

- средства поддержки периода компиляции;

- средства поддержки исполнения скомпилированных программ;

- средства редактирования и документирования текстов;

- средства переноса исходных текстов на языке Си с различных ЭВМ.

Далее в работе обсуждается общая схема компиляции. За основу выбран переносимый Си-компилятор ОС ДЕМОС, в котором в качестве языка ассемблера используется базовый язык ОСЛО -язык Эль-76. Некоторая искусственность подобного подхода и очевидная потеря скорости компиляции компенсируются, на наш взгляд, следующими преимуществами:

- обеспечивается совместимость на уровне файла объектного кода с программами на языке Эль-76 и, как следствие, облегчается возможность обращения к средствам ОСЛО из программ на языке Си;

- появляется возможность непосредственной вставки в тексты исходных Си-программ фрагментов на языке Эль-76 (исполь-

зуя конструкцию языка Си "asm"), например, отладочной печати;

- оптимизация объектного кода производится существующими и оглаженными механизмами компилятора с языка Эль-76;

- упрощается проблема адаптации перенесенного ПО к анонсированным моделям ЭВМ ряда "Эльбрус", совместимым именно на уровне языка Эль-76.

Вместе с тем общая схема компиляции несколько модифицирована. Сборка раздельно оттранслированных файлов осуществляется, на уровне текстовых файлов языка Эль-76, на данном этапе могут быть подключены библиотечные функции. Компилятору с Эль-76 передается полный текст исполняемой программы. Другой возможный вариант подключения библиотечных функций - динамическое подключение модуля реализации библиотек посредством процедуры ОСЛО "генмодуль".

Препроцессор ОС ДЕМОС является машинно-независимой программой и был полностью перенесен с ЭВМ СМ-4, единственные изменения в нем состояли в увеличении размеров внутренних таблиц.

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

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

Второй проход (генератор кода) создай заново, в данной реализации он обеспечивает построение текста на языке Эль-76.

Основной вопрос, который необходимо решить при реализации языка Си на МВК "Эльбрус", это Вопрос о представлении объектов типа "указатель на ...". В настоящей реализации предлагается размещать все данные программы на языке Си в специальном массиве, называемом'в дальнейшем "Си-память". Это массив достаточно большого размера, запрашиваемый при "запуске' скомпилированной программы, в котором располагаются почти все рабочие объекты программы (смысл слова "почти" поясняется ниже). В этом случае понятие адреса переменной эквивалентно; индексу в массиве Си-память, и адресная арифметика сводится к обычной арифметике над целыми. Все массивы, объявленные в программе на языке Си, также помещаются в Си^па-мяти, что облегчает ее копирование.

В языке Си существует класс памяти "register", предписывающий компилятору разместить переменную этого класса в машинном регистре для оптимизации доступа к ней. Так как в языке;, Си запрещено применение операции "адрес" к объектам . класса "register", нет необходимости размещать такие объекты в Си-памяти. Настоящая реализация предполагает размещение их в стёке МВК "Эльбрус", что гораздо эффективнее с точки зрения доступа.

Д^лее в главе рассматриваются технические вопросы построения; компилятора - генерация вызовов функций и возврата из них,) представление объектов различных типов, средства сборки отдельно оттранслированных файлов. Собственно управление компиляцией и взаимодействие отдельных компонентов компилятора осуществляется монитором компиляции, который представляет собой расширенную команду. ОС ДЕМОС "СС".

Если кратко охарактеризовать общий подход к обеспечению функционирования библиотек ОС ДЕМОС; в СП Эль-Си, то в качестве основного принципа следует назвать принцип разумной адаптации. Большинство функций непосредственно переносится из ОС ДЕМОС, некоторая часть функций подвергается модификации вплоть до полной переписи их на языке Эль-76.

Далее в главе рассматриваются библиотечные функции, реализация которых в ОС ДЕМОС зависит от свойств аппаратуры ЭВМ (например, размер машинного слова или структура стека) и об-

суждается реализация подобных функций в СП Эль-Си,

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

Допускается функционирование СП Эль-Си вне рамок системы ЮНИКС-ЭЛЬБРУС, В этом случае монитор компиляции самостоятельно генерирует интерфейс системных вызовов, используя в качестве реализации модуля системных вызовов так называемую "модельную реализацию". Существенное отличие (и упрощение) модельной реализации в том, что в ней допускается работа только в рамках одного процесса, и реализованы только те системные вызовы, которые используют компилятор и библиотечные функции, необходимые для его работы. К таковым относятся, в частности, системные вызовы манипуляции - с файлами -OPEN, CHEAT, HEAD, WHITE, LSEEK, CLOSE и некоторые системные вызовы, относящиеся к' группе дополнительных - ACCESS, DUP, CTIME и др. При этом реализация их достаточно упрощена, к примеру, проверка доступности некоторого файла не производится и предполагается, что файл (если он, естественно, существует) доступен всегда каждому пользователю. Реализован также системный вызов EXIT, обеспечивающий завершение процесса, что в данной реализация сводится к прекращению исполнения вызванной программы и объявлению ситуации "еитех!Ъ", перехватываемой монитором компиляции.

В заключение главы рассмотриваются оценки скорости исполнения программ на языке Си в системе КШКС-ЭЛЬБРУС. Измерения, проводившиеся на МВК "Эдьбрус-1" в. стандартной конфигурации, показывают, что по скорости исполнения прог-

рамм компилятор СП Эль-Си уступает компилятору с языка Эль-76 примерно в три раза, особенно значителен контраст при манипуляциях со строками, что объясняется наличием в языке Эль-76 групповых операций, поддерживаемых аппаратурой.

Пятая глава посвящена вопросам функционирования в системе ЮНИКС-ЭЛЬБРУС прикладных программ. В зависимости от Метода реализации команды системы можно разделить на следующие группы:

1. Команды, переносимые из ОС ДЕМОС без каких-либо изменений;

2. Команды, требующие при переносе определенной адаптации;

3. Команды, реализуемые на языке Эль-76 с сохранением спецификаций ОС ДЕМОС;

4. Команды, ориентированные на исполнение в рамках ОСЛО и включаемые в систему для взаимодействия с ОСПО.

Большинство команд может исполняться как в рамках системы ЮНИКС-ЭЛЬВРУС под управлением интерпретатора командного языка, так и автономно с внутренним подключением интерфейса системных вызовов.

Часть команд реализована в двух вариантах - перенос из ОС ДЕМОС'и полная перепись на языке Эль-76. Это продиктовано стремлением наиболее полно использовать возможности ОСПО, а также тем, что в процессе отладки системы необходимость во многих командах возникла раньте, чем они могли быть перенесены. К таким командам относятся команды 1>Б (выдача содержимого каталога), уже упоминавшаяся ранее команда СС (вызов компилятора с языка Си), ЬМ (создание альтернативных имен файлов) и др. Ряд команд является встроенными командами интерпретатора командного языка, что также предопределяет подход к их реализации.

Некоторые команды взаимодействия с компонентами ОСПО не имеют аналогов в ОС ДЕМОС. В первую очередь выделим команду ЭЛЬ - компиляция текстов на языке Эль-76. Обращением ЭЛЬ файл-текста файл-кода контекст-вставок обеспечивается компиляция файла "файл-текста" (должен иметь тип "текст") с учетом контекста библиотечных вставок. Ре-

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

Команда ОСТ обеспечивает приостановку текущего сеанса работы с системой и выход в штатный диалог ОСПО. Возврат в систему ЮНИКС-ЭЛЬБРУС осуществляется по команде ОСПО АК. Возмохно также исполнение произвольного файла объектного кода через команду ИСЛ.

В системе ЮНИКС-ЭЛЬБРУС исполнение команд и взаимодействие с пользователем осуществляют интерпретаторы командных языков, которые рассматриваются в следующем разделе главы. '

В системе обеспечена возможность использования нескольких командных языков, в первую очередь отметим, что из ОС ДЕ-МОС2.0 перенесены и адаптированы интерпретаторы sh и esh.

Параллельно с разработкой системы была проведена работа по созданию инструментальной версии интерпретатора командного языка SH, в Которой за основу выбран язык Shell ОС ДЕМОС. Инструментальная версия поддерживает запуск простых команд, организацию конвейеров, перенаправление стандартного ввода-вывода, механизм history и, генерацию имен файлов. Реализация выполнена на языке Эль-76, для организации исполнения' команд и манипуляций с файлами используются системные вызовы системы ШИКС-ЭЛЬБРУС. При реализации активно использовались дополнительные системные вызовы системы ЮНИКС-ЭЛЬБРУС, в частности, запуск команд на исполнение осуществляется с помощью системного вызова fcrkexee, установка/выдача текущего каталога также обеспечиваются дополнительным системным вызовом .

В ходе работы интерпретатор SH, оформленный как отдельный процесс системы, исполняет встроенные команды или запускает собственные процессы-потомки для исполнения команд системы.

Расширен синтаксис имен файлов, что позволяет задавать имена в привычном для языка Эль-76 виде, разреиается определять имена файлов не только относительно текущего, или корневого каталога,- как в ОС UNIX, но и от стандартного имени "КСН". Команды, исполняемые непосредственно интерпретатором 6Я (встроенные команды), имеют альтернативные имена, сходные с именами аналогичных команд ОСЛО, например, выход из ин-

терпретатора может быть осуществлен по командам LOGOUT иги ВЫХ.

Вышеизложенное позволяет, на наш взгляд, рассматривать интерпретатор команд SH ие только как инструментальное средство, но и как. самостоятельный компонент -системы ШИКС-ЭЛЬБРУС, равнозначный прочим командам.

В заключение главы обсуждаются направления развития на МВК "Эльбрус" работ в области унифицированных пользовательских сред.

В заключении дается краткий обзор проделанной работы, перечисляются полученные результаты и условия, способствовавшие их ^достижению.

ЗАКЛЮЧЕНИЕ

Работа по созданию системы КШКС-ЭЛЬБРУС выполнена в рамках направления по разработке и развитию программного обеспечения МВК "Эльбрус". Результаты работы позволяют расширить спектр отечественных ЭВМ, на которых обеспечено функционирование программ, подготовленных на различных ЭВМ под управлением ОС семейства ОНIX. & ходе работы получены также конкретные результаты, сформулированные выше.

Особенностью технологии разработки является ориентация на переиспользование существующих программных продуктов ОСПО и ОС ДЕМОС с адаптацией ряда компонентов к достаточно нетрадиционной архитектуре МВК "Эльбрус".

Автор выражает благодарность всем сотрудникам лаборатории N8 НФ ИТМиВТ АН СССР, принимавшим участие в создании системы, в особенности О.В.Мазурову, Н.Ф.Останову, И.Г.Полежаеву, И,В.Цимбалисту, без творческого труда которых успех разработки был бы невозможен, а также Б.Г.Чеблакову за постоянное внимание к работе и ряд ценных рекомендаций.

По теме диссертации опубликованы следующие работы: 1. Кулибаба ft.В. Файлы, процессы и командный язык в операционной системе UNIX. -М., 1985. -43с. -( Препринт/АН СССР. Ин-т точной механики и вычисл.техники. Ново-сиб.фил.; N7).

2. Кулибаба A.B., Останов Н.Ф., Полежаев И.Г. Реализация интерфейса ОС ДЕМОС на МВК "Эльбрус" //Всесоюзный научно -технический семинар "Диалоговая мобильная операционная система ДЕМОС": Тез.докл. - Калинин, 1986. -С.28-31.

3. Говорима Е.Е., Кулибаба A.B. Реализация языка Программирования Си на МВК "Эльбрус"/ там *е. -С.32-34.

4. Кулибаба A.B., Цимбалист И.В. Система программирования Эль-Си на тек "Эльбрус" //Всесоюэн. конф. "Методы трансляции и конструирования программ": Тез.дохл. "Новосибирск, 1988. -4.2. -С.29-31.

5. Кулибаба A.B., Чеблаков Б.Г. Основные принципы реализации системы КШИКС-ЭЛЬБРУС //Всесоюэн. научно-технический семинар "Мобильное программное обеспечение" : Тез. докл. -Калинин, 1988, ч-2, -С.14-16.

6. Кулибаба A.B. Принципы реализации универсальной операционной среды на МВК "Эльбрус". -М., 1989. -26с. -(Препринт /АН СССР. Нн-т точной механики и вычисл.техникн. Новосиб.фил.; N19).

7. Кулибаба Л.В. Свойства и особенности унифицированной пользовательской среды на МВК "Эльбрус" /Г Всесоюэн. научно-технический семинар "Семейство моделей многопроцессорных вычислительных комплексов "Эльбрус" - состояние и перспективы развития" : Тез.докл. -М., 1990, -С.40-41.