Читайте также:
|
|
Переменные блокировки – процесс перед входом в критическую ситуацию непрерывно проверяет значение переменной блокировки, чтобы определить, свободен или занят ресурс.
Недостатки программного способа:
· те же что и при организации доступа к общим переменным
· если после выхода из критической ситуации процесс по какой-либо причине не установит значение переменной блокировки равным нулю, то другие процессы не смогут войти в критическую ситуацию
· непроизводительный расход времени процессора
16. Семафор – специальная переменная, имеющая целое значение и связанную с ним очередь
Операции над семафорами:
· может быть минимизирован неотрицательным значением
· операция wait уменьшает значение семафора
· операция signal увеличивает значение семафора
Для хранения процессов, ожидающих семафоры, используется очередь.
Мьютекс – переменная, которая может находиться в одном из двух состояний – блокированном и неблокированном.
Монитор – набор процедур, переменных, объединенных в особый модуль.
Основные характеристики монитора:
· локальные переменные монитора доступны только его процедурам
· процесс входит в монитор путем вызова одной из его процедур
· в мониторе может выполняться только один процесс
· любой другой процесс, который вызвал монитор, будет ждать доступности монитора
17. Классические проблемы межпроцессорного взаимодействия.
· Производителя и потребителя (ограниченного буфера) – два процесса совместно используют буфер ограниченного размера. Производитель помещает данные, потребитель считывает
Условия синхронизации:
o производитель ждет, если буфер полон
o потребитель ждет, если буфер пуст
o работать с буфером может только один процесс
· Проблема читателей и писателей – доступ процессов к разделяемой БД.
Читатели – никогда не модифицировать БД.
Писатели – могут читать и модифицировать БД.
Правила синхронизации:
o читатели могут работать параллельно, если никто из писателей не модифицирует БД
o модифицировать БД может только один писатель, когда никто не читает информацию из БД
o переменная состояния просматривает и меняет только одни процесс
· Задача об обедающих философах.
o каждый философ должен ждать пока не освободится две вилки рядом с ним
o модификация переменных состояния должна выполняться в критической секции
· Задача о спящем парикмахере.
В парикмахерской, в которой работает один парикмахер, имеется одно кресло для стрижки и несколько кресел в приемной для посетителей (3-5), ожидающих своей очереди.
o Если в парикмахерской нет посетителей, парикмахер засыпает прямо на своем рабочем месте.
o Появившийся посетитель должен его разбудить, в результате чего парикмахер приступает к работе.
o Если в процессе стрижки появляются новые посетители, они должны либо подождать своей очереди, либо покинуть парикмахерскую, если в приемной нет свободного кресла для ожидания.
· Задача о ж/д перегоне.
Железная дорога, соединяющая два города А и В, включает участок, на котором имеется только единственный путь. Движение поездов на единственном пути подчиняется следующим ограничениям:
o на свободный единственный путь может войти поезд любого направления
o пока на единственном пути находится поезд некоторого направления, на него не может войти поезд другого направления, но может войти поезд того же направления.
18. Планирование – обеспечение поочередного доступа процессов к одному процессору.
Краткосрочное планирование – решение о том, какой из доступных процессов будет выполняться процессором.
Основные критерии краткосрочного планирования:
· время оборота – интервал времени между поступлением процесса и его завершением
· время отклика – время между подачей запроса и началом получения ответа на него
· предсказуемость – данное задание должно выполняться примерно за одно и то же время
· пропускная способность – количество процессов, завершающихся за единицу времени
· использование процессора – проценты времени, в течение которого процессор занят
Стратегии краткосрочного планирования:
· первым поступил – первым обслужен
· кратчайшая задача – первая
· наименьшее оставшееся время выполнения
· трехуровневое планирование
· Циклическое (круговое) планирование (20-200 мс)
· приоритетное планирование
19. Оперативная память — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Обязательным условием является адресуемость (каждое машинное слово имеет индивидуальный адрес) памяти. Оперативное запоминающее устройство, ОЗУ — техническое устройство, реализующее функции оперативной памяти.
Внешняя память - это память, предназначенная для длительного хранения программ и данных. Целостность содержимого ВЗУ не зависит от того, включен или выключен компьютер.
Динамическая память - это оперативная память ПК, предоставляемая программе при ее работе, за вычетом сегмента данных (64 Кбайт), стека (обычно 16 Кбайт) и собственно тела программы. Размер динамической памяти можно варьировать в широких пределах. По умолчанию этот размер определяется всей доступней памятью ПК и, как правило, составляет не менее 200…300 Кбайт. Динамическая память - это фактически единственная возможность обработки массивов данных большой размерности.
Свопинг – размещение в памяти всего процесса целиком, в запуске его на некоторое время, а затем в сбросе его на диск.
Функции ОС по управлению памятью:
· отслеживание свободной и занятой памяти
· выделение памяти процессам и освобождение памяти по завершению этих процессов
· защита памяти
· настройка адресов программ
· выделение динамической памяти
· перемещение программ между оперативной и внешней памятью
Главная операция по управлению памятью – размещение программы в ОП для ее выполнения процессором.
20. Фиксированное распределение памяти.
Память распределяется на области с фиксированными границами.
Разделы одинакового размера:
· любой процесс, размеры которого не превышают размера раздела, может быть загружен в любой доступный раздел
· ОС может выгрузить процесс из любого раздела и загрузить в него другой процесс, если разделы заняты и нет ни одного процесса в состоянии готовности или работы
Недостаток – неэффективное использование ОП (маленькая программа занимает большой раздел).
Разделы разного размера:
· каждый процесс можно разместить в наименьшем разделе, способном полностью вместить данный процесс (минимизирует фрагментацию, но нужен планировщик)
· требуется очередь планировщика
Недостатки:
· количество разделов определенное в момент генерализации системы ограничивает количество активных процессов
· размеры разделов устанавливаются заранее
Дата добавления: 2015-05-05; просмотров: 16 | Поможем написать вашу работу | Нарушение авторских прав |