Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Какие методы решения общей задачи распределения памяти Вам известны? Как используется ассоциативная память для ускорения трансляции адресов при страничной организации?

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

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

Состояние безопасно, если оно не находится в тупике и существует безопасная последовательность процессов.

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

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

Каковы основные принципы алгоритма банкира? Какие структуры данных используются для алгоритма банкира?

Алгоритм банкира - Алгоритм, использующийся для избежания взаимных блокировок.

Принципы следующие:

1. Ресурсы с множественными экземплярами.

2. Каждый процесс должен априорно обозначить свои потребности в ресурсах по максимуму.

3. Когда процесс запрашивает ресурс, ему, возможно, придется подождать.

4. Когда процесс получает все свои ресурсы, он должен их вернуть за ограниченный период времени.

Структуры данных:

Пусть n = число процессов; m = число типов ресурсов

1. Avaliable: Вектор длины m. Если available [j] = k, до в данный момент доступны k экземпляров ресурса типа Rj.

2. Max: Матрица n * m. Если Max [i,j] = k, то процесс Pi может запросить самое большее k экземпляров ресурса типа Rj.

3. Allocation: Матрица n *m. Если Allocation[i,j] = k, то процессу Pi в данный момент выделено k экземпляров ресурса типа Rj.

4. Need: Матрица n * m. Если Need[i,j] = k, то Pi может потребоваться еще k экземпляров Rj для завершения своей работы.

Need [i,j] = Max[i,j] – Allocation [i,j].

В чем заключается задача управления памятью? Что такое входная очередь заданий?

Основные задачи:

1. отслеживание свободной и занятой памяти;

2. выделение памяти процессам и освобождение памяти по завершении процессов;

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

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

Входная очередь заданий - последовательность процессов, работающих в один момент времени и использующих один и тот же набор ресурсов.

Что такое связывание адресов и на каких этапах обработки программы оно может выполняться? Что такое устройство управления памятью, регистр перемещения, перемещаемый код?

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

Логические и физические адресные пространства ни по организации, ни по размеру не соответствуют друг другу. Максимальный размер логического адресного пространства обычно определяется разрядностью процессора (например, 232) и в современных системах значительно превышает размер физического адресного пространства. Следовательно, процессор и ОС должны быть способны отобразить ссылки в коде программы в реальные физические адреса, соответствующие текущему расположению программы в основной памяти. Такое отображение адресов называют трансляцией (привязкой) адреса или связыванием адресов.

Адресное пространство - список адресов в памяти от некоторого минимума до некоторого максимума, которые процесс может прочесть и в которые он может писать.

Связывание адресов может быть осуществлено на этапах загрузки и выполнения программы:

1. Этап компиляции;

2. Этап загрузки;

3. Этап выполнения.

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

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

Перемещаемый код - код, который должен быть безразличен к адресу, по которому он будет загружен, чтобы сохранить работоспособность при переходе от одной системы к другой.

Перемещаемый код - программа, к которой применяются связывание адресов и регистр перемещения.

Какие методы решения общей задачи распределения памяти Вам известны? Как используется ассоциативная память для ускорения трансляции адресов при страничной организации?

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

 

Для решения данной задачи применяются следующие стратегии:

1. метод первого подходящего (first-fit);

2. метод наиболее подходящего (best-fit);

3. метод наименее подходящего (worst-fit).

Метод первого подходящего: Выбирается первый по списку свободный участок подходящего размера (не меньшего, чем n). На первый взгляд, данная стратегия оптимальна, но далее мы увидим, что это не всегда так.

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

Метод наименее подходящего: Выбирается из списка подходящая область наибольшего размера, чтобы избежать фрагментации.

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

Страничная организация – стратегия управления памятью, при которой:

1. логическая память делится на страницы – смежные области одинаковой длины, обычно – степень 2 (например, 512 слов);

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

3. распределение логической памяти происходит с точностью до страницы;

4. физическая память процесса может не быть непрерывной;

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...