Многотерминальная дисковая операционная система. Часть 2.

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

Утилита DMP позволяет осуществлять доступ информации на физическом уровне. При этом возможно обращение по номеру блока на устройстве и от начала файла. Размер блока на устройствах прямого доступа, как и в ФОДОС, 512 байт.

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

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

Система программирования подобна той, что используется в ФОДОС, но состав языковых процессоров расширен. Кроме обычного транслятора с языка Фортран, имеется оптимизирующий транслятор FORTRAN-IV-PLUS, предназначенный для старшей модели семейства. В систему включены трансляторы с языка Кобол, APL и др. Компоновщик заменен построителем задач, выполняющим дополнительное оформление программы, чтобы придать ей черты процесса (задачи).

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

Начальная загрузка системы аналогична ФОДОС, может осуществляться с любого устройства файловой структуры.

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

Распределение памяти между задачами может быть статическим или динамическим. Динамическое распределение применяется только в моделях с диспетчером памяти. Интересной особенностью системы является то, что одновременно могут сосуществовать оба типа распределения. Тогда часть памяти, распределяемая статически, называется разделом, управляемым пользователем, а часть памяти, распределяемая динамически, — разделом, управляемым, системой. Статическое распределение чаще применяется в моделях без диспетчера памяти — без механизма переадресации. Пример такого распределения показан на рис. 6.5. В отличие от ФОДОС, ядро занимает область младших адресов. Резидентная часть EXECUTIVE занимает 12 Кбайт и транзитная — еще 4 Кбайт. Остальная часть памяти может использоваться либо как один раздел размером 40 Кбайт (например, для обрабатывающей программы), либо как подразделы (на рис. 6.5 четыре размером 12К, 12К, 12К, 4К). Всего может быть до 7 подразделов.

Статическое распределение памяти в МДОС

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

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

Динамическое создание и уничтожение сегментов позволяет уменьшить логическое пространство окон за счет переиспользования пространства, занимаемого сегментом, в рамках одной задачи.

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