Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPPO_chast3.doc
Скачиваний:
5
Добавлен:
16.04.2015
Размер:
290.3 Кб
Скачать

5. Характеристика методов планирования

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

  • создание процесса

  • завершение процесса

Создание:

1) Анализ процедуры создания – создание нового независимого процесса (пользователем)

2) Выполняемы процесс создаёт новый независимый или зависимый процесс

3) Создаётся среда процесса – новый процесс наследует среду родительского процесса, а так же прибавляются элементы порождаемого процесса (к примеру, переменные окружения) .

4) Выделяются статистические ресурсы.

5) Выделение основной (оперативной) памяти.

6) Инициализация процесса (создание управляющих блоков и их наполнение)

7) Извещение операционной системы о создании процесса.

В Windows2000 на этапе анализа создания процесса анализируется, на чём процесс создаётся (.cmd, .exe, .com,.bat) анализируется подсистема(Win32,Dos,Posix) затем запускается монитор создания.

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

Завершение процесса:

1)Закрытие всех оставшихся открытыми файлов и закрытие всех буферов обмена.

2)Из контекста операционной среды исключаются все управляющие блоки.

3)Происходит освобождение статистических ресурсов на основе информации хранящейся в управляющих блоках.

4)Происходит освобождение памяти выделенной процессу.

6)Происходит освобождение всей управляющей информацией.

  1. Характеристика методов распределения и управления основной памяти.

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

Существуют четыре этапа распределения памяти:

1)Отслеживается состояние памяти.

2)Осуществляется поддержка управляющих алгоритмов.

3)Происходит выделение памяти.

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

Выделение памяти разделами или страницами

Раздел – это непрерывный участок памяти, в котором содержится образ процесса

Страница – разрывный участок памяти, в котором содержится образ процесса

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

A1

Хотя процесс во время выполнения занимает логически не смежные участки, памяти логически они смежны.

A2

Используется концепция виртуальной памяти процесса. Образ процесса образ загрузочного модуля без таблиц размещается, без настройки по месту загрузки. Истинный адрес вычисляется динамически при исполнении каждой команды(Load R1 D(R1)).

Статистическая память делится на разделы и не меняется в процессе выполнения.

Страничное выделение памяти делится на следующие типы:

  1. Страничное

  2. Страницами по запросу

  3. Сегментное

  4. Странично – сегментное

При страничном или страницами по запросу выделении памяти все страницы равны между собой по длине.

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

При станично – сегментном выделении памяти процесс делится на сегменты загружаются сразу все страницы сегмента (страницы связаны).

Защита памяти

- с помощью маркера доступа

- используются регистры границ

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

Маркер доступа

Маркер доступа

Вся память делится блоками определённой длины. Каждый блок содержит поле (маркер или ключ) в которое записывается маркер процесса. Каждый процесс имеет индивидуальный маркер. Все блоки одного процесса имеют маркер с одинаковыми номерами.

ПСБ

Процесс

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

  1. Управление оперативной памятью с помощью динамических разделов (выделение по запросу)

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

Адрес

Раздел

Адрес

Раздел

Процесс

A1

P1

A1

P1

A1 (PCB)

A2

P2

A2

P2

A2 (PCB)

Имеются две основных стратегии упорядочивания таблиц:

  1. Если упорядочивание страниц идёт по адресу, то такая стратегия называется первой подходящей. Поиск раздела для слияния намного проще (но стратегия является не самой удачной)

  2. Самый подходящий алгоритм. Таблица упорядочена по разделам в порядке возрастания (минимальный свободный раздел в котором можно породить новый процесс). При каждом новом выделении памяти процессу будет происходить переупорядочивание таблицы.

Проблема фрагментации памяти: память разбивается на множество мелких разделов.

Блок управления памятью (MCB) – 16 байт, 5 – первых значимые

1 байт

Program Control Block (Dos PSP ). Адрес – 2 байта

Размер области памяти в параграфах (2 байта)

Функции для работы с блоками:

  1. Get Block – получить блок

  2. Free Block – освободить блок

  3. Set Block – изменить размер блока

В данном случае нет никакой защиты блоков.

  1. Страничное распределение оперативной памяти (статический метод) – выделение памяти не смежными областями.

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

Страница 1

Блок 1

Страница 2

Блок 2

Страница K

Блок K

Является таблицей выделенных блоков для процесса.

Страница

Блок

1

2

n

n

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

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

Пересчёт адреса – это задача аппаратуры (в процессе это выглядит как страница и смещение внутри страницы) .

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

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

Центральный процессор

(P,B)

b

*

Страница 1

*

P<=N

блок

Количество - N

PF1

Страница n-2

Адрес таблицы страниц

Да +

PF2

Истинный адрес страницы

Страница n-1

Страница n

A (блок2)

1

A(блок1)

2

Без прерывания

A(блок3)

3

A(блок4)

4

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

  1. Свободных и занятых блоков – одна на всю систему (для выделения памяти процессам).

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

  1. Управление оперативной памятью страницами по запросу.

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

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

Адрес блока

Статус

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

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

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

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

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

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

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

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

  1. Не страницу выполняемого процесса.

  2. Надо ли записывать станицу на диск или нет.

Две стратегии вытеснения:

  1. FIFO – вытесняется та страница которая дольше всего находилась в памяти.

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

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

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

Для выделения памяти требуется:

  1. Аппаратурная поддержка, связанная с прерыванием

  2. Аппаратурная поддержка, связанная с LRU

  3. Таблица карт

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

  1. Операционная память в Windows. Основные принципы.

В операционной системе используется четырех гигабайтное адресное пространство. Всё адресное пространство делится (пополам или в отношении 1/3) на две области – пользовательское (2/3) пространство и пространство операционной системы (1/3).

Четырёх гигабайтное адресное пространство – просто модель. Область в пользовательской области выделяется процессу в монопольное пользование. Пространство операционной системы – одинаково для всех процессов. Все разделы в пользовательском процессе могут быть вытеснены. Разделы операционной системы не вытесняемы.

Адресация происходит парой (p,b)

32 – битовый адрес

Ic – 10 бит

It – 20 бит

Ib – 2 бита

Одна страница занимает четыре килобайта.

Таблица страниц разбита на два уровня. Максимально возможно иметь 512 элементов (каждый по 1024 килобайта).

PTE – элемент таблицы страниц. Дескриптор, описывающий страницу.

PTEa – дескриптор активной страницы (физически в операционной системе статус равен единице)

PTEn – недействительна та страница которой нет (должна быть загружена)

PTEs – системная (ссылка на разделённую страницу). Ссылка на другую таблицу страниц.

(Ip, Ie, It, Ib) – два уровня (четыре элемента).

2 - бита

9 - бит

9 - бит

12 - бит

  1. Поддержка в Windowsраспределения оперативной памяти страницами по запросу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]