Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Концепция расширенной машины и понятие КС Аппар....docx
Скачиваний:
4
Добавлен:
22.04.2019
Размер:
103.49 Кб
Скачать
  1. Характеристика методов управления оперативной памятью в ос

Управление процессами верхнего уровня осуществляется следующим образом: --создание процесса --завершение процесса

Создание: 1) Анализ процедуры создания – создание нового независимого процесса (пользователем) 2) Выполняемы процесс создаёт новый независимый или зависимый процесс 3) Создаётся среда процесса – новый процесс наследует среду родительского процесса, а так же прибавляются элементы порождаемого процесса (к примеру, переменные окружения) . 4) Выделяются статистические ресурсы. 5) Выделение основной (оперативной) памяти. 6) Инициализация процесса (создание управляющих блоков и их наполнение) 7) Извещение операционной системы о создании процесса.

В Windows 2000 на этапе анализа создания процесса анализируется, на чём процесс создаётся (.cmd, .exe, .com,.bat) анализируется подсистема(Win32, Dos, Posix) затем запускается монитор создания. Выделение оперативной памяти в Windows процессу происходит следующим образома: часть памяти выделенной процессу занимает сам процесс, а вторую часть занимает системный процесс (его обслуживающий)

Завершение процесса: 1)Закрытие всех оставшихся открытыми файлов и закрытие всех буферов обмена. 2)Из контекста операционной среды исключаются все управляющие блоки. 3)Происходит освобождение статистических ресурсов на основе информации хранящейся в управляющих блоках. 4)Происходит освобождение памяти выделенной процессу. 6)Происходит освобождение всей управляющей информацией.

  1. Распределение оп страницами и страницами по запросу. Управляющие таблицы, стратегии свопинга

Страницами: Любая страница процесса может быть загружена в любой блок памяти.

Таблица страниц создаётся для каждого процесса. Она является таблицей выделенных блоков для процесса. Так же она позволяет обеспечить защиту памяти и позволяет вычислить истинный код процесса. Load R1, D(X,B) – эта адресация не годится для вычисления в операционной системе она должна быть переведена в другой вид (номер страницы и смещение внутри страницы). Пересчёт адреса – это задача аппаратуры (в процессе это выглядит как страница и смещение внутри страницы) .

A (B)+b=истинный исполнительный адрес где B – адрес блока (вычисляется динамически). Для исполнения одной команды процессор обращается к таблице страниц два раза таблица страниц хранятся в регистрах памяти (в ней хранятся таблицы страниц всех процессов).

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

Управляющие таблицы:

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

Номер страницы

Адрес блока

Статус

0 – страница в оперативной памяти нет

1 – страница содержится в оперативной памяти

Таблица карт файлов (карта файлов):

Номер страницы

Адрес страницы на диске

Виртуальное дисковое пространство процесса

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

Две стратегии вытеснения: FIFO – вытесняется та страница которая дольше всего находилась в памяти. LRU (Last Resantlu Used) – вытесняется та страница которая дольше всего не использовалась.

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

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

Для выделения памяти требуется: --Аппаратурная поддержка, связанная с прерыванием --Аппаратурная поддержка, связанная с LRU --Таблица карт --Управляющие таблицы