Harmonogramowanie procesora Algorithms in OperaSystemy tingowe
โก Inteligentne podsumowanie
Harmonogramowanie procesora okreลla, ktรณry gotowy proces zostanie uruchomiony przez system operacyjny jako nastฤpny.ping Procesor jest zajฤty i zwiฤksza wydajnoลฤ za pomocฤ algorytmรณw, takich jak: โpierwszy przyszedล, pierwszy obsลuลผonyโ, โnajpierw najkrรณtsze zadanieโ, โpriorytetโ i โround robinโ.

Co to jest planowanie procesora?
Harmonogramowanie procesora to proces okreลlania, ktรณry proces bฤdzie posiadaล procesor do wykonania, podczas gdy inny proces jest wstrzymany. Gลรณwnym zadaniem harmonogramowania procesora jest zapewnienie, ลผe za kaลผdym razem, gdy procesor pozostaje bezczynny, system operacyjny wybiera co najmniej jeden z procesรณw dostฤpnych w kolejce procesรณw gotowych do wykonania. Proces wyboru jest realizowany przez harmonogram procesora, ktรณry wybiera jeden z procesรณw w pamiฤci, ktรณre sฤ gotowe do wykonania.
Rodzaje planowania procesora
Istniejฤ dwa rodzaje metod planowania:
Planowanie z wyprzedzeniem
W harmonogramowaniu wyprzedzajฤ cym zadania sฤ najczฤลciej przypisywane zgodnie z ich priorytetami. Czasami waลผne jest uruchomienie zadania o wyลผszym priorytecie przed innym zadaniem o niลผszym priorytecie, nawet jeลli zadanie o niลผszym priorytecie jest nadal wykonywane. Zadanie o niลผszym priorytecie jest utrzymywane przez pewien czas i wznawiane po zakoลczeniu wykonywania zadania o wyลผszym priorytecie.
Planowanie bez wywลaszczania
W tym typie metody planowania, procesor jest przydzielany do konkretnego procesu. Proces, ktรณry utrzymuje procesor zajฤtym, zwalnia go, zmieniajฤ c kontekst lub koลczฤ c dziaลanie. Jest to jedyna metoda, ktรณrฤ moลผna stosowaฤ na rรณลผnych platformach sprzฤtowych, poniewaลผ nie wymaga ona specjalnego sprzฤtu (na przykลad timera), jak w przypadku planowania z wywลaszczaniem.
Kiedy planowanie jest wyprzedzajฤ ce, a kiedy niewyprzedzajฤ ce?
Aby ustaliฤ, czy harmonogramowanie ma charakter wyprzedzajฤ cy czy teลผ niewyprzedzajฤ cy, naleลผy wziฤ ฤ pod uwagฤ nastฤpujฤ ce cztery parametry:
- Proces przechodzi ze stanu uruchomionego do stanu oczekiwania.
- Konkretny proces przechodzi ze stanu uruchomienia do stanu gotowoลci.
- Konkretny proces przechodzi ze stanu oczekiwania do stanu gotowoลci.
- Proces koลczy swoje wykonywanie i koลczy dziaลanie.
Jeลli speลnione sฤ tylko warunki 1 i 4, harmonogramowanie nazywa siฤ niepreemptywnym. Wszystkie pozostaลe sytuacje harmonogramowania sฤ preemptywne.
Waลผne terminologie planowania procesora
- Czas serii/Czas wykonania: Czas potrzebny procesowi na ukoลczenie wykonania. Nazywany jest rรณwnieลผ czasem wykonania.
- Czas przybycia: Moment, w ktรณrym proces wchodzi w stan gotowoลci.
- Czas zakoลczenia: Moment, w ktรณrym proces zostaje zakoลczony i opuszcza system.
- Wieloprogramowanie: Wiele programรณw, ktรณre mogฤ byฤ obecne w pamiฤci w tym samym czasie.
- Oferty pracy: Rodzaj programu, w ktรณrym nie ma ลผadnej interakcji z uลผytkownikiem.
- Uลผytkownik: Rodzaj programu wymagajฤ cego interakcji z uลผytkownikiem.
- Proces: Odniesienie uลผywane zarรณwno w odniesieniu do zadania, jak i uลผytkownika.
- Cykl serii procesora/IO: Charakteryzuje wykonywanie procesu, ktรณre naprzemiennie obejmuje aktywnoลฤ procesora i wejลcia/wyjลcia. Czasy pracy procesora sฤ zazwyczaj krรณtsze niลผ czasy wejลcia/wyjลcia.
Kryteria planowania procesora
Algorytm planowania wykorzystania procesora prรณbuje maksymalizowaฤ i minimalizowaฤ nastฤpujฤ ce elementy:
Maksymalizuj
Zuลผycie procesora: Wykorzystanie procesora to gลรณwne zadanie, w ktรณrym system operacyjny musi zapewniฤ jego maksymalne wykorzystanie. Moลผe ono wynosiฤ od 0 do 100 procent. Jednak w przypadku systemu operacyjnego czasu rzeczywistego (RTOS) moลผe ono wynosiฤ od 40 procent w systemie niskiego poziomu do 90 procent w systemie wysokiego poziomu.
Wydajnoลฤ: Liczba procesรณw, ktรณre koลczฤ swoje wykonywanie w jednostce czasu, nazywana jest przepustowoลciฤ . Zatem, gdy procesor jest zajฤty wykonywaniem procesu, wykonywana jest praca, a praca wykonana w jednostce czasu nazywana jest przepustowoลciฤ .
Zminimalizowaฤ
Czas oczekiwania: Czas oczekiwania to iloลฤ czasu, jakฤ konkretny proces musi spฤdziฤ w kolejce procesรณw gotowych do uลผycia.
Czas odpowiedzi: Jest to czas od momentu wysลania wniosku do momentu otrzymania pierwszej odpowiedzi.
Czas realizacji: Czas realizacji to czas potrzebny na wykonanie okreลlonego procesu. Jest to caลkowity czas oczekiwania na dostฤp do pamiฤci, oczekiwania w kolejce i wykonania na procesorze. Okres miฤdzy momentem przesลania procesu a momentem jego zakoลczenia to czas realizacji.
Timer interwaลowy
Przerwanie timera jest metodฤ ลciลle powiฤ zanฤ z wywลaszczaniem. Kiedy okreลlony proces otrzyma przydziaล procesora, licznik czasu moลผe zostaฤ ustawiony na okreลlony interwaล. Zarรณwno przerwanie timera, jak i wywลaszczenie wymuszajฤ na procesie zwrรณcenie procesora przed zakoลczeniem jego dziaลania.
Wiฤkszoลฤ wieloprogramowych systemรณw operacyjnych korzysta z jakiejล formy licznika czasu, aby zapobiec blokowaniu systemu przez proces na zawsze.
Co to jest dyspozytor?
Dyspozytor to moduล, ktรณry zapewnia procesowi kontrolฤ nad procesorem. Dyspozytor powinien byฤ szybki, aby mรณgล dziaลaฤ przy kaลผdej zmianie kontekstu. Opรณลบnienie dyspozytora to czas potrzebny harmonogramowi procesora na zatrzymanie jednego procesu i uruchomienie innego.
Funkcje wykonywane przez dyspozytora:
- Przeลฤ czanie kontekstu.
- Przeลฤ czanie do trybu uลผytkownika.
- Przejลcie do wลaลciwej lokalizacji w nowo zaลadowanym programie.
Rodzaje planowania procesora Algorithms
Istnieje gลรณwnie szeลฤ rodzajรณw algorytmy planowania procesรณw:
- Kto pierwszy, ten lepszy (FCFS)
- Harmonogramowanie wedลug najkrรณtszego zadania (SJF).
- Najkrรณtszy pozostaลy czas
- Planowanie priorytetowe
- Planowanie okrฤลผne
- Wielopoziomowe planowanie kolejek
Scheduling Algorithms
Kto pierwszy ten lepszy
FCFS oznacza Kto pierwszy ten lepszyJest to najลatwiejszy i najprostszy algorytm planowania przydziaลu procesora. W tym typie algorytmu proces, ktรณry ลผฤ da przydziaลu procesora, otrzymuje go jako pierwszy. Tฤ metodฤ planowania moลผna zarzฤ dzaฤ za pomocฤ kolejki FIFO.
Gdy proces wchodzi do kolejki gotowych procesรณw, jego blok PCB (Process Control Block) jest poลฤ czony z koลcem kolejki. Zatem, gdy procesor staje siฤ wolny, powinien zostaฤ przypisany do procesu na poczฤ tku kolejki.
Charakterystyka metody FCFS
- Jest to algorytm planowania niewywลaszczajฤ cy.
- Zadania sฤ zawsze wykonywane na zasadzie โkto pierwszy, ten lepszyโ.
- Jest ลatwy do wdroลผenia i uลผytkowania.
- Jednak ta metoda ma sลabฤ wydajnoลฤ, a ogรณlny czas oczekiwania jest doลฤ dลugi.
Najkrรณtszy pozostaลy czas
Peลna nazwa metody SRT to Shortest Remaining Time (najkrรณtszy pozostaลy czas). Jest ona rรณwnieลผ znana jako planowanie wyprzedzajฤ ce SJF (Shortest Remaining Time). W tej metodzie proces jest przydzielany do zadania najbliลผszego ukoลczenia. Zapobiega to wstrzymywaniu ukoลczenia starszego procesu przez nowszy proces w stanie gotowoลci.
Charakterystyka metody harmonogramowania SRT
- Metodฤ tฤ stosuje siฤ gลรณwnie w ลrodowiskach wsadowych, w ktรณrych konieczne jest dawanie pierwszeลstwa zadaniom krรณtkim.
- Nie jest to idealna metoda implementacji w systemie wspรณลdzielonym, w ktรณrym wymagany czas procesora nie jest znany.
- Kaลผdy proces jest powiฤ zany z dลugoลciฤ kolejnego obciฤ ลผenia procesora, wiฤc system operacyjny wykorzystuje te dลugoลci, aby zaplanowaฤ proces w moลผliwie najkrรณtszym czasie.
Planowanie oparte na priorytetach
Planowanie priorytetowe to metoda planowania procesรณw oparta na priorytetach. W tej metodzie planista wybiera zadania do realizacji wedลug ich priorytetu.
Harmonogramowanie priorytetowe pomaga rรณwnieลผ systemowi operacyjnemu w przydzielaniu zadaล o wyลผszym priorytecie. Procesy o wyลผszym priorytecie sฤ wykonywane jako pierwsze, natomiast zadania o rรณwnym priorytecie sฤ wykonywane w trybie โkaลผdy z kaลผdymโ lub metodฤ FCFS. Priorytet moลผna ustaliฤ na podstawie zapotrzebowania na pamiฤฤ, czasu i innych czynnikรณw.
Harmonogram okrฤลผny
Round robin to jeden z najstarszych i najprostszych algorytmรณw harmonogramowania. Nazwa tego algorytmu pochodzi od zasady โkaลผdy z kaลผdymโ, zgodnie z ktรณrฤ kaลผdy otrzymuje po kolei rรณwny udziaล w czymล. Jest on najczฤลciej wykorzystywany do harmonogramowania w systemach wielozadaniowych. Metoda ta pomaga osiฤ gnฤ ฤ wykonywanie procesรณw bez niedoboru mocy obliczeniowej.
Charakterystyka planowania okrฤลผnego
- Round robin to hybrydowy model, ktรณrego dziaลanie opiera siฤ na zegarze.
- Przedziaล czasowy przeznaczony na wykonanie konkretnego zadania powinien byฤ minimalny. Moลผe siฤ on jednak rรณลผniฤ w zaleลผnoลci od procesu.
- Zachowuje siฤ jak system podziaลu czasu, ktรณry reaguje na kaลผdy proces w ramach okreลlonego limitu czasu.
Najpierw najkrรณtsza praca
SJF (Shortest Job First) to algorytm szeregowania, w ktรณrym proces o najkrรณtszym czasie wykonania jest wybierany do wykonania jako nastฤpny. Ta metoda szeregowania moลผe byฤ wywลaszczajฤ ca lub niewywลaszczajฤ ca. Znacznie skraca ลredni czas oczekiwania na wykonanie innych procesรณw.
Charakterystyka harmonogramowania SJF
- Kaลผde zadanie ma przypisanฤ jednostkฤ czasu na jego wykonanie.
- W tej metodzie, jeลli procesor jest dostฤpny, jako pierwszy wykonywany jest kolejny proces lub zadanie z najkrรณtszym czasem wykonania.
- Jest ona wdraลผana przy uลผyciu polityki nieprewencyjnej.
- Algorytm ten jest przydatny w przypadku przetwarzania wsadowego, w ktรณrym oczekiwanie na zakoลczenie zadaล nie jest krytyczne.
- Poprawia wydajnoลฤ pracy poprzez wykonywanie w pierwszej kolejnoลci zadaล krรณtszych, ktรณrych czas realizacji jest zazwyczaj krรณtszy.
Planowanie kolejek wielopoziomowych
Ten algorytm rozdziela kolejkฤ gotowych procesรณw na kilka osobnych kolejek. W tej metodzie procesy sฤ przypisywane do kolejki na podstawie okreลlonej wลaลciwoลci procesu, takiej jak priorytet procesu, rozmiar pamiฤci itd.
Nie jest to jednak niezaleลผny algorytm planowania, gdyลผ w celu zaplanowania zadaล wymaga uลผycia innych typรณw algorytmรณw.
Charakterystyka harmonogramowania kolejek wielopoziomowych
- Dla procesรณw o wspรณlnych cechach naleลผy utrzymywaฤ wiele kolejek.
- Kaลผda kolejka moลผe mieฤ swรณj wลasny, oddzielny algorytm planowania.
- Kaลผdej kolejce przypisane sฤ priorytety.
Cel algorytmu harmonogramowania
Oto powody stosowania algorytmu planowania:
- Procesor wykorzystuje planowanie w celu poprawy swojej wydajnoลci.
- Pomaga przydzielaฤ zasoby pomiฤdzy konkurujฤ cymi procesami.
- Maksymalne wykorzystanie procesora moลผna uzyskaฤ stosujฤ c multiprogramowanie.
- Procesy, ktรณre majฤ zostaฤ wykonane, sฤ przechowywane w kolejce procesรณw gotowych.



