Операционные системы. Часть II. Обзор операционных систем. Учебное пособие [А. С. Деревянко] (pdf) читать постранично, страница - 3

-  Операционные системы. Часть II. Обзор операционных систем. Учебное пособие  1.85 Мб, 331с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - А. С. Деревянко - М. Н. Солощук

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

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

программы

пользователя

имеют

возможность

перехватывать любые – программные и аппаратные – прерывания,
пользователь имеет возможность создавать резидентные программы –
программы, которые после завершения остаются в памяти. Резидентная
программа

обычно

содержит

в

себе

обработчик

перехваченного

прерывания (например, от таймера, от клавиатуры), который выполняет
активизацию резидентной программы по этому прерыванию. И создание
резидентных
системными

программ,
вызовами

и
MS

перехват
DOS.

прерываний

После

поддерживаются

выполнения

резидентной

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

некоторое

резидентные программы в MS DOS
подобие

многозадачности.

Сохранение/восстановление контекста (регистров) прерванной программы
отчасти выполняется механизмом команд INT (программное прерывание)
и RET (возврат из прерывания), отчасти возлагается на резидентную
программу. Для полного переключения контекста резидентная программа
10

должна найти в системной области память адрес PSP прерванной
программы и заменить его на адрес своего PSP, но многие резидентные
программы этого не делают и выполняются в контексте прерванной
программы. Отметим также, что все системные вызовы MS DOS совместно
используют

только

два

стека

и,

таким

образом,

являются

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

1.3. Управление памятью
Управление памятью оперирует блоками переменной длины в
реальной памяти. Виртуальная адресация в программе – относительно
содержимого одного или нескольких сегментных регистров. Если вся
программа (код, стек, данные) помещается в пределах одного 64разрядного сегмента, то занесение реального адреса начала сегмента в
сегментные регистры производится загрузчиком MS DOS. Если же
программа многосегментная, она содержит команды загрузки сегментных
регистров, загрузчик модифицирует эти команды реальными адресами
сегментов.
Структура адресного пространства MS DOS показана на рисунке 1.2.
Программы

и

пользовательские

данные

размещаются

в

области,

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

сегментом.

Программа

в

ходе

выполнения

может

запрашивать/освобождать любое количество дополнительных блоков
памяти. Единицей распределения памяти является параграф (16 байт).
Выделяемый блок памяти всегда состоит из целого числа параграфов.
Первый параграф каждого блока содержит Блок Управления Памятью
(MCB), в котором среди прочего содержится идентификатор программы –
11

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

Рисунок 1.2 Распределение памяти в MS DOS

1.4. Ввод-вывод и файловая система
Управление вводом-выводом осуществляется драйверами устройств.
Структура

драйвера

обладает

некоторой

избыточностью,

так

как

формировалась, по-видимому, в расчете на многозадачность в будущем,
которая так и не состоялась. Драйверы загружаются и инициализируются
при загрузке системы. Обращения к драйверам унифицированы, и каждый
драйвер "умеет" выполнять лишь подмножество операций из единого для
всех драйверов набора возможных операций. Различаются драйверы
блочных (дисковых) и символьных устройств.
Логическая файловая система MS DOS обеспечивает иерархическую
структуру хранения данных в виде "леса" – отдельного дерева каталогов на
12

каждом логическом диске. Имя файла состоит из собственно имени (8
символов) и расширения (3 символа). Физическая структура хранения
данных на жестком диске показана на рисунке 1.3. Структура информации
на гибком диске соответствует структуре одного логического раздела.

Рисунок 1.3 Структура информации на диске файловой системы FAT

Первый сектор диска занимает Главная Загрузочная Запись (MBR –
Master Boot Record), которая содержит программу начальной загрузки и
таблицу разделов – информацию о разбиении