Операционные системы2.pptx
- Количество слайдов: 19
Операционные системы Тема 4: общая теория развития ОС
Управление процессором Процессор – ресурс, используемый для выполнения программ Процесс – отдельное выполнение программы Процесс – объект, которому может быть выделен процессор Фактический процессор – аппаратная часть компьютера Виртуальный процессор – физически не существует, связывается с каждым процессом Распределение процессора - на одном фактическом процессоре «одновременно» выполняется несколько программ
Состояние процессов • Исполнение • Готовый к исполнению • Заблокированный
Выход из состояния выполнения: Ø Процесс завершился Ø Процесс блокирует сам себя, создав запрос на ожидание события Ø Процесс снимается с фактического процессора управляющей программой по причине: • Окончание выделенного времени • Появление П. с более высоким приоритетом • Истек квант времени в time-share OS
Планирование и деспетчеризация • Планирование – выбор программы на исполнение (осущ. 1 -н раз при загрузке программы) выделяются все ресурсы кроме фактич. Процессора. • Диспетчеризация – выделение фактического процессора готовому к выполнению процессу.
Определение приоритета 1. Время создания программы 2. Время появления работы, вызывающей данный процесс 3. Заказанное время обслуживания 4. Использованное время обслуживания 5. Время в течении которого процесс не обслуживался 6. Объем и виды других ресурсов.
Стратегии диспетчеризации*: • Стратегия First-Come-First-Served (обслуживание в порядке поступления) – наиболее простая стратегия диспетчеризации, при которой ресурсы процессора предоставляются процессам в порядке их поступления (ввода) в систему, независимо от потребляемых ими ресурсов, в частности, от заявленного процессом времени, требуемого для его выполнения. *при планировании используются те же стратегии, что и при диспетчеризации
Стратегии диспетчеризации: Стратегия Shortest Job First (SJF, обслуживание самого короткого задания первым) – стратегия диспетчеризации процессора, при которой процессор предоставляется в первую очередь наиболее короткому процессу из имеющихся в системе. В данном случае с каждым процессом связывается длина его очередного периода активности. Эта длина используется для того, чтобы первым обслужить самый короткий процесс. Возможны две схемы применения данной стратегии: • Без прерывания процессов – пока процессу предоставляется процессор, он не может быть прерван, пока не истечет его квант времени. • С прерыванием процессов – если приходит новый процесс, время активности которого меньше, чем оставшееся время активного процесса, прервать активный процесс. Эта схема известна под названием Shortest. Remaining-Time-First (SRTF). Нетрудно видеть, что стратегия SJF оптимальна, в том смысле, что она обеспечивает минимальное среднее время ожидания для заданного набора процессов
Стратегии диспетчеризации: Стратегия Round Robin (RR, круговая система) – это предоставление всем процессам по очереди одинаковых квантов времени. Название стратегии происходит от названия популярной в США карточной игры. При данной стратегии каждый процесс получает небольшой квант процессорного времени, обычно – 10 -100 миллисекунд. После того, как это время закончено, процесс прерывается и помещается в конец очереди готовых процессов.
Диспетчеризация с несколькими очередями: Процессы делятся на классы: • Реального времени • Интерактивные • Пакетные Для каждого типа процесса создается своя очередь
Статическая связь очереди и процесса Процесс не может переходить из одной очереди в другую. Для каждой очереди – свой диспетчерский приоритет.
Динамическая связь Во время исполнения информация о каждом процессе может дополняться и использоваться для изменения приоритета процесса.
Гарантия обслуживания • Гарантия обслуживания – жесткое требование при диспетчеризации – гарантированное завершение процесса к указанному времени.
Способы гарантии обслуживания • Выделить min долю процессорного времени нек. Классу процессов, если один из процессов этого класса готов к исполнению • Выделить min долю проц. Времени конкретному процессу • Выделить столько времени конкретному процессу, чтобы он гарантировано завершил свои действия к сроку.
Прерывание • Прерывание (англ. interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код • Прерывание – это навязанное программой передача управления на команду, отличную от той, что сейчас выполняется.
Последовательность действий при обработке прерываний: 1. По нек. Фиксированному адресу задаются характеристики прерывания 2. Запоминается состояние прерванного процесса 3. В счетчик команд заносится фиксированный адрес, уникальный для каждого прерывания 4. Обработка прерывания 5. Возобновление прерванного процесса
Управление процессами Процессы бывают: • Параллельные • Последовательные Параллельные могут быть независимыми и взаимосвязанными. Взаимосвязанные обмениваются информацией и проблема здесь – синхронизация. Простейшее средство синхронизации – семафор.
Операционные системы2.pptx