Каждая ос состоит из трех обязательных частей Ядро
Скачать 87.34 Kb.
|
Стратегии планирования процессора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. |