Требования к ОС. Синхронизация процессов в ОС. . Алгоритмы распределения времени процессора в ОС. Управление процессами – верхний уровень. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Требования к ОС. Синхронизация процессов в ОС. . Алгоритмы распределения времени процессора в ОС. Управление процессами – верхний уровень.

Поиск

Требования к ОС

· Надежность

· Защита информации

· Отказоустойчивость

· Гибкость

· Открытость

· Эргономичность

32. Синхронизация процессов в ОС.

У каждого ресурса есть свой диспетчер, который:

· отслеживает состояние ресурса (свободен/занят)

· поддерживает алгоритм и стратегию выделения ресурса

· выделяет ресурс (организует очередь)

· освобождает ресурс

Состояние ресурса хранится в управляющей таблице. Для синхронизации ресурсов и организации очереди используется семафор (поле, где хранится некоторое число, изначально S=1).

Алгоритм диспетчера по обработке запросов на использование ресурса P(S):

S=S-1                                                                                                                              

if (S < 0)

процессàочередь ; тогда абсолютное значение S – количество процессов в очереди

else

выделить ресурс процессу

Освобождение ресурса процессом – V(S):

S=S+1

if (S <= 0)

разблокировать первый ждущий процесс

В Windows 2000 каждый процесс содержит в себе диспетчер процессов. Возникает проблема синхронизации диспетчеров. Несколько системных процессов имеют доступ к семафорам и управляющей таблице. Для них имеется еще один управляющий элемент, который либо разрешает (0), либо запрещает (1) доступ системного процесса к управлению ресурсами. Работа с битами осуществляется командой TestAndSet.

33. Алгоритмы распределения времени процессора в ОС. Управление процессами – верхний уровень.

Готовый процесс имеет все ресурсы, кроме процессора. Активный процесс может быть только один. Готовые процессоры организуют очередь, и при освобождении CPU диспетчер процессора запускает следующий процесс. Этому процессу выделяется квант времени работы с CPU. После этого он может либо завершиться, либо перейти в очередь готовых, либо стать заблокированным, если ему нужен недоступный ресурс.


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

A. Создание процесса (верхний уровень)

· Выделение ОП

· Выделение статических ресурсов

· Создается PCB

· Создается образ процесса

· Программа загружается в память

· PCB включается в очередь

B. Выбор процесса, которому предоставляется время CPU

Из очереди готовых процессов выбирается один активный (если один CPU).

C. Завершение процесса (верхний уровень)

· Закрываются все открытые файлы

· Освобождается память

· Освобождаются статические и динамические ресурсы

· Уничтожается PCB (при этом виртуальные устройства связываются с физическими)

D. Процесс ждет ресурса

E. Процесс освобождает ресурс

F. Ожидание объектов синхронизации.

Правило построения очереди готовых процессов. (При “В” какой квант времени ему предоставляется.)

(q это квант времени)

I. FIFO (First-in First out). Кто первым пришел, тот первым и обслуживается (q = ¥).

II. Круговорот (RR - Round Robin). FIFO, q = const. Удобно при равноправных процессах.

III. Алгоритм приоритетного планирования времени CPU (PPA). Процессы делятся на системные и пользовательские. Каждый процесс имеет приоритет. Приоритет влияет на положение в очереди, а не на квант времени. Маленькие процессы вперед. Здесь процесс с низким приоритетом может никогда не выполниться (q = любой).

IV. Круговорот со смещением (SRR - Shift RR). Каждому процессу присваивается диспетчерский приоритет, но он используется не для очереди готовых процессов (это по FIFO), а для назначения кванта времени (чем выше приоритет, тем быстрее идет процесс). Это круговорот со смещением FIFO, но квант времени пропорционален приоритету. Это обеспечивает выполнение процесса в любом случае, q = f(приоритет).

V. Алгоритм очереди с обратной связью (Feed Back Queue Algorithm). STF (Short Time First) – высокий приоритет назначается коротким программам. Чем меньше времени остается до завершения, тем больше приоритет.

VI. Алгоритм использования очередей с обратной связью (FBQUA). Первоначально процесс попадает в первую очередь. Процесс попадает в каждую очередь определенное число раз, а потом переходит в следующую очередь, если не завершился. Автоматически дается преимущество коротким процессам. Очереди также строятся по принципу FIFO.

В Windows используется вытесняющее планирование:

1. Диспетчерский приоритет может меняться

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



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 44; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.)