Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Диспетчеризация процессов




Приоритеты в вычислительных системах

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

Для систем без приоритетов характерно то, что все процессы в этой системе равноправны. Выполнение процессов происходит в порядке очереди. Процесс, стоящий в очереди, не будет обслужен до тех пор, пока не прекратится выполнение предыдущего.

Системы с относительными приоритетами функционируют следующим образом. Если в систему поступает приоритетный процесс, то он будет принят к обслуживанию после окончания выполнения неприоритетного процесса, даже если в очереди находятся неприоритетные процессы. Если в систему поступает несколько приоритетных процессов, то они обслуживаются в порядке очереди, при этом система игнорирует неприоритетные процессы.

Для систем с абсолютными приоритетами характерно то, что при поступлении приоритетного процесса прерывается выполнение неприоритетного (в системах с относительными приоритетами такого не происходит). На организации абсолютных приоритетов основано функционирование систем реального времени и многорежимных систем.

В современных ОС каждому из процессов присваивается приоритет. Планировщик выбирает для выполнения следующий процесс, находящийся в состоянии READY, в соответствии с его приоритетом. Для выполнения выбирается процесс с наивысшим приоритетом. Остальные процессы приостановлены или заблокированы.

Для управления процессами в многозадачной системе необходима их диспетчеризация. Чтобы удовлетворить потребность различных приложений, современные ОС предлагают три метода диспетчеризации: FIFO; карусель; адаптивный.

Каждый процесс в системе может выполняться, используя любой из этих методов. Они действуют применительно к каждому отдельному процессу, а не применительно ко всем процессам на узле.

Данные методы диспетчеризации применимы, только когда два или более процесса с одинаковым приоритетом находятся в состоянии READY (т.е. эти процессы непосредственно конкурируют друг с другом). Если процесс с более высоким приоритетом переходит в состояние READY, то он немедленно вытесняет все процессы с более низким приоритетом.

При FIFO диспетчеризации процесс продолжает выполнение, пока не наступит момент, когда он: добровольно уступает управление (т.е. выполняет любой вызов ядра); вытесняется процессом с более высоким приоритетом.

Два процесса, которые выполняются с одним и тем же приоритетом, могут использовать метод FIFO для организации взаимоисключающего доступа к разделяемому (т.е. совместно используемому) ресурсу. Ни один из них не будет вытеснен другим во время своего выполнения. Так, например, если они совместно используют сегмент памяти, то каждый из этих двух процессов может обновлять данные в этом сегменте, не прибегая к использованию какого-либо способа синхронизации (например, семафора).

При карусельной диспетчеризации процесс продолжает выполнение, пока не наступит момент, когда он: добровольно уступает управление (т.е. блокируется); вытесняется процессом с более высоким приоритетом; использовал свой квант времени (timeslice).

Квант времени – это интервал времени, выделяемый каждому процессу. После того, как процесс использовал свой квант времени, управление передается следующему процессу, который находится в состоянии READY и имеет такой же уровень приоритета. За исключением квантования времени, карусельная диспетчеризация идентична FIFO-диспетчеризации.

При адаптивной диспетчеризации процесс ведет себя следующим образом:

1. Если процесс использовал свой квант времени (т.е. он не блокировался), то его приоритет уменьшается на 1. Это получило название снижение приоритета (priority decay). Учтите, что "пониженный" процесс не будет продолжать "снижаться", даже если он использовал еще один квант времени и не блокировался - он снизится только на один уровень ниже своего исходного приоритета.

2. Если процесс блокируется, то ему возвращается первоначальное значение приоритета.

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

Адаптивная диспетчеризация является методом диспетчеризации, использующимся по умолчанию для программ, запускаемых командным интерпретатором.




Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 1282; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.