Главная страница

Каждая ос состоит из трех обязательных частей Ядро


Скачать 87.34 Kb.
НазваниеКаждая ос состоит из трех обязательных частей Ядро
Дата25.01.2023
Размер87.34 Kb.
Формат файлаdocx
Имя файла2c8f101c555a708bfb53c3375126969f.docx
ТипДокументы
#904650
страница4 из 8
1   2   3   4   5   6   7   8

Стратегии планирования процессора


1. Первый пришел - первый обслуживается. Процессор передается тому процессу, который раньше всех других его запро­сил. Среднее время ожидания для этой стратегии часто весьма ве­лико и зависит от порядка поступления процессов в очередь гото­вых процессов.

2. Стратегия «наиболее короткая работа выполняется первой». Стратегия, позволяющая короткому процессу из очереди вы­полняться первым. Снижается время ожидания очереди. Наибольшая трудность в практической реализации этой стратегии заключается в невозможности заранее определить величину времени последую­щего обслуживания.

3. Приоритетное планирование. Описанные ранее стратегии мо­гут рассматриваться как частные случаи стратегии приоритетного планирования. Эта стратегия предполагает, что каждому процессу приписывается приоритет, определяющий очередность предоставления ему ЦП. Обычно приоритет – это целое положительное число, находящееся в некотором диапазоне, например от 0 до 7 или от 0 до 1024. Будем считать, что чем меньше значение числа, тем выше приоритет процесса. Приоритеты назначаются, исходя из совокупности внутренних и внешних по отношению к операционной системе факторов.

Внутренние факторы: требования к памяти, количество открытых файлов, отношение среднего времени ввода-вывода к среднему времени использования ресурсов ЦП и так далее. Внешние факторы: важность процесса, тип и величина файлов, используемых для оплаты, отделение, выполняющее работы, и так далее.

Внутренние факторы могут использоваться для автоматического назначения приоритетов самой ОС, а внешние для принудительного, с помощью оператора.

Главный недостаток приоритетного планирования заключается в возможности блокирования на неопределенно долгое время низкоприоритетных процессов. Известен случай, когда в 1973 году в Массачусетском институте при остановке компьютера IBM 7094 в очереди готовых процессов были обнаружены процессы, представленные в 1967 году и все еще не выполненные.

4. «Карусельная» стратегия планирования – применяется в системах разделения времени. Процессы циклически перемещаются по очереди, получая ЦП на время, равное одному кванту. Новый процесс добавляется в хвост очереди. Если процесс не завершился в пределах выделенного ему кванта времени, его работа принудительно прерывается, и он перемещает­ся в хвост очереди.

5. Планирование с использованием многоуровневой очереди. Эта стратегия разработана для ситуа­ции, когда процессы могут быть легко классифицированы на не­сколько групп, например часто процессы разделяют на две группы: интерактивные (процессы переднего плана) и пакетные (фоновые). Стратегия многоуровневой очереди разделяет очередь готовых процессов на несколько очередей, в каждой из которых находятся процессы с одинаковыми свойствами. Взаимодействие очередей осуществляется по следующим прави­лам: ни один процесс с более низким приоритетом не может быть запущен, пока не выполнятся процессы во всех очередях с более высоким приоритетом. Работа процесса из очереди с более низким приоритетом может быть приостановлена, если в одной из, очередей с более высоким приоритетом появился процесс.

6. Использование многоуровневой очереди с обратными связями. Обычная многоуровневая очередь не допускает перемещения процессов между очередями. Многоуровневая очередь с обратными связями предполагает, что процессы при определенных условиях могут перемещаться между очередями. Данная система наиболее быстро обслуживает все короткие по времени обслуживания запро­сы. Недостаток системы заключается в затратах времени на переме­щение запросов из одной опереди в другую. Данная стратегия является универсальной и сочетает в себе свойства всех рассмотренных раньше стратегий.

7. Приоритетная многочередная дисциплина обслуживания. Вновь поступающие в систему запросы устанавливаются не обязательно в 1-ю очередь, а в очередь в соответствии с имею­щимися приоритетами, которые определяются параметрами обслу­живания процессов.

Прерывания

Аппаратные прерывания

На уровне аппаратных средств, поддерживающих MS-DOS, есть система прерываний от аппаратных средств, каждое из которых ассоциировано с конкретным устройством. Каждое устройство, ожидающее обслуживания процессором, посылает контроллеру прерываний, который планирует обработку прерываний, запрос на прерывание. Каждое устройство имеет некоторый приоритет. Устройство с высшим приоритетом первым получает доступ к процессору раньше менее важных устройств. Когда контроллер прерываний решает, что прерывание может быть обработано, он посылает на устройство сообщение "подтверждение приема прерывания", блокирует все остальные прерывания и генерирует прерывание. В ответ на конкретное аппаратное прерывание, процессор ищет адрес обработки прерывания в таблице векторов прерываний (IVT). Эта таблица занимает 256 двойных слов (1024 байта) памяти. Каждая ее строка содержит адрес подпрограммы обработки прерывания (ISR).

Процессор запоминает текущие флаги и программный счетчик (CS:IP) и начинает обслуживание прерывания. ISR делает все необходимое для обслуживания прерываний. В некоторый момент ISR посылает сообщение о конце прерывания (EOI) контроллеру 8259, означающее, что он готов принять запрос на обслуживание следующего прерывания. Контроллер прерываний не будет принимать прерывания от этого или других устройств с более низким приоритетом, пока не получит этого сообщения. После того, как ISR сделала свою работу, она выполняет команду IRET, которая восстанавливает флаги и первоначальный CS:IP.
1   2   3   4   5   6   7   8


написать администратору сайта