Какие методы решения общей задачи распределения памяти Вам известны? Как используется ассоциативная память для ускорения трансляции адресов при страничной организации?
Как определяется состояние распределения ресурсов в системе? Что такое безопасное состояние системы, безопасная последовательность процессов? Есть ли в системе тупики, если система находится в безопасном состоянии? Текущее состояние распределения ресурсов системы определяется по тому, может ли ОС обеспечить всем процессам их выполнение в течение конечного времени. Состояние безопасно, если оно не находится в тупике и существует безопасная последовательность процессов. Безопасная последовательность процессов - такая последовательность процессов, при которой каждый процесс может работать до завершения, даже если все процессы вдруг захотят немедленно получить свое максимальное количество ресурсов. В противном случае, состояние системы и последовательность процессов небезопасны. Каковы основные принципы алгоритма банкира? Какие структуры данных используются для алгоритма банкира? Алгоритм банкира - Алгоритм, использующийся для избежания взаимных блокировок. Принципы следующие: 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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|