КАТЕГОРИЯ:


Астрономия- (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) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

насрочване на алгоритми




Има голям набор от различни насрочване на алгоритми, които са предназначени за различни цели. Ето и някои от най-често използваните алгоритми се прилагат в процеса на краткосрочно планиране.

1.Algoritm FCFS. Най-простият алгоритъм за планиране е един алгоритъм първи дошъл, първи обслужен, FCFS - първи дошъл, първи обслужен. Когато процесът се движи до състояние на готовност, споменаване на неговия PCB се поставя в опашката. Избор на нов процес за изпълнение се извършва на опашката с отстраняването на линкове от там нататък си RSV. Линията на този вид е да се програмира специално название - First In, First Out (FIFO ), първият, първа изходяща. Алгоритъмът осъществява процесът на подбор на не-изпреварващ график. Процесът разполага с процесор, го отвежда до края на текущата CPU спукването (период на продължителна употреба на времето на процесора). След това е избран да тече нов процес от опашката. FCFS алгоритъм предимство е лекотата на прилагане, но в същото време той има много недостатъци. Тъй като средното време за изчакване и средното време, за да завърши изпълнението на този алгоритъм същество е зависи от реда на процесите в опашката, на процесите, които са изпаднали в състояние на готовност ще бъдат дълго чакане за началото на изпълнението. Следователно, не се прилага алгоритъм за разделяне на системното време.

2.Algoritm RR (кръгла Робин график). А FCFS алгоритъм модификация алгоритъм е Round Robin, RR (вид детска въртележка в САЩ). Този алгоритъм се реализира в режим на превантивна график. Готовите за изпълнение процеси са организирани циклично се редуват така, че всеки процес е около процесор малък фиксиран квант от време, обикновено 10 - 100 милисекунди. Докато процесът е близо до процесора, тя получава процесора на тяхно разположение и може да бъде изпълнена. Алгоритъм се прилага по същия начин, както предишния, използвайки организация обработва в състояние на готовност на опашката FIFO. Програмата-диспечер избира следващата изпълнение на процеса намира в началото на опашката, и определя таймер за генериране на прекъсване след определен отрязък от време. При осъществяване на метода има две възможности:

- CPU нахлу по-малка или равна на продължителността на интервал от време; В този случай, процесът доброволно освобождава процесора на отрязък от време за изпълнение влиза нов процес от опашката и таймерът започва да отброява отново квантовата;

- CPU разрушаване на този процес повече от избрания отрязък от време; В този случай, след като квантов процес е прекъснат и таймера се поставя в опашката на процеси, готови за изпълнение, а процесорът е предоставен за ползване от един процес, който е в началото си.



За изпълнението на RR алгоритъм засяга стойността на частта време. За по-големи стойности на слот време, когато всеки процес има време да завърши своята CPU взрив преди времето за прекъсване, алгоритъм на RR се превръща в FCFS алгоритъм. За малки количества - една илюзия, че всеки един от процесите на п работи по своя виртуален процесор с капацитет от ~ 1 / п от изпълнението на реалния процесора. Освен това, честото превключване на контекста превключване режийни драстично намаляване на производителността на системата. RR FCFS алгоритъм и в зависимост от реда на процесите в опашката са готови за изпълнение. Когато късите задачите са подредени в линия, близо до върха на това, цялостното изпълнение на тези алгоритми е значително увеличен.

3.Algoritm SJF. Краткосрочно планиране Алгоритъм краткият-Job-Първо, SJF (най-краткия работа първо) може да бъде или превантивна или не-превантивна. В не-превантивна SJF -planning процесор достъпно на избрания процес всички необходимото време за него, независимо от събитията, настъпили в една компютърна система. Когато превантивна SJF -planning взети предвид появата на нови процеси в опашката готов за изпълнение (на броя на новородените или освободен) през избрания процес. Ако CPU спукването на новия процес е по-малко, отколкото останалата част от CPU нахлу в процеса на движение, изпълним процес е заменен от новия процес. Основната трудност при изпълнението на SJF алгоритъм е невъзможността на точни данни за времето на следващия CPU спукването за изпълними процеси. В пакетни системи размера на процесорното време, необходимо за извършване на задачата, потребителят показва формирането на задачата. Ако потребителят определя повече време, той ще изчака резултата миналата дълго, ако по-малко - тогава проблемът не може да се брои до края.

4.Algoritm гарантирано планиране. Когато интерактивно N потребители в една компютърна система може да се използва алгоритъма на график, който гарантира, че всеки потребител ще има на свое разположение за 1 / п от времето на процесора. За всеки потребител използва две стойности: T аз - време за пребиваване в системата на потребителя; т и - общото време на CPU за всички потребителски процеси по време на работната сесия е разпределен.

Правосъдие за потребителя ще получи T I / п от времето на процесора. Ако не мога << T I / п, на I - ия потребител е лишен от времето на процесора, ако не мога >> T I / п, на I - ия потребител е по-голямо от изчисленото време на CPU. Затова въведе коефициент на правосъдието т и п / T аз и процеса с най-ниската стойност на коефициента е даден още един отрязък от време на всеки процес на потребителя. Недостатъкът на алгоритъма е невъзможността да се предскаже поведението на потребителите. Ако потребителят не работи за известно време със системата, а след това се върнете към своите процеси ще получи непропорционално голямо количество процесорно време.

приоритет планиране 5.Algoritm. SJF насрочване на алгоритми и гарантирано са специални случаи на планирането на приоритетите. При планирането на приоритет на всеки процес се определя конкретна цифрова стойност - приоритет, според която процесор му е разпределена. Процеси със същия приоритет са планирани в FCFS ред. За SJF алгоритъм като такъв приоритет оценка на продължителността на появява до пръсване CPU. Колкото по-малка от стойността на тази оценка, по-висок приоритет на процеса има. За приоритет график на алгоритъм гарантирана е съотношение изчислението на собствения капитал. Колкото по-малко, по-приоритет процес. Принципи на приоритети могат да се основават:

- На вътрешни критерии, които използват различни количествени и качествени характеристики на процеса за изчисляване на приоритет на: известно време ползване лимит CPU; изисквания размер на паметта; броят на отворените файлове, и да използва входно-изходни устройства; съотношението на средната продължителност на I / O се спука да се спука CPU и др.;

- На външни критерии, които включват: значението на параметрите на процеса, за да се постигне всяка цел; Варианти за разходите, платени CPU и др.

Приоритет график е превантивна и не-превантивна. Ако превантивна процес график с по-висок приоритет, който се появи в опашката на готовите процеси, заменяйки изпълними процеси с по-нисък приоритет. В случай на не-изпреварващ график да стигне до върха на опашката на готови процеси.

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

Приоритет Планиране Основният проблем се крие във факта, че за дълго време не може да започне, когато изберете грешна механизъм назначаване и с нисък приоритет процеси променят приоритетите. Решението на този проблем може да се постигне чрез увеличаване на стойността на процеса с приоритет време, в състояние на готовност. Всеки път, след определен период от време, стойностите на приоритетите на процесите в състояние на готовност, намалени с 1, и на процеса, който посети състоянието на изпълнението е възложено първоначално приоритет стойност.

6.Algoritm многостепенното опашка (мултилевъл Queue). За системи, при които процесите са подредени в различни групи въз основа на опашка алгоритми разработен план. За всяка група процес се създава на всички процеси в състояние на готовност. Тези опашки са възложени на дълготрайни приоритети. Например, системата обработва приоритетната опашка е определен по-висок от приоритета на опашките на потребителските процеси. Това означава, че всеки процес на потребителя е избран за изпълнение, докато има поне един процес готови за работата на системата. В различни график алгоритми може да се използва опашки. Например, за големи изброяване процеси, които не изискват намеса на потребителя, алгоритъм FCFS може да се използва за интерактивни процеси - RR алгоритъм. Този подход увеличава многостепенното опашка гъвкавостта график за процеси с различни характеристики, приложени към тях най-подходящ алгоритъм.

7.Algoritm многостепенното опашка с обратна връзка (мултилевъл Обратна връзка Queue). По-нататъшното развитие на изчакване алгоритъм на много нива е да се добави към нея механизъм за обратна връзка, с което процесът може да мигрират от една опашка към друга, в зависимост от тяхното поведение. процесите на планиране между залпове се основава на механизъм за превантивна приоритет. Процеси в линия 1 не могат да бъдат изпълнени, ако има най-малко един процес в опашката 0. Процеси опашка 2 са избрани за изпълнение, докато има поне един процес на линии 0 и 1, и т.н. Ако процесът се появява друг процес в приоритетна опашка, нов изпълним процес се измества. Насрочване на опашки процеси в рамките на 0-2 се осъществяват с помощта на алгоритъм RR, опашка 3 - FCFS алгоритъм.

Роден процес навлиза опашка 0. Ако решите да изпълни тя получава разполага с слот време, например, размерът на 8 единици. Ако продължителност CPU изблик на време му парче е по-малко от това, процесът остава в опашката 0. В противен случай, той отива в опашката за технологична линия 1. слот време има една стойност 16. Ако процесът не се вписва в този момент, тя отива в опашка 2. ред 2 стойността на частта време е 32 единици. Ако непрекъсната работа на процеса е малък, методът навлиза в опашката 3, за които нарязването време не се използва и при липса на други процеси в готов опашката може да се извърши преди края на процесора на разрушаване. Колкото по-висока продължителност на разрушаване стойност CPU, толкова по-малко приоритетната опашка получава процеса, но колкото повече време CPU върху той може да разчита. По този начин, процеси, които изискват малко време CPU ще бъдат поставени в приоритетни опашки и процеси, които изискват голям време на вашето CPU и ниско време за реакция на запитвания - в нисък приоритет.

Миграционните процеси в обратна посока може да се извършва по различни принципи. Например, след като чака за клавиатура за въвеждане на процесите на опашките 1, 2 и 3, могат да бъдат поставени в опашката 0 След диск IO процеси в опашката 3 може да бъде пуснат в опашката 1, и след приключване на изчакване за всички събития - на опашката 3 2. Преместете всички процеси от нисък приоритет на високо приоритетни опашки позволява по-отзивчиви към промени в поведението на процесите във времето.

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

- Брой на опашки за процеси в състояние на готовност.

- График алгоритъм, работещи между изблици;

- Планиране на алгоритми, работещи в рамките на опашката;

- Правилата на помещенията на процеса, родени в една от опашките;

- Преводачески процеси правила от една опашка към друг.

Промяна на някой от тези елементи, можете значително да се промени поведението на компютърната система.

планиране поток 8.Algoritmy. Ако системата има множество процеси, всяка от които е разделена на няколко потока, две нива на паралелизъм се изпълняват: да тече и ниво на ниво процес. Насрочване на тези системи зависи от това дали потоците се поддържа на ниво потребител или нивото на ядрото и двете.

В случай на потребителско ниво ядро подкрепа конец не знае за съществуването на потоци и изпълнява обичайната планирането, избора, например, процес А и като му отрязък от време. В процес на Scheduler резба избира поток, като А1. Тъй като няма прекъсване в потока на таймера, избраната нишка ще продължи до приключи работата си. Ако А1 нишка ще отнеме цялото време квант разпределена на процес, в ядрото предава управлението на друг процес, и когато прехвърлянето на процеса на контрол и пак потока A1 ще продължи да използва процесора, за да завършите. поведение A1 поток няма да повлияе на други процеси и те ще получат дял от времето на процесора, че планировчика счита просто, независимо от това, което се случва в процеса.


Ако процес н поток А за осигуряване на равни периоди от време т / п от отпуснатата време процес парче, а след това всеки един от тях ще направи работата им по време на т / п време и да се върне нишки CPU планировчика. Това води до следната верига: А1, А2, А3 ... An са; А1, А2, ... An са A3, А1 ... An, тогава контролът се предава на следващия процес (фигура 3.8.). Като график алгоритъм често използваните алгоритми цикличен и приоритет график. Единственият проблем е липсата на таймер, който ще пречи на движението на продължителна работа.

В случай на подкрепа нишка на ниво ядро ​​(фиг. 3.9.), Ядрото избира следващия поток, без да се взема под внимание, което принадлежи на технологичния поток. Поточно достъпно отрязък от време, и след това квантово на контрол е прехвърлен към друга тема. Например: А1, А2, ... An са; Възможно: A1, B1, A2, B2, A3, B3, ... Ан, BN.

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