Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Семафоры - переменные для подсчета сигналов запуска, сохраненных на будущее.
Были предложены две операции down и up (аналоги sleep и wakeup).
Прежде чем заблокировать процесс down проверяет семафор, если он равен нулю, то он блокирует процесс, если нет, то процесс снова становится активным, и уменьшает семафор на единицу.
up увеличит значение семафора на 1 или разблокирует процесс, находящийся в ожидании..
down уменьшает значение семафора на 1 или блокирует процесс, если семафор =0.
down и up выполняются как элементарное действие, т.е. процесс не может быть блокирован во время выполнения этих операций. Значит, у операционной системы должен быть запрет на все прерывания, и перевод процесса в режим ожидания.
Решение проблемы переполненного буфера с помощью семафора
Применим три семафора:
full - подсчет заполненных сегментов (в начале = 0)
empty - подсчет пустых сегментов (в начале = количеству сегментов)
mutex - для исключения одновременного доступа к буферу двух процессов. (в начале = 1)
Мьютекс упрощенная версия семафора, он управляет доступом к ресурсу. Показывает, блокирован или нет ресурс.
Решение проблемы переполненного буфера с помощью семафора
Применение семафоров для устройств ввода/вывода
Для устройств ввода/вывода семафор выставляется равный нулю. После запуска управляющего процесса выполняется down процесс блокируется. Когда нужно активизировать процесс управления, выполняется up.
Лекция 6. Планирование процессов
6.1 Основные понятия планирования процессов
Планирование - обеспечение поочередного доступа процессов к одному процессору.
Планировщик - отвечающая за это часть операционной системы.
Алгоритм планирования - используемый алгоритм для планирования.
Ситуации, когда необходимо планирование:
Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или завершает работу.
Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление планировщику.
Необходимость алгоритма планирования зависит от задач, для которых будет использоваться операционная система.
Основные три системы:
Задачи алгоритмов планирования:
Планирование в системах пакетной обработки
6.2.1 "Первый пришел - первым обслужен" (FIFO - First In Fist Out)
Процессы ставятся в очередь по мере поступления.
Преимущества:
Недостатки:
6.2.2 "Кратчайшая задача - первая"
Нижняя очередь выстроена с учетом этого алгоритма
Преимущества:
Недостатки:
Дата публикования: 2014-11-04; Прочитано: 399 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!