Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Применение семафоров для устройств ввода/вывода
Для устройств ввода/вывода семафор выставляется равный нулю. После запуска управляющего процесса выполняется down, и т.к. семафор равен нулю, процесс блокируется. Когда нужно активизировать процесс управления, выполняется up. 4.1 Основные понятия планирования процессов Планирование - обеспечение поочередного доступа процессов к одному процессору. Планировщик - отвечающая за это часть операционной системы. Алгоритм планирования - используемый алгоритм для планирования. Ситуации, когда необходимо планирование: 1. Когда создается процесс 2. Когда процесс завершает работу 3. Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д. 4. При прерывании ввода/вывода. Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или завершает работу. Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление планировщику. Необходимость алгоритма планирования зависит от задач, для которых будет использоваться операционная система. Основные три системы: 1. Системы пакетной обработки - могут использовать неприоритетный и приоритетный алгоритм (например: для расчетных программ). 2. Интерактивные системы - могут использовать только приоритетный алгоритм, нельзя допустить чтобы один процесс занял надолго процессор (например: сервер общего доступа или персональный компьютер). 3. Системы реального времени - могут использовать неприоритетный и приоритетный алгоритм (например: система управления автомобилем). Задачи алгоритмов планирования: 1. Для всех систем 2. Системы пакетной обработки 3. Интерактивные системы 4. Системы реального времени Планирование в системах пакетной обработки 4.2.1" Первый пришел - первым обслужен" (FIFO - First In Fist Out) Процессы ставятся в очередь по мере поступления. Преимущества: o Простота o Справедливость (как в очереди покупателей, кто последний пришел, тот оказался в конце очереди) Недостатки: o Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода. 4.2.2 " Кратчайшая задача - первая" Нижняя очередь выстроена с учетом этого алгоритма Преимущества: o Уменьшение оборотного времени o Справедливость (как в очереди покупателей, кто без сдачи проходит в перед) Недостатки: o Длинный процесс занявший процессор, не пустит более новые краткие процессы, которые пришли позже. Наименьшее оставшееся время выполнение Аналог предыдущего, но если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса. Планирование в интерактивных системах 4.3.1 Циклическое планирование Самый простой алгоритм планирования и часто используемый. Каждому процессу предоставляется квант времени процессора. Когда квант заканчивается процесс переводится планировщиком в конец очереди. При блокировке процессор выпадает из очереди. Пример циклического планирования Преимущества: o Простота o Справедливость (как в очереди покупателей, каждому только по килограмму) Недостатки: o Если частые переключения (квант - 4мс, а время переключения равно 1мс), то происходит уменьшение производительности. o Если редкие переключения (квант - 100мс, а время переключения равно 1мс), то происходит увеличение времени ответа на запрос. 4.3.2 Приоритетное планирование Каждому процессу присваивается приоритет, и управление передается процессу с самым высоким приоритетом. Приоритет может быть динамический и статический. Динамический приоритет может устанавливаться так: П=1/Т, где Т- часть использованного в последний раз кванта Если использовано 1/50 кванта, то приоритет 50. Если использован весь квант, то приоритет 1. Т.е. процессы, ограниченные вводом/вывода, будут иметь приоритет над процессами ограниченными процессором. Часто процессы объединяют по приоритетам в группы, и используют приоритетное планирование среди групп, но внутри группы используют циклическое планирование. Приоритетное планирование 4-х групп Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 688; Нарушение авторского права страницы