Планиране на процеси

11
Операционни системи, М. Филипова Планиране на процеси гл. ас. Моника Филипова ФМИ, Катедра Изчислителни системи

description

Планиране на процеси. гл. ас. Моника Филипова ФМИ, Катедра Изчислителни системи. Съдържание. Нива на планиране Цели на планирането Дисциплини за планиране FCFS (First-Come-First-Served) SJF (Shortest-Job-First) SRT (Shortest-Remaining-Time) Циклична дисциплина или RR (Round-Robin) - PowerPoint PPT Presentation

Transcript of Планиране на процеси

Операционни системи, М. Филипова 1

Планиране на процеси

гл. ас. Моника ФилиповаФМИ, Катедра Изчислителни системи

Операционни системи, М. Филипова 2

Съдържание Нива на планиране Цели на планирането Дисциплини за планиране

– FCFS (First-Come-First-Served)– SJF (Shortest-Job-First)– SRT (Shortest-Remaining-Time)– Циклична дисциплина или RR (Round-Robin) – Дисциплини с няколко опашки

Планиране на процесите в UNIX Планиране на процесите в MINIX

Операционни системи, М. Филипова 3

Нива на планиране При наличие на много заявки за използване на определен

ресурс, вземането на решение коя от тях да бъде удоволетворена се нарича планиране.

Планиране на заданията Решава кое от чакащите задания да бъде заредено в системата

и да се създадат процеси за него. Планиране

Планировчикът на това ниво определя кой от готовите процеси да бъде избран за текущ и колко време да работи.

Планиране на свопинга Планировчикът управлява изхвърлянето на процеси на диска в свопинг областта и обратното им връщане в ОП.

Операционни системи, М. Филипова 4

Цели на планирането Справедливост

Времето на ЦП да се разпределя справедливо между процесите. Ефективност

По-голяма част от времето на ЦП да се използва за изпълнение на потребителски процеси, а не за служебни цели.

БалансПълно натоварване на всички ресурси на системата.

Време за отговор (response time)Времето за обслужване на една потребителска заявка (за процеси в привилегирован или интерактивен режим).

Време за чакане (waiting time)Общото време, през което процесът чака в състояние готов (за процеси във фонов режим).

ПредсказуемостДа се гарантира завършването на всеки процес, т.е. да не се случва безкрайно отлагане.

Операционни системи, М. Филипова 5

Видове процесиРаботата на всеки процес е последователност от редуващи се интервали с различни дължини:

– интервал на ЦП (CPU burst)– интервал, в който процесът чака В/И (I/O burst)

(а) Процес ограничен от ЦП (CPU bound)(б) Процес ограничен от Вход/Изход (I/O bound)

интервал на ЦП интервал на В/И

(а)

(б)

Операционни системи, М. Филипова 6

Дисциплини за планиранеКога работи планировчикът? Когато текущият процес завърши, като изпълни exit. Когато текущият процес извика примитив, изискващ

блокиране като read, write, wait или друг. Ако планировчикът работи само в тези два случая, се казва че реализира планиране без преразпределение (nonpreemptive scheduling).

След обработката на апаратно прекъсване, преди процесът да се върне в потребителска фаза.Ако планировчикът работи и в този случай, се казва че реализира планиране с преразпределение (preemptive scheduling).

Операционни системи, М. Филипова 7

Дисциплини за планиране FCFS (First-Come-First-Served)

без преразпределение без приоритети на процесите

SJF (Shortest-Job-First) без преразпределение приоритетна дисциплина – приоритетът е обратно пропорционален

на очакваното време за изпълнение на процеса SRT (Shortest-Remaining-Time)

с преразпределение приоритетна дисциплина - приоритетът е обратно пропорционален на

оставащо време = очаквано време - получено време – Кратките процеси се обслужват с предимство, следователно

се намалява тяхното време за чакане.– Не е приложима в интерактивни ОС.

Операционни системи, М. Филипова 8

Дисциплини за планиране RR (Round-Robin) или циклична дисциплина Всички готови процеси са подредени в опашка по реда на

появяването им (създаване или деблокиране). Планировчикът избира първия процес от опашката и му

определя интервал време - квант (quantum), през който той може да използва ЦП.

Ако при изтичане на кванта процесът не е освободил ЦП, то му се отнема ЦП и се поставя в края на опашката на готовите процеси.

– Дава предимство на кратките процеси без да дискриминира дългите.

– Осигурява приемливо време за отговор в интерактивните ОС за процесите ограничени от В/И.

– Проста за реализация– Справедлива

Операционни системи, М. Филипова 9

Дисциплини с няколко опашки Процесите да се класифицират в няколко класи. За всеки клас се поддържа опашка на готовите процеси. Всяка опашка има свой приоритет и може да се обслужва с

различна дисциплина. Когато ЦП се освободи планировчикът избира процес от

непразната опашка с най-висок приоритет и го обслужва според дисциплината на опашката му.

Как процесите се разпределят по опашките?– Връзката между процес и опашка е статична– Опашки с обратна връзка

Операционни системи, М. Филипова 10

Планиране на процесите в UNIXСистемни приоритети - на процес в системна фаза, който се е блокирал.Потребителски приоритети - на процес в потребителска фаза и преразпределен

priority = CPU/2 + base + nice

. . .

планировчик на свопинга

чака В/И от диск

чака буфер

чака inode

чака вход от терминал

чака изход на терминал

чака завършване на П-син

потребителски приоритет 0

потребителски приоритет 1

потребителски приоритет 2

. . .

най-висок приоритет

най-нисък приоритет

системни приоритети

потребителски приоритети

Операционни системи, М. Филипова 11

Планиране на процесите в MINIX

В/И задачи

Процеси сървери

Потребителски процеси

най-висок приоритет

най-нисък приоритет

FS MM

tty

sh

disk

a.out

FCFS

RR