Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_OS.docx
Скачиваний:
4
Добавлен:
24.09.2019
Размер:
63.23 Кб
Скачать

8. Планирование и диспетчеризация процессов. Стратегии планирования.

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

Планирование - это организация процессов в некоторую последовательность, согласно заданной стратегии.

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

3 уровня планирования:

  1. Долгосрочное планирование - выбор процесса на запуск системы.

  2. Краткосрочное планирование (диспетчеризация) - определяет поведение системы в ближайшее время вплоть до нескольких тиков таймера.

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

Вытесняющее планирование – в системе есть возможность возврата процесса из выполнения непосредственно в готовность.

Невытесняющее планирование – из выполнения можно перейти только в ожидание.

Планирование производится в вынужденных и не вынужденных случаях:

  1. Выполняющийся процесс завершил работу и покинул систему

  2. Выполняющийся процесс перешел в состояние ожидания

  3. Поступление нового процесса в очередь готовности

  4. Окончание кванта времени выполняющегося процесса

Невытесняющее планирование - только в вынужденных случаях.

Диспетчеризация – поочередное выделение планировщиком операционной система процессам квантов процессорного времени.

9. Планирование в системах пакетной обработки данных. Дисциплины fcfs, sjn, snr.

Используются следующие алгоритмы:

FCFS(первым пришел первым обслужился)

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

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

Достоинства: Простота реализации

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

SJN( Shortest Job Next)

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

Алгоритм близок к оптимальному

Недостатки:

Нереализуем, поскольку в момент выбора процесса из очереди неизвестно сколько времени этому процессу в будущем понадобиться для выполнения.

SRN( Shortest remain next)

Модификация алгоритма SJN c вытеснением выполняющегося процесса в случае поступления в систему нового процесса ,которому необходимо для выполнения меньше времени, чем осталось выполниться текущему.

Достоинства:

За счет возможности вытеснения короткие процессы не будут ждать долго независимо от момента поступления в систему.

Недостатки:

Нереализуем, поскольку в момент выбора процесса из очереди неизвестно сколько времени этому процессу в будущем понадобиться для выполнения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]