На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Многофункциональная операционная система, поддерживающая виртуальную память для 32-разрядных ЭВМ

Статья опубликована в выпуске журнала № 4 за 1988 год.
Аннотация:
Abstract:
Авторы: Егоров Г.А. () - , Остапенко Г.П. () - , Столяр Н.Г. () - , Шапошников В.А. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 11855
Версия для печати

Размер шрифта:       Шрифт:

Вычислительный комплекс СМ1700 на базе 32-разрядной ЭВМ является развитием широко применяемых 16-разрядных ЭВМ (СМ1420.СМ1600) с интерфейсом «Общая шина». ВКСМ1700 характеризуется более высокой производительностью, надежностью и гибкой проблемной ориентацией за счет более эффективной архитектуры и элементной базы.

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

•     управляющая программа, которую составляют подсистемы ввода-вывода и управления памятью, программа-планировщик, программы системного обслуживания, а также структуры данных, необходимые для функционирования системы;

•     система управления данными (СУД-32), реализующая процедуры ввода-вывода для файлов на внешних устройствах;

•     интерпретаторы команд оператора, позволяющие работать с операционной системой с терминала; МОС ВП имеет стандартные интерпретаторы — DCL и MCR, а также средства разработки собственных интерпретаторов;

•     набор системных обслуживающих программ;

•     системы программирования;

•     средства разработки программ пользователя.

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

Процесс, образ, задание

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

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

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

Пользователь может создавать процессы, выполняющиеся в интерактивном и пакетном режимах. Интерактивный процесс создается при регистрации пользователя в системе. Процесс, выполняющийся в пакетном режиме, можно создать, используя стандартный интерфейс пользователя с операционной системой.

Управление памятью

Виртуальное адресное пространство процесса включает собственно пространство процесса и пространство системы. Пространство процесса состоит из двух областей — программной области (РО) и управляющей области (PI). В области РО располагается выполняемый образ. В области PI резервируется пространство для хранения информации, необходимой при выполнении образа. Здесь размещаются, например, пользовательский стек, буфера ввода-вывода, таблицы символов отладчика интерпретатора команд. Пространство системы включает ядро операционной системы МОС ВП. Адресное пространство — виртуальное и физическое — разбивается операционной системой на страницы емкостью 512 байтов.

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

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

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

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

Планирование процессов

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

Конкуренция процессов в системе основана на приоритетах. Каждому процессу назначается приоритет от 0 до 31. Младшие значения приоритетов (0-И 5) назначаются обычным процессам, а старшие (26-^31) — процессам реального времени.

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

■  другой процесс с высшим.приоритетом становится выполняемым,

■  процесс перешел в состояние ожидания;

■  истек текущий квант времени.

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

•     текущий процесс (CUR) является единственным в системе, который в данный момент времени занимает ЦП;

•     готовые к выполнению процессы, находящиеся в оперативной памяти (СОМ) или на диске (СОМО).

Для процессов, находящихся в состояниях СОМ и СОМО, формируется по 32 очереди соответственно уровням приоритетов процессов — процессы, ожидающие какого-либо системного ресурса или события (всего 11 состояний).

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

Организация ввода-вывода

Основными компонентами ввода-вывода являются: система управления данными (СУД-32); модули управляющей программы, реализующие процедуру системного обслуживания запроса ввода-вывода QIO; вспомогательные управляющие файловые процессы и драйверы устройств. Система управления данными дает возможность пользователю работать с файлами на внешних устройствах. Эта система состоит из набора подпрограмм, обращение к которым выполняется либо неявно в программах на языках программирования высокого уровня, либо явно с использованием стандартных макрокоманд (в программах на макроассемблере).

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

СУД-32 реализует логический уровень ввода-вывода (ориентированный на обработку файлов и записей), на котором выполняются операции, не зависимые от конкретного внешнего устройства. Процедура обслуживания QIO реализует самый нижний, доступный пользователю физический уровень ввода-вывода (ориентированный на обработку томов и блоков). Она может быть вызвана из программы пользователя или явно, или неявно средствами системы управления данными. Обработка системой запроса QIO заканчивается вызовом драйвера устройства-программы, непосредственно выполняющей операцию ввода-вывода на устройстве.

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

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

Режим совместимости

МОС ВП обеспечивает режим совместимости с ОС РВ. Процессор СМ1700 может работать в двух режимах: базовом — исполняется набор инструкций собственно СМ1700, и в режиме совместимости — процессор выполняет набор инструкций ЭВМ СМ1420. Таким образом, под управлением МОС ВП может быть выполнен образ задачи, подготовленный в ОС РВ. Переключение процессора в режим совместимости будет осуществлено операционной системой в момент активизации образа. Интерфейс пользователя с операционной системой в режиме совместимости осуществляется посредством программной эмуляции среды ОС РВ. При попытке обращения пользователя из программы, выполняющейся в режиме совместимости, к операционной системе ОС РВ возникает аппаратное прерывание, которое вызывает автоматический переход в базовый режим. Работая в базовом режиме, МОС ВП выполняет необходимые операции по обслуживанию запроса пользователя и возвращению в режим совместимости для продолжения работы программы.

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

Установка и инициация системы

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

Установка заменяет для МОС ВП очень трудоемкую процедуру генерации операционной системы ОС РВ для 16-разрядных СМ ЭВМ.

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

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

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

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

Инициализация системы после загрузки ядра осуществляется модулем ядра операционной системы INIT и специальным процессом SYSINIT, который активизирует аппаратуру контроллера памяти и устанавливает содержимое системных структур данных. INIT открывает системные файлы: выгрузки / страничного обмена, порождает системные процессы, включая выполнение начальной командной процедуры.

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

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

Под управлением МОС ВП функционируют ФОРТРАН, КОБОЛ, Паскаль, БЕЙСИК, Си, ПЛ/1, Моду-ла-2, КОРАЛ, Лисп, Пролог, Ада.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=1491&lang=
Версия для печати
Статья опубликована в выпуске журнала № 4 за 1988 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: