Oперационни системи- лекции


Категория на документа: Информатика


- гарантирано завършване на процесите – независимо от натоварването на системата, потребителят трябва да има гаранция, че неговият процес ще завърши, при това в рамките на обозрим интервал от време.

Дисциплини на планиране

Съвременните планировчици използват системния часовник, който чрез прекъсване може насилствено да сваля текущия процес от потребителска в системна фаза. По този начин през определен интервал от време планировчиците могат да решат дали да свалят текущия процес.
Планиране, което допуска това се нарича планиране с преразпределение (preemptive). Ако планировчикът не може да сваля текущи процеси, то планирането е без преразпределение.
В дисциплините, които ще разгледаме по-долу можем да си мислим, че всички готови и преразпределени процеси се подреждат в списък (опашка). Планировчикът винаги избира процесът в началото на списъка. Дисциплината определя по какъв начин процесите се подреждат в списъка.

Дисциплина FCFS (first come first serve)

При тази дисциплина първи се обслужва процесът, който е най-отдавна в системата. С други думи, измежду готовите процеси планировчикът избира за текущ най-стария процес. Това е дисциплина без преразпределение. Новите процеси постъпват в края на списъка.
Ако някой процес се блокира, то след като бъде събуден ще заеме точното си място в списъка, според това кога е бил създаден. Предимствата на дисциплината са лесната реализация и относителната справедливост. Всъщност, дисциплината не е съвсем справедлива, тъй като дава предимство на процесите, които се изпълняват много дълго. Недостатък на дисциплината е, че няма преразпределение. Освен това, тя не е подходяща за интерактивни процеси, тъй като времето за чакане на отговор може да е голямо.

Дисциплина SJF (shortest job first)

Тук най-напред се изпълняват най-късите задания (процеси). Дисциплината е приоритетна - колкото по-малко е заданието, толкова по-висок е неговия приоритет. За да може да се реализира тази дисциплина, планировчикът предварително трябва да знае някакво време за изпълнение на заданията. Той не може сам да определи това време, така че потребителят сам трябва да го задава. Дисциплината е без преразпределение. Едно предимство е намаляване на времето за чакане на кратките процеси в сравнение с FCFS. Основен недостатък е, че приоритетът, по който се подреждат процесите се задава от потребителя. Това означава, че и тази дисциплина не е приложима при интерактивни процеси.

Дисциплина SRT (shortest remaining time)

Идеята при тази дисциплина е да се осигури още по-голямо предимство на кратките процеси. Най-напред се изпълняват заданията, на които им остава най-малко време за завършване. Времето за завършване се пресмята като от очакваното време се извади използваното време от процесора до момента. Тази дисциплина е с преразпределение – ако текущият процес има по-голямо време за завършване, отколкото първият процес в списъка, той трябва да бъде свален и да заеме точното си място в списъка. Възможно е, обаче, дисциплината да се реализира и без преразпределение. SRT отново не е приложима при интерактивни процеси, по същата причина като SJF – потребителят трябва да задава очакваното време за изпълнение. Друг недостатък е дискриминацията на дългите процеси – тяхното завършване не може да се гарантира.
При SRT приоритетът, по който се подреждат процесите е динамичен – той се променя по време на изпълнение на процеса, за разлика от SJF, където приоритетът е статичен.

Дисциплина RR (round robin)

При тази дисциплина се използва циклична организация на списъка. Новите процеси постъпват в края на списъка. За текущ се избира първият процес в списъка и за него се определя интервал от време (квант), през което той да работи. Ако квантът изтече, текущият процес се сваля и се добавя в края на списъка. Ако текущият процес по някаква причина се блокира преди да е изтекъл неговият квант, то когато бъде събуден, той се добавя в края на списъка. Дисциплината е с преразпределение. Не се изисква задаване на очаквано време за изпълнение от потребителя. Предимството е, че се осигурява приемливо време за отговор на интерактивните процеси – един квант може да е напълно достатъчен за да се обработи последната намеса на потребителя. Друго предимство е чистотата на реализацията.
Основен проблем при тази дисциплина е каква да бъде големината на кванта. Ако квантът е много голям, т.е. повечето процеси завършват в неговите рамки, то дисциплината се приближава към FCFS. Ако квантът е много малък, т.е. повечето процеси не успяват да завършат за един квант, това първо е неприемливо за интерактивните процеси и освен това се губи ефективност, тъй като твърде често се осъществява превключване на контекста.

Дисциплини с няколко опашки

При тях има няколко опашки от готови и преразпределени процеси, като всяка опашка може да има собствена дисциплина за обслужване.
Самите опашки също се подреждат по приоритет. За текущ се избира първият процес от непразната опашка с най-висок приоритет.

Когато всеки процес попада винаги в една и съща опашка по време на съществуването си, то дисциплината се нарича дисциплина със статична връзка. При такава дисциплина процесите се разбиват на категории, според това в коя опашка влизат. Като пример ще разгледаме планирането в MINIX. Там се поддържат три опашки. Най-висок приоритет има опашката, в която влизат входно-изходните задачи. След това е опашката, в която влизат така наречените процеси-сървери – file manager, който реализира системните примитиви с файлове и memory manager, който реализира останалите системни примитиви. Най-нисък приоритет има опашката, в която попадат потребителските процеси.
Дисциплината на първите две опашки е FCFS, а на опашката за потребителските процеси е RR. Ако текущият процес е потребителски,
а първите две опашки не са празни, този процес се преразпределя.

Когато един процес може да попада в различни опашки по време на съществуването си, то дисциплината се нарича дисциплина с динамична връзка. Като пример ще разгледаме планирането в UNIX/LINUX. Там има две групи опашки. Първата група опашки имат системен приоритет. Втората група опашки имат по-нисък потребителски приоритет. Процесите, които им предстои системна фаза влизат в опашките със системен приоритет. Това са новосъздадените процеси и процесите, които са били блокирани и след това събудени.
Процесите, които им предстои потребителска фаза влизат в опашките с потребителски приоритет. Това са преразпределените процеси.
Такава организация на планирането е благоприятна най-вече за интерактивните процеси.

Край

23.01.2004



Сподели линка с приятел:





Яндекс.Метрика
Oперационни системи- лекции 9 out of 10 based on 2 ratings. 2 user reviews.