informácie o prednáškach

29
1 Informácie o prednáškach Informácie o prednáškach Prednášky nájdete od pondelka na Prednášky nájdete od pondelka na adrese adrese http:// http:// s.ics.upjs.sk s.ics.upjs.sk / / ~schmotze ~schmotze / / OS.html OS.html Keby nefungovalo, k Keby nefungovalo, k ópia je na ópia je na adrese adrese http:// http:// neuron-ai.tuke.sk neuron-ai.tuke.sk / / ~schmotze ~schmotze / / OS.html OS.html Otázky a pripomienky mi zasielajte Otázky a pripomienky mi zasielajte mailom na adresu mailom na adresu Milan.Schmotzer Milan.Schmotzer @ @ e-zones.sk e-zones.sk

Upload: travis-travis

Post on 02-Jan-2016

36 views

Category:

Documents


2 download

DESCRIPTION

Informácie o prednáškach. Prednášky nájdete od pondelka na adrese http://s.ics.upjs.sk/~schmotze/OS.html Keby nefungovalo, k ópia je na adrese http://neuron-ai.tuke.sk/~schmotze/OS.html Otázky a pripomienky mi zasielajte mailom na adresu Milan.Schmotzer @e-zones.sk. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Informácie o prednáškach

11

Informácie o prednáškachInformácie o prednáškach

Prednášky nájdete od pondelka na Prednášky nájdete od pondelka na adrese adrese http://http://s.ics.upjs.sks.ics.upjs.sk//~schmotze~schmotze//OS.htmlOS.html

Keby nefungovalo, kKeby nefungovalo, kópia je na adrese ópia je na adrese http://http://neuron-ai.tuke.skneuron-ai.tuke.sk//~schmotze~schmotze//OS.htmlOS.html

Otázky a pripomienky mi zasielajte Otázky a pripomienky mi zasielajte mailom na adresu mailom na adresu Milan.SchmotzerMilan.Schmotzer@@e-zones.ske-zones.sk

Page 2: Informácie o prednáškach

Operačné systémyOperačné systémy2. prednáška nadiaľku2. prednáška nadiaľku

Správa Správa procesovprocesov

Page 3: Informácie o prednáškach

33

ProcesProces

Proces je program zavedený do OPProces je program zavedený do OPPozostáva z častí:Pozostáva z častí:Kód programu (binárny „text“)Kód programu (binárny „text“)Dáta programu:Dáta programu:

Zásobník (volanie funkcií)Zásobník (volanie funkcií)Globálne dáta (premenné)Globálne dáta (premenné)Hromada (na prideľovanie ďalších dát)Hromada (na prideľovanie ďalších dát)

Page 4: Informácie o prednáškach

44

PoznámkyPoznámky

Keď si napríklad v Unixe spustí 100 Keď si napríklad v Unixe spustí 100 ľudí program, tak bude existovať ľudí program, tak bude existovať jediná kópia jeho kódu v operačnej jediná kópia jeho kódu v operačnej pamäti (OP), ale 100 kópií dát – pamäti (OP), ale 100 kópií dát – každý totiž edituje svoje vlastné každý totiž edituje svoje vlastné fotografie, textyfotografie, texty

Tým sa šetrí pamäťTým sa šetrí pamäťAby operačný systém (OS) rozlíšil, Aby operačný systém (OS) rozlíšil,

kto čo robí, proces má svoje stavy.kto čo robí, proces má svoje stavy.

Page 5: Informácie o prednáškach

55

Stavy procesuStavy procesu

Novovytvorený (new) ešte nebežíNovovytvorený (new) ešte nebežíBežiaci (running) je práve vykonávaný Bežiaci (running) je práve vykonávaný

pomocou CPU (centrálneho procesora)pomocou CPU (centrálneho procesora)Pripravený (ready) čaká vo fronte na Pripravený (ready) čaká vo fronte na

pridelenie CPUpridelenie CPUČakajúci (waiting) je pozastavený, čaká Čakajúci (waiting) je pozastavený, čaká

na dokončenie I/O operácie, na na dokončenie I/O operácie, na ukončenie svojho potomka, ukončenie svojho potomka, komunikáciu, sleep(komunikáciu, sleep(3737));;

Page 6: Informácie o prednáškach

66

UkonUkončený (terminated) proces čený (terminated) proces skončil prácu a OS procesu pridelenú skončil prácu a OS procesu pridelenú OP bude považovať za voľnúOP bude považovať za voľnú

Page 7: Informácie o prednáškach

77

Životný cyklus procesu v OPŽivotný cyklus procesu v OP

To isté, čo stavy, ale inak opísané:To isté, čo stavy, ale inak opísané:Pripustenie (admit) do stavu Pripustenie (admit) do stavu

pripravenýpripravenýNaplánovanie (dispatch) do stavu Naplánovanie (dispatch) do stavu

bežiacibežiaciČakanie (na stlačenie klávesu)Čakanie (na stlačenie klávesu)UkončenieUkončenie

Page 8: Informácie o prednáškach

88

Tabuľka procesovTabuľka procesov

Tu si OS drží informácie o procesochTu si OS drží informácie o procesoch„„riadok“ tabuľky je PCB = process riadok“ tabuľky je PCB = process

control block, je tam uložený kontext control block, je tam uložený kontext procesu:procesu:PID (identifikačné číslo procesu)PID (identifikačné číslo procesu)stav procesustav procesuobsahy registrov vrátane registrov CS:IP obsahy registrov vrátane registrov CS:IP

(to umožňuje viacerým ľuďom spúšťať (to umožňuje viacerým ľuďom spúšťať rovnaký program nad rôznymi dátami)rovnaký program nad rôznymi dátami)

informácie pre plánovač procesovinformácie pre plánovač procesov

Page 9: Informácie o prednáškach

99

údaje o pridelenej OP,údaje o pridelenej OP,účtovnícke informácie (koľko účtovnícke informácie (koľko

„strojového“ času, teda CPU milisekúnd „strojového“ času, teda CPU milisekúnd program spotreboval)program spotreboval)

stav I/O (priradené zariadenistav I/O (priradené zariadeniaa, otvorené , otvorené súbory)súbory)

Page 10: Informácie o prednáškach

1010

Plánovanie procesovPlánovanie procesov

Dlhodobé – poradovník úloh (u Dlhodobé – poradovník úloh (u Windows nie je, ale ak treba spustiť Windows nie je, ale ak treba spustiť 1000 úloh a systém si vyberá, ktoré, 1000 úloh a systém si vyberá, ktoré, lebo naraz vie len 10 obslúžiť, tak to lebo naraz vie len 10 obslúžiť, tak to je to)je to)

Strednodobé (odkladanie stránok)Strednodobé (odkladanie stránok)Krátkodobé (ktorému procesu z Krátkodobé (ktorému procesu z

fronty prideliť CPUfronty prideliť CPU ?)?)

Page 11: Informácie o prednáškach

1111

Prepínanie kontextu procesovPrepínanie kontextu procesov

Pri prepínaní procesov sa Pri prepínaní procesov sa pozastavovaný proces odloží do jemu pozastavovaný proces odloží do jemu pridelenej PCBpridelenej PCB

OS pre proces, ktorý bude bežať, OS pre proces, ktorý bude bežať, naplní registre dátami z jeho PCBnaplní registre dátami z jeho PCB

Voláme to prepínanie kontextu a Voláme to prepínanie kontextu a zaberá to čas. Rovnako sa aj spracúva zaberá to čas. Rovnako sa aj spracúva prerušenie – je to akoby prepnutie prerušenie – je to akoby prepnutie kontextu na obsluhu prerušniakontextu na obsluhu prerušnia

Page 12: Informácie o prednáškach

1212

Proces vytvára jeho rodičProces vytvára jeho rodič

Rodič môže počkať na dokončenie Rodič môže počkať na dokončenie procesu alebo pracovať nezávisle (či procesu alebo pracovať nezávisle (či dokonca skončiť). Ak skončí, z potomka dokonca skončiť). Ak skončí, z potomka bude po ukončení „zombia“ – nebude bude po ukončení „zombia“ – nebude mať komu vrátiť návratovú chybovú mať komu vrátiť návratovú chybovú hodnotuhodnotu

O zombie sa postará OS: Prvý proces O zombie sa postará OS: Prvý proces prehlási za rodiča a ten čas od času prehlási za rodiča a ten čas od času „preberá“ a zabúda návratové hodnoty„preberá“ a zabúda návratové hodnoty

Page 13: Informácie o prednáškach

1313

Strom procesovStrom procesov

Procesy vytvárajú strom počnúc Procesy vytvárajú strom počnúc procesom stvoriteľom spúšťaným po procesom stvoriteľom spúšťaným po zavedení OSzavedení OS

Rodič môže mať viacerých potomkovRodič môže mať viacerých potomkovPotomkovia sú rovnocenníPotomkovia sú rovnocenníU Linuxu je strom procesov vo U Linuxu je strom procesov vo

virtuálnom adresári /proc (ten nie je virtuálnom adresári /proc (ten nie je uložený na disku, simuluje ho pre vás uložený na disku, simuluje ho pre vás OS)OS)

Page 14: Informácie o prednáškach

1414

Unix – virtuálny adresár /procUnix – virtuálny adresár /proc

Každý proces má v tomto adresári Každý proces má v tomto adresári podadresár so svojim PID číslom a v podadresár so svojim PID číslom a v ňom pridelenú pamäť, názov programu ňom pridelenú pamäť, názov programu i s argumentmi ako bol spustený apod.i s argumentmi ako bol spustený apod.

V /proc sú aj užitočné informácie, V /proc sú aj užitočné informácie, napríklad súbor cpuinfo o CPU alebo napríklad súbor cpuinfo o CPU alebo version o verzii linuxu, uptime o tom, version o verzii linuxu, uptime o tom, ako dlho systém beží, meminfo o ako dlho systém beží, meminfo o vyuziti OPvyuziti OP

Page 15: Informácie o prednáškach

1515

Ukončenie procesuUkončenie procesu

OS uzavrie súbory, ktoré proces OS uzavrie súbory, ktoré proces neuzavrelneuzavrel

OS uvoľní terminál, klávesnicu, okno OS uvoľní terminál, klávesnicu, okno procesuprocesu

Ak treba, OS aj násilne ukončí Ak treba, OS aj násilne ukončí potomkovpotomkov

Page 16: Informácie o prednáškach

1616

Plánovač úlohPlánovač úloh

vytvára procesy z prijatých úloh vytvára procesy z prijatých úloh a rozhoduje, ktorá z nich bude a rozhoduje, ktorá z nich bude pripustená na zavedenie a stane sa z pripustená na zavedenie a stane sa z nej proces. (Ostatné musia čakať.) nej proces. (Ostatné musia čakať.) Úlohe prideľuje vybrané prostriedky. Úlohe prideľuje vybrané prostriedky. (Po jej skončení prostriedky počítača (Po jej skončení prostriedky počítača uvoľní.) uvoľní.)

Page 17: Informácie o prednáškach

1717

Plánovač procesovPlánovač procesov

realizuje technológiu realizuje technológiu multitaskingumultitaskingu – viacúlohovosti OS, t.j. podľa – viacúlohovosti OS, t.j. podľa prioritných pravidiel rozhoduje, prioritných pravidiel rozhoduje, ktorému z pripravených procesov ktorému z pripravených procesov bude pridelený procesor (CPU) a na bude pridelený procesor (CPU) a na ako dlhý časový interval. Pracuje iba ako dlhý časový interval. Pracuje iba nad úlohami, ktoré už plánovač úloh nad úlohami, ktoré už plánovač úloh zaviedol do pamäte a vytvoril z nich zaviedol do pamäte a vytvoril z nich procesy.procesy.

Page 18: Informácie o prednáškach

1818

Dispatcher (dispečer)Dispatcher (dispečer)

Sleduje stav procesu. Stará sa Sleduje stav procesu. Stará sa o ukladanie obsahov registrov o ukladanie obsahov registrov procesora do PCB (pri prepínaní sa procesora do PCB (pri prepínaní sa procesora na iný proces) apod.procesora na iný proces) apod.

Page 19: Informácie o prednáškach

1919

Monotaskové prideľovanie Monotaskové prideľovanie CPUCPU

Ak môže bežať iba jeden proces (nie je Ak môže bežať iba jeden proces (nie je multiprogramovanie), používame častomultiprogramovanie), používame častoFCFSFCFS – first comed first served, spustíme – first comed first served, spustíme

procesy podľa poradiaprocesy podľa poradiaSJFSJF – shortest job first, najprv časovo – shortest job first, najprv časovo

najkratšiu úlohu – potrebujeme ale odhad, najkratšiu úlohu – potrebujeme ale odhad, ako dlho bude úloha spracovávaná.ako dlho bude úloha spracovávaná. Príkladom ste aj vy – dakto tlačí 100 strán a Príkladom ste aj vy – dakto tlačí 100 strán a poviete ale pusť ma prvú, ja tlačím len 3 strany...poviete ale pusť ma prvú, ja tlačím len 3 strany...

Page 20: Informácie o prednáškach

2020

Multitaskové prideľovanie Multitaskové prideľovanie CPUCPU

Cyklická obsluhaCyklická obsluha (tzv. Round Robin): (tzv. Round Robin): Každú milisekundu CPU vykonáva iný Každú milisekundu CPU vykonáva iný proces z fronty. Primitívna obsluha!proces z fronty. Primitívna obsluha!

Spravodlivá obsluhaSpravodlivá obsluha: ak bol procesu : ak bol procesu odobratý CPU lebo p. na niečo čakal, odobratý CPU lebo p. na niečo čakal, bude vo fronte zaradený na spracovanie bude vo fronte zaradený na spracovanie skôr.skôr.

Cyklická obsluha so spätnou väzbouCyklická obsluha so spätnou väzbou: : Nový proces dostane toľko času, koľko Nový proces dostane toľko času, koľko ho už doteraz dostali iné procesyho už doteraz dostali iné procesy

Page 21: Informácie o prednáškach

2121

Multitaskové prideľovanie Multitaskové prideľovanie CPUCPU

Prioritná stratágiaPrioritná stratágia: Proces dostane : Proces dostane taký pomer výkonu CPU, aký si zakúpila taký pomer výkonu CPU, aký si zakúpila firma alebo ako je to dôležité – obsluha firma alebo ako je to dôležité – obsluha jadrového reaktora = real timejadrového reaktora = real time

Limitovaná cyklická obsluhaLimitovaná cyklická obsluha: Ak : Ak proces dohromady vyčerpal pridelený proces dohromady vyčerpal pridelený limit sekúnd, potom je obsluhovaný iba limit sekúnd, potom je obsluhovaný iba ak by systém inak bol v nečinnosti. ak by systém inak bol v nečinnosti.

Page 22: Informácie o prednáškach

2222

Multitaskové prideľovanie Multitaskové prideľovanie CPUCPU

Stratégia rešpektujúca vyváženosť Stratégia rešpektujúca vyváženosť systémusystému: Už pri výbere úlohy sa vyberá : Už pri výbere úlohy sa vyberá tá s najväčšími nárokmi na I/O. (Tým sa tá s najväčšími nárokmi na I/O. (Tým sa chce dosiahnuť vysoká využívanosť I/O chce dosiahnuť vysoká využívanosť I/O zariadení u niektorých systémov.)zariadení u niektorých systémov.)

Stratégia preferujúca interaktívny Stratégia preferujúca interaktívny prístupprístup: Ak proces komunikuje : Ak proces komunikuje s používateľom, ihneď mu je pridelený s používateľom, ihneď mu je pridelený strojový čas – chceme tým dosiahnuť čo strojový čas – chceme tým dosiahnuť čo najkratšiu dobu odozvy (BeOS).najkratšiu dobu odozvy (BeOS).

Page 23: Informácie o prednáškach

2323

Multitaskové prideľovanie Multitaskové prideľovanie CPUCPU

Algoritmus plánovania podľa Algoritmus plánovania podľa typu úlohytypu úlohy sa snaží o prioritách sa snaží o prioritách rozhodovať tak, aby čo najlepšie rozhodovať tak, aby čo najlepšie vyvážil využitie I/O (kedy procesor vyvážil využitie I/O (kedy procesor zaháľa) a využitie CPU (vtedy zasa zaháľa) a využitie CPU (vtedy zasa zaháľajú I/O zariadenia).zaháľajú I/O zariadenia).

WindowWindowss a Linux implementujú a Linux implementujú prioritnú a spravodlivú obsluhu s prioritnú a spravodlivú obsluhu s ohľadom na reálny časohľadom na reálny čas

Page 24: Informácie o prednáškach

2424

UnixUnix

sa snaží dosiahnuť akú takú sa snaží dosiahnuť akú takú spravodlivosť premenlivými spravodlivosť premenlivými prioritami (stanovené priority prioritami (stanovené priority procesov sú preň len odporúčaním, procesov sú preň len odporúčaním, v skutočnosti priority podľa v skutočnosti priority podľa vlastného uváženia mení)vlastného uváženia mení)

Page 25: Informácie o prednáškach

2525

KreditnKreditný systém Unixuý systém Unixu

Unix používa kreditný systém, Unix používa kreditný systém, priorita = počet kreditov. Vždy sa na priorita = počet kreditov. Vždy sa na spracovanie vyberá proces s spracovanie vyberá proces s najvyšším počtom kreditov a odčíta najvyšším počtom kreditov a odčíta sa od jeho počtu kreditov číslo 1. Ak sa od jeho počtu kreditov číslo 1. Ak sú kredity všetkých pripravených sú kredity všetkých pripravených (nečakajúcich) procesov nulové, (nečakajúcich) procesov nulové, dôjde k rekreditácii všetkých dôjde k rekreditácii všetkých procesov, aj čakajúcich, takto:procesov, aj čakajúcich, takto:

Page 26: Informácie o prednáškach

2626

Rekreditácia priorít procesovRekreditácia priorít procesov

Kredity = priorita + staré_kredity / 2Kredity = priorita + staré_kredity / 2staré_kredity sú nenulové, a teda sa staré_kredity sú nenulové, a teda sa

využijú, len u procesov, ktoré čakali využijú, len u procesov, ktoré čakali na I/O operáciu, napríklad na vstup na I/O operáciu, napríklad na vstup od používateľa.od používateľa.

Takto sa hráme na spravodlivú Takto sa hráme na spravodlivú obsluhu, lebo proces, ktorý čakal, obsluhu, lebo proces, ktorý čakal, bude mať dočasne vyššiu prioritu.bude mať dočasne vyššiu prioritu.

Page 27: Informácie o prednáškach

2727

WindowsWindows

Priorita procesu v popredí, to je procesu, Priorita procesu v popredí, to je procesu, s ktorým sa práve pracuje (je mu s ktorým sa práve pracuje (je mu pridelená klávesnica a myš), je pridelená klávesnica a myš), je trojnásobne vyššia. Tak má proces trojnásobne vyššia. Tak má proces rýchlu odozvu a pri rovnakom výkone rýchlu odozvu a pri rovnakom výkone počítača pracuje počítač pre používateľa počítača pracuje počítač pre používateľa svižnejšie.svižnejšie.

Windows používa tabuľku tried priorít a Windows používa tabuľku tried priorít a v nej spravodlivo priority (zv nej spravodlivo priority (zverejním verejním nabudúce)nabudúce)

Page 28: Informácie o prednáškach

2828

Reálny čas – real timeReálny čas – real time

Proces zaručene musí reagovať do Proces zaručene musí reagovať do určitého okamihu...určitého okamihu...

Hard realizácia nepoužíva pevné disky Hard realizácia nepoužíva pevné disky (ale ROM) ani odkladanie stránok ani (ale ROM) ani odkladanie stránok ani zložité adresovanie. Je dokonalá a vždy zložité adresovanie. Je dokonalá a vždy OK.OK.

Soft realizácia používa priority u Soft realizácia používa priority u bežného OS – real time aplikácia bude bežného OS – real time aplikácia bude uprednostnená vždy keď nečaká na I/O.uprednostnená vždy keď nečaká na I/O.

Page 29: Informácie o prednáškach

2929

Koniec prezentácieKoniec prezentácie

Môžete už odísť na obed.Môžete už odísť na obed.Opakujem, že prednášky nájdete od Opakujem, že prednášky nájdete od

budúceho pondelka na adrese budúceho pondelka na adrese http://s.ics.upjs.sk/~schmotze/OS.hthttp://s.ics.upjs.sk/~schmotze/OS.htmlml

KKópia je na adreseópia je na adresehttphttp://neuron-ai.tuke.sk/~schmotze/OS.html://neuron-ai.tuke.sk/~schmotze/OS.html

Pripomienky mi zasielajte mailom na Pripomienky mi zasielajte mailom na adresu adresu [email protected]@e-zones.sk