Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0626114503_03 - Конспект лекций.doc
Скачиваний:
10
Добавлен:
21.04.2019
Размер:
554.5 Кб
Скачать

Лекция №2

Регистр раздела – это регистр, в который записывают адрес начала раздела, в котором сейчас выполняется программа.

ОС

1

2

3

100

А

500

В

100

1,2,3,4

С

Таблица переменных может находиться в любом *.ехе

m ov [101], 10 3B 10 101 add ax, [150]

inc [150] asm 21 150 mov ax,20

mov ax,20 =>8A 20

add ax,[150] 43 15 150

3B 10  101 21  150 8A 20 43 15 150

0 1 2 3 4 5 6 7 8 99

1 способ: ОС направляет адреса ячеек, в соответствии с разделом.

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

Недостатки: необходимо изменять программу, увеличивается размер кода.

2 способ: Сегменты.

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

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

Преимущества: не надо править код, не надо интегрировать таблиц.

Недостатки: надо изменять аппаратуру, появление накладных расходов.

ОС

1

2

3

1,2,3,4,5…

Способы учета участков памяти.

  1. Списки (нач. длина) - списки пустых блоков

  2. Карты. Есть массив, каждый элемент которого описывает состояние одного участка, размер элемента массива.

1 алгоритм.

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

2 Алгоритм (наиболее подходящий).

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

3 Алгоритм (наименее подходящий).

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

4 Алгоритм (алгоритм двоичного разбиения).

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

8

8

16

16

32

32

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

ЛЕКЦИЯ №3

Освобождение памяти.

Виртуальная память.

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

У операционной системы должен быть доступ к внешней памяти.

Виртуальная память состоит двух уровней:

  1. уровень логических адесов

  2. уровень физических адесов

Сегментная организация

<сегмент>: смещение (логический уровень)

(сегменты: cs,ds,es,ss,fs,gs)

Алгоритм DAT (динамического преобразования памяти).

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

Если обратиться 4, а его не оказывается в памяти, то ОС генерирует прерывание специального вида, которое называется ОТАКЗ СЕГМЕНТА. ОС должна найти этот сегмент и загрузить его в ОЗУ.

Каталог таблиц – это одна таблица, содержащая 4-х байтные записи (1024 записей)

Каждая 4-х байтная запись содержит описание одной страницы, а конкретно номер страницы в памяти.

Таблица страниц имеет тот же самый формат, что и каталог.

12 бит определяют смещение внутри страницы.

Если памяти нет, то генерируется исключение ОТКАЗ СТРАНИЦЫ.