Principy operačních systémů. Lekce 6: Synchronizace procesů

Save this PDF as:
 WORD  PNG  TXT  JPG

Rozměr: px
Začít zobrazení ze stránky:

Download "Principy operačních systémů. Lekce 6: Synchronizace procesů"

Transkript

1 Principy operačních systémů Lekce 6: Synchronizace procesů

2 Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty) Kritická sekce - místo programu, kde je prováděn přístup ke společným datům Problém souběhu v určitém momentu nemohou do kritické sekce vstoupit dva procesy Synchronizační primitivum - má za úkol zajistit do kritické sekce exkluzivní přístup a zároveň konečnou dobu čekání na povolení ke vstupu Lekce 6: Synchronizace procesů 2

3 Příklad souběhu: Současný vklad a výběr Lekce 6: Synchronizace procesů 3

4 Řešení souběhu: Lekce 6: Synchronizace procesů 4

5 Problémy vznikající na kritické sekci Data race : dva přístupy ke zdroji s výlučným přístupem ze dvou procesů bez synchronizace, alespoň jeden přístup je pro zápis Uváznutí (deadlock): úspěšné dokončení první akce je podmíněno předchozím dokončením druhé akce, přičemž druhá akce může být dokončena až po dokončení první akce. V počítači se jedná o zablokování procesů (případně vláken) způsobené křížovým čekáním na synchronizačních primitivech. Lekce 6: Synchronizace procesů 5

6 Problémy vznikající na kritické sekci Blokování (blocking) přístupu do KS: situace, kdy proces, jenž žádá o vstup do kritické sekce, musí čekat, přestože je kritická sekce volná a ani o ni nežádal žádný jiný proces Stárnutí (hladovění, starvation): situace, kdy proces čeká na podmínku, která nemusí nastat (v případě kritické sekce je touto podmínku umožnění vstupu do KS) Livelock podobné jako uváznutí, ale s aktivním čekáním (kdy procesy běží, ale jsou omezeny jen na určitý úsek kódu, který opakovaně žádá o přístup ke zdroji s výlučným přístupem, který vlastní některý z procesů této skupiny) Lekce 6: Synchronizace procesů 6

7 Problémy vznikající na kritické sekci Uváznutí Deadlock Blokování Blocking Stárnutí (vyhladovění) Starvation Lekce 6: Synchronizace procesů 7

8 Kritická sekce Při řízení přístupu do kritické sekce musí být dodrženy tyto podmínky: 1. Žádné dva procesy nesmí být současně uvnitř stejné kritické sekce. 2. Na řešení nesmí mít vliv počet a rychlost CPU. 3. Žádný proces mimo kritickou sekci nesmí blokovat jiný proces. 4. Žádný proces nesmí zůstat čekat nekonečné dlouho na kritickou sekci. Lekce 6: Synchronizace procesů 8

9 Vzájemné vyloučení s aktivním čekáním Zákaz přerušení Zamykací proměnné (Lock Variations) Přesné střídání (Strict Alternation) Petersonův algoritmus Lekce 6: Synchronizace procesů 9

10 Zákaz přerušení Pokud proces vstoupí do své kritické sekce, zakážou se všechna přerušení nemůže tedy dojít k přepnutí kontextu Jakmile proces vystoupí z kritické sekce, přerušení se znovu povolí Není vhodné pro uživatelské procesy - hrozí nebezpečí zablokování systému Nelze použít pro víceprocesorové systémy Zákaz přerušení je ve většině OS umožněn pouze jádru OS jako privilegovaná instrukce OS zpravidla vnitřně používá zákaz přerušení, aby zajistil nedělitelnost posloupností instrukcí používaných při implementaci jiných synchronizačních konstrukcí. Lekce 6: Synchronizace procesů 10

11 Zamykací proměnné Softwarové řešení Sdílená proměnná (zámek) Lock = 0 Pokud proces vstupuje do kritické sekce, musí otestovat Lock. Je-li Lock = 0, může do kritické sekce vstoupit a nastaví Lock na 1. Je-li Lock = 1, nemůže žádný jiný proces do kritické sekce vstoupit a musí počkat, až první proces opustí kritickou sekci a nastaví znovu Lock na 0 aktivní čekání (busy waiting) Toto řešení úplně nevylučuje časový souběh, pokud druhý proces vstupuje do KS v momentu, kdy ještě není přepnutá proměnná Lock (ale první proces již vstoupil do své KS) Lekce 6: Synchronizace procesů 11

12 Přesné střídání (Strict Alternation) Lekce 6: Synchronizace procesů 12

13 Přesné střídání (Strict Alternation) Proměnná turn určuje, který z procesů smí vstoupit do kritické sekce. Je-li turn== 0, do kritické sekce může P0, je-li == 1, pak P1. První proces vstoupí do kritické sekce Druhý proces detekuje turn=0 a čeká až bude 1 (opakovaně testuje tuto proměnnou, tzv. aktivní čekání, busy waiting) První proces opustí kritickou sekci, nastaví turn na 1 a povolí vstup druhému procesu Tento postup vyžaduje pravidelné střídání přístupu obou procesů. Problém:Nechť P0 proběhne svojí kritickou sekcí velmi rychle, turn= 1 a oba procesy jsou v nekritických částech. P0 je rychlý i ve své nekritické části a chce vstoupit do kritické sekce. Protože však turn== 1, bude čekat, přestože kritická sekce je volná. Není splněno pravidlo 3 Řešení nepřípustně závisí na rychlostech procesů Lekce 6: Synchronizace procesů 13

14 Petersonův algoritmus Lekce 6: Synchronizace procesů 14

15 Petersonův algoritmus 2 podprogramy: enter_region, leave_region Proměnná turn udává, který z procesů je na řadě při přístupu do kritické sekce V poli interested procesy indikují svůj zájem vstoupit do kritické sekce; interested[i]==true znamená, že Pi tuto potřebu má Na začátku není v kritické sekci žádný proces Proces 0 volá enter_region(0) Nastaví interested[0]:=true, turn:=0 Protože interested[1]=false, nebude čekat ve smyčce Pokud proces 1 volá enter_region(1) Nastaví interested[1]:=true, turn:=1 Bude čekat ve smyčce, dokud se interested[0] nenastaví na false (voláním leave_region(0)) Lekce 6: Synchronizace procesů 15

16 Petersonův algoritmus Na začátku není v kritické sekci žádný proces Proces 0 volá enter_region(0) Nastaví interested[0]:=true, turn:=0 Protože interested[1]=false, nebude čekat ve smyčce Pokud proces 1 volá enter_region(1) Nastaví interested[1]:=true, turn:=1 Bude čekat ve smyčce, dokud se interested[0] nenastaví na false (voláním leave_region(0)) Lekce 6: Synchronizace procesů 16

17 Petersonův algoritmus Předpokládejme, že oba procesy zavolají enter_region téměř současně. Oba nastaví interested na true Oba nastaví turn na své číslo; téměř souběžný zápis se ale provede sekvenčně, tj. nejdříve nastaví turn jeden, hodnota bude přepsána druhým Oba se dostanou do while (aktivní čekání), proces 0 projde, proces 1 aktivně čeká Proces bude čekat jen tehdy, pokud druhý z procesů je na řadě a současně má zájem do kritické sekce vstoupit Lekce 6: Synchronizace procesů 17

18 Spin-lock s instrukcí TSL (Test and Set Lock) Většina současných počítačů má instrukci, která otestuje hodnotu a nastaví paměťové místo v jedné nedělitelné operaci (TSL - Test and Set Lock ) - HW podpora Proměnná zámek - na počátku 0 Proces, který chce vstoupit do KS, otestuje zámek Pokud zámek=0, nastaví na 1 a vstoupí do KS Pokud zámek=1 čeká Problém časového souběhu (pokud by TSL nebyla atomická): Jeden proces přečte zámek, vidí 0 Druhý proces je naplánován, přečte zámek, vidí 0, nastaví na 1, vstoupí do KS Po naplánování první zapíše 1 a máme 2 procesy v KS Řešení vyžaduje HW podporu Lekce 6: Synchronizace procesů 18

19 Synchronizace bez aktivního čekání Aktivní čekání mrhá strojovým časem Může způsobit i nefunkčnost při rozdílných prioritách procesů Např. vysokoprioritní producent zaplní pole, začne aktivně čekat a nedovolí konzumentovi odebrat položku (samozřejmě to závisí na strategii plánování procesů) Blokování pomocí systémových atomických primitiv sleep()místo aktivního čekání proces se zablokuje wakeup(process)probuzení spolupracujícího procesu při opouštění kritické sekce Lekce 6: Synchronizace procesů 19

20 Synchronizace bez aktivního čekání Lekce 6: Synchronizace procesů 20

21 Synchronizace bez aktivního čekání Problém: Je zde konkurenční soupeření count je opět sdílenou proměnnou Konzument přečetl count== 0 a než zavolá sleep(), je mu odňat procesor Producent vloží do pole položku a count== 1, načež se pokusí se probudit konzumenta, který ale ještě nespí! Po znovuspuštění se konzument domnívá, že pole je prázdné a volá sleep() Po čase producent zaplní pole a rovněž zavolá sleep() spí oba! Příčinou této situace je ztráta budícího signálu Lekce 6: Synchronizace procesů 21

22 Synchronizační primitiva Synchronizační primitiva jsou v operačních systémech prostředky, umožňující zároveň běžícím aplikacím ošetřit současný přístup ke sdíleným prostředkům. Ve smyslu algoritmu se jedná o rozhraní a jeho implementace není důležitá. Používají se tyto typy synchronizačních primitiv: Mutex Zámky resp. Semafory Fronty zpráv Monitory Lekce 6: Synchronizace procesů 22

23 Mutex Mutex = MUTual Exclusion (vzájemné vyloučení) Algoritmus používaný jako synchronizační prostředek, především u vícevláknových procesů (u jednovláknových nahrazován binárním semaforem). Zabraňuje tomu, aby byly současně vykonávány dva (nebo více) kritické kódy nad stejným sdíleným prostředkem, jako například globální proměnné. Mutex může nabývat dvou stavů: volný a vlastněný. K tomu udržuje dva druhy informace. Prvním je identifikátor procesu, který mutex drží. Druhým je počet uzamknutí. Počet uzamknutí je vyjádřen číslem, které aktualizuje operace lock (získání mutexu) nebo unlock (uvolnění mutexu). Cílem je zabránění více procesům držet daný mutex. Při vícenásobném uzamknutí musí být i stejný počet odemknutí. Lekce 6: Synchronizace procesů 23

24 Mutex Získání mutexu mutex je volný - proces se stává držitelem mutexu a počet uzamknutí je 1 mutex je vlastněn aktuálním procesem - počet uzamknutí se zvýší o 1 mutex je vlastněn neaktuálním procesem - proces se zablokuje a čeká na uvolnění mutexu Uvolnění mutexu mutex je volný - nedefinovaný stav, nemůže dojít k vyššímu počtu odemčení než bylo zamčení mutex je vlastněn aktuálním procesem - počet uzamknutí se sníží o 1, pokud je potom nulový, je uvolněn čekajícím procesům mutex je vlastněn neaktuálním procesem - nedefinovaný stav, neaktuální proces nemůže uvolňovat mutex, ten tak nebude uvolněn Lekce 6: Synchronizace procesů 24

25 Semafor Obecný synchronizační nástroj (Dijkstra, NL v r. 1965) Semafor Obecný celočíselná proměnná Binární (zámek, mutex) hodnota 0 nebo 1 Implementace semaforu je založena na 2 atomických operacích: V (verhogen, též označováno jako up) P (proberen, též označováno jako down). Operace down otestuje stav čítače a v případě že je nulový, zahájí čekání. Je-li nenulový, je čítač snížen o jedničku a vstup do kritické sekce je povolen. Při výstupu z kritické sekce je vyvolána operace up, která odblokuje vstup do kritické sekce pro další (čekající) proces. Čítač je možné si představit jako omezení počtu procesů, které mohou zároveň vstoupit do kritické sekce nebo například jako počitadlo volných prostředků. Tato implementace neodstraňuje problém aktivního čekání. Lekce 6: Synchronizace procesů 25

26 Odstranění aktivního čekání V případě, že je při vyvolání operace down(p) čítač nulový, je nutné volající proces zablokovat. Čekání je implementováno jako nekonečná smyčka (tzv. aktivní čekání), která může být přerušena pouze vnějším zásahem jiného procesu do počitadla pomocí volání operace up. Neustálé testování stavu proměnné je možné nahradit pomocí fronty čekajících procesů. Proces je místo aktivního čekání (tj. neustálého kontrolování stavu proměnné) zařazen do fronty, ve které je uspán. Funkce up(v) je rozšířena o průchod touto frontou, kdy je kromě zvýšení počitadla aktivován pouze proces, který je ve frontě první. Tento proces sníží počitadlo a vstoupí do kritické sekce. Ostatní procesy dále čekají v uspaném stavu. Lekce 6: Synchronizace procesů 26

27 Rozdíl semafor vs. mutex Semafory se používají pro podobný účel jako mutexy, a to pro kontrolování vstupu do kritických sekcí. Ale na rozdíl od mutexu, kdy v sekci může být pouze jeden, se semafory lze docílit, že v sekci může být více vláken. Semafor si můžeme představit jako počítadlo s počáteční hodnotou, kterou nastaví uživatel. Vždy při vstupu do kritické sekce se čeká, dokud není hodnota semaforu větší než nula. Pokud je, pak se hodnota zmenší o jednu a vstoupí se do kritické sekce. Na konci sekce se hodnota semaforu o jedničku zvedne. Lekce 6: Synchronizace procesů 27

28 Monitor Monitor je synchronizační primitivum, které se používá pro řízení přístupu ke sdíleným prostředkům. Jeho zvláštností je, že jde o speciální konstrukci programovacího jazyka (musí ho tedy implementovat překladač). Výhodou monitoru oproti jiným primitivům je jeho vysokoúrovňovost, snadněji se používá a je bezpečnější. Při jeho použití je méně pravděpodobné, že programátor udělá chybu. Monitor se skládá z dat, ke kterým je potřeba řídit přístup, a množiny funkcí, které nad těmito daty operují. Implementace monitoru např. v Javě (tam je hlavním synchonizačním primitivem), v.net aj. Lekce 6: Synchronizace procesů 28

29 Monitor Monitor se podobá třídě z OOP. Odlišností je to, že překladač doplní monitor o zámek, díky němuž se dosáhne vzájemné vyloučení v jednu chvíli může být uvnitř monitoru jen jeden proces. Když chce proces vstoupit do monitoru (tj. zavolat jeho funkci), musí nejdříve získat zámek. Pokud zámek v tu chvíli drží někdo jiný, tak se proces zablokuje a čeká, dokud se zámek neuvolní (tj. dokud jiný proces neopustí monitor nebo nezačne čekat na podmíněnou proměnnou) Celý proces zamykání je pro programátora transparentní. V programu se funkce monitoru volají stejně jako ostatní funkce. Kód, který provádí zamykání a odemykání, vygeneruje překladač. Lekce 6: Synchronizace procesů 29

30 Monitor podmínkové proměnné Občas je potřeba, aby proces, který je právě v monitoru, počkal na nějakou událost. Monitor poskytuje tuto funkcionalitu pomocí tzv. podmínkových proměnných. datový typ Condition Condition x, y Pro typ Condition jsou definovány dvě operace x.wait(); Proces, který zavolá tuto operaci je blokován až do doby, kdy jiný proces provede x.signal() x.signal() Aktivuje právě jeden proces čekající na splnění podmínky x. Pokud žádný proces na x nečeká, pak x.signal()je prázdnou operací Lekce 6: Synchronizace procesů 30

31 Monitor podmínkové proměnné Když funkce monitoru potřebuje počkat na splnění podmínky, vyvolá operaci wait na podmíněné proměnné, která je s touto podmínkou svázána. Tato operace proces zablokuje, zámek držený tímto procesem je uvolněn a proces je odstraněn ze seznamu běžících procesů a čeká, dokud není podmínka splněna. Jiné procesy zatím mohou vstoupit do monitoru (zámek byl uvolněn). Pokud je jiným procesem podmínka splněna, může funkce monitoru signalizovat, tj. probudit čekající proces pomocí operace signal Lekce 6: Synchronizace procesů 31

32 Struktura monitoru Lekce 6: Synchronizace procesů 32

33 Synchronizace pomocí zpráv Lekce 6: Synchronizace procesů 33

34 Synchronizace pomocí zpráv Lekce 6: Synchronizace procesů 34

35 Klasické synchronizační úlohy Problém producent konzument Problém čtenářů a písařů Problém večeřících filosofů Lekce 6: Synchronizace procesů 35

36 Producent - konzument Dva procesy sdílejí společnou paměť (buffer) pevné velikosti N položek Jeden proces je producent - generuje nové položky a ukládá je do vyrovnávací paměti Paralelně běží proces konzument, který data vyjímá a spotřebovává Procesy mohou běžet různými rychlostmi => musí být zabezpečeno, aby nedošlo k přetečení/podtečení: Konzument musí být schopen čekat na producenta, nejsou-li data Producent musí být schopen čekat na konzumenta, je-li buffer plný Lekce 6: Synchronizace procesů 36

37 Producent - konzument Klasicky se zde sdílená paměť řeší pomocí pole, kde se z jedné strany položky přidávají a z druhé odebírají. Index kam zapisovat/odebírat počítáme modulo velikost pole. Kolizím zabráníme pomocí dvou semaforů, kde jeden obsahuje informaci o počtu plných prvků pole (f) a druhý o počtu prázdných prvků (e). přidání prvku: P(e) V(f) odebrání prvku: P(f) V(e) P=down V=up Lekce 6: Synchronizace procesů 37

38 Čtenáři a písaři Některé procesy data jen čtou čtenáři Jiné procesy potřebují data zapisovat písaři Souběžné operace čtení mohou čtenou strukturu sdílet Libovolný počet čtenářů může jeden a tentýž zdroj číst současně Operace zápisu musí být exklusivní, vzájemně vyloučená s jakoukoli jinou operací (zápisovou i čtecí) V jednom okamžiku smí daný zdroj modifikovat nejvýše jeden písař Jestliže písař modifikuje zdroj, nesmí ho současně číst žádný čtenář Lekce 6: Synchronizace procesů 38

39 Čtenáři a písaři Dva možné přístupy: Přednost čtenářů Žádný čtenář nebude muset čekat, pokud sdílený zdroj nebude obsazen písařem. Jinak řečeno: Kterýkoliv čtenář čeká pouze na opuštění kritické sekce písařem. Může dojít ke stárnutí (starvation) písařů Přednost písařů Jakmile je některý písař připraven vstoupit do kritické sekce, čeká jen na její uvolnění (čtenářem nebo písařem). Jinak řečeno: Připravený písař předbíhá všechny připravené čtenáře. Může dojít ke stárnutí (starvation) čtenářů Lekce 6: Synchronizace procesů 39

40 Čtenáři a písaři s prioritou čtenářů Lekce 6: Synchronizace procesů 40

41 Čtenáři a písaři s prioritou písařů Lekce 6: Synchronizace procesů 41

42 Večeřící filosofové 5 filosofů sedí kolem kulatého stolu Každý filosof má před sebou talíř se špagetami Mezi každými dvěma talíři je vidlička Špagety jsou tak klouzavé, že filosof potřebuje 2 vidličky, aby mohl jíst Když filosof dostane hlad, pokusí se vzít 2 vidličky; pokud uspěje, nějakou dobu jí, pak položí vidličky a pokračuje v přemýšlení Lekce 6: Synchronizace procesů 42

43 Večeřící filosofové Problémy: Uvíznutí (deadlock): Všichni filozofové zvednou levou vidličku, žádný z nich už nemůže pokračovat, Vyhladovění (starvation): Pokud by filozofové vzali najednou levou vidličku, budou běžet cyklicky - vidí, že pravá není volná, položí Řešení - Dijkstra (pomocí semaforů) Lekce 6: Synchronizace procesů 43

44 Večeřící filosofové Lekce 6: Synchronizace procesů 44

45 Večeřící filosofové ochrana proti uvíznutí Lekce 6: Synchronizace procesů 45

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové Operační systémy Tomáš Hudec 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu, 6.1.1 Obědvající filosofové, 6.1.2 Producenti a konzumenti, 6.1.3 Problém spících holičů, 6.1.4 Problém pisatelů

Více

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end; Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru

Více

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Dvě sémantiky vzhledem k hodnotám čítače: 1. čítač >= 0 Operace DOWN zkontroluje

Více

Principy počítačů a operačních systémů

Principy počítačů a operačních systémů Principy počítačů a operačních systémů Operační systémy Synchronizace procesů, zablokování Zimní semestr 2011/2012 Přístup ke sdíleným datům Terminologie: souběžné vs. paralelní zpracování Paralelní provádění

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 17 Monitor Semafor vedle aktivní (čekací smyčka, busy-wait) i pasivní implementace

Více

Operační systémy. Přednáška 5: Komunikace mezi procesy

Operační systémy. Přednáška 5: Komunikace mezi procesy Operační systémy Přednáška 5: Komunikace mezi procesy 1 Semafory Datový typ semafor obsahuje čítač a frontu čekajících procesů. Nabízí tři základní operace: Init(): Čítač se nastaví na zadané číslo (většinou

Více

Služba ve Windows. Služba (service) je program

Služba ve Windows. Služba (service) je program Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské

Více

Operační systémy - modelování a algoritmy paralelních výpočtů

Operační systémy - modelování a algoritmy paralelních výpočtů Operační systémy - modelování a algoritmy paralelních výpočtů texty pro distanční studium Doc. Ing. Cyril Klimeš, CSc. Ostravská univerzita v Ostravě, Přírodovědecká fakulta Katedra informatiky a počítačů

Více

OS Deadlock a prevence

OS Deadlock a prevence OS Deadlock a prevence Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Prostředky poskytované OS OS poskytuje procesům systémové prostředky (zdroje, resources) HW zařízení,

Více

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch

ZOS 9. cvičení, ukázky kódu. Pavel Bžoch ZOS 9. cvičení, ukázky kódu Pavel Bžoch Obsah Komunikace mezi procesy Atomické operace TSL a CAS Zámky Semafory Semafory vypsání věty Monitor Bariéra pomocí monitoru Implementace semaforu pomocí monitoru

Více

Přidělování paměti I Mgr. Josef Horálek

Přidělování paměti I Mgr. Josef Horálek Přidělování paměti I Mgr. Josef Horálek = Paměť = operační paměť je paměť, kterou přímo využívají procesory při zpracováni instrukci a dat; Paměť Funkce modulu přidělování paměti = Sledování stavu každého

Více

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.

Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce. Operační systémy Tomáš Hudec 7 Prostředky programovacích jazyků pro IPC Obsah: 7.1 Monitor, 7.1.1 Použití monitoru pro řízení přístupu do kritické sekce, 7.1.2 Použití monitoru pro synchronizaci, 7.1.3

Více

04. Mutexy, monitory. ZOS 2006, L. Pešička

04. Mutexy, monitory. ZOS 2006, L. Pešička 04. Mutexy, monitory ZOS 2006, L. Pešička Administrativa změna termínů zápočtových testů 7.11.2006 (út), EP130, 18:30 12.12.2006 (út), EP130, 18:30 Semafory Ošetření kritické sekce ukázka více nezávislých

Více

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH 1 teorie dosud -aplikace jednouživatelské praxe - databáze současně přístupná více uživatelům, paralelní běh aplikací příklady

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =

Více

PARA Filozofové, kuřáci a holič

PARA Filozofové, kuřáci a holič PARA Filozofové, kuřáci a holič Lenka Carr Motyčková 22. duben 2014 PDS Semafory 1 1. Večeřící filozofové (Dijkstra 1968) Problém: N (typicky 5) flozofů sedí u kulatého stolu, přemýšlí nebo jedí pomocí

Více

Principy operačních systémů. Lekce 2: Správa paměti

Principy operačních systémů. Lekce 2: Správa paměti Principy operačních systémů Lekce 2: Správa paměti Funkce správce paměti Správce (operační) paměti je součástí kernelu. Jeho implementace může být různá, ale základní funkce jsou obdobné ve všech OS: Udržovat

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 15. Otázka : Paralelní procesy v databázích. Transakce, zamykání, uváznutí. Dvoufázový protokol, časová razítka. Obsah : 1 Úvod 2 Paralelní procesy v databázích

Více

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy) Architektura a koncepce OS OS a HW (archos_hw) Aby fungoval OS s preemptivním multitaskingem, musí HW obsahovat: 1. (+2) přerušovací systém (interrupt system) 2. (+2) časovač Při používání DMA: 1. (+1)

Více

Přidělování zdrojů (prostředků)

Přidělování zdrojů (prostředků) Přidělování zdrojů (prostředků) Proces potřebuje zdroje (prostředky) hardware (I/O zařízení, paměť) software (data, programy) Klasifikace zdrojů (z hlediska multitaskingového režimu) Násobně použitelné

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 18 0:40 Algoritmus Algoritmem by se dal nazvat

Více

Synchronizace procesů

Synchronizace procesů Synchronizace procesů Tomáš Vojnar vojnar@fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 BRNO 11. dubna 2011 Operační systémy Synchronizace procesů Současný

Více

Principy operačních systémů. Lekce 3: Virtualizace paměti

Principy operačních systémů. Lekce 3: Virtualizace paměti Principy operačních systémů Lekce 3: Virtualizace paměti Virtuální paměť Adresní prostor paměti je uspořádán logicky jinak, nebo je dokonce větší než je fyzická operační paměť RAM Rozšíření vnitřní paměti

Více

1. Programování PLC. Programovatelné automaty II - 1 -

1. Programování PLC. Programovatelné automaty II - 1 - Programovatelné automaty II - 1-1. Programování PLC Centrální jednotka Poskytuje programovatelnému automatu inteligenci. Realizuje soubor instrukcí a systémových služeb, zajišťuje i základní komunikační

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů Distribuovaná synchronizace Využití kritické sekce při vzájemném vyloučení v distribuovaném systému Paralelní a distribuované systémy 11. Přednáška Vzájemné vyloučení Logicky distribuovaný systém s vlákny

Více

Principy operačních systémů. Lekce 8: Ovladače periferií

Principy operačních systémů. Lekce 8: Ovladače periferií Principy operačních systémů Lekce 8: Ovladače periferií Vstupní a výstupní zařízení I/O zařízení, V/V zařízení Systém vstupních a výstupních zařízení je subsystémem operačního systému, který zprostředkovává

Více

Stavba operačního systému

Stavba operačního systému Stavba operačního systému Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,

Více

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit

Více

Architektura počítače

Architektura počítače Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích

Více

Přidělování paměti II Mgr. Josef Horálek

Přidělování paměti II Mgr. Josef Horálek Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování Tomáš Foltýnek foltynek@pef.mendelu.cz Paralelní programování strana 2 Opakování Co je to síť? Co je to tok? Co je to velikost toku? Co je to řez? Co je to velikost řezu? Jaký je vztah mezi velikostí toku

Více

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat

Více

Procesor. Procesor FPU ALU. Řadič mikrokód

Procesor. Procesor FPU ALU. Řadič mikrokód Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé

Více

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho

Při překrývání se využívá toho, že ne všechny moduly programu jsou vyžadovány současně. Jakmile skončí využívání jednoho Operační systémy Tomáš Hudec 9 Správa paměti, metody alokace paměti, virtualizace paměti Obsah: 9.1 Techniky přidělování paměti, 9.1.1 Pevné dělení paměti, 9.1.1.1 Stejně velké oblasti, 9.1.1.2 Různě velké

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

SPRINT 03 24V SPRINT 04 24V

SPRINT 03 24V SPRINT 04 24V SPRINT 03 24V SPRINT 04 24V řídící jednotka pro posuvné brány 24V autorizovaný prodejce DŮLEŽITÉ POZNÁMKY PRO INSTALAČNÍ TECHNIKY VŠEOBECNÉ BEZPEČNOSTÍ PŘEDPISY 1) POZOR! Aby byla zajištěna bezpečnost

Více

Operační systémy. Přednáška 8: Správa paměti II

Operační systémy. Přednáška 8: Správa paměti II Operační systémy Přednáška 8: Správa paměti II 1 Jednoduché stránkování Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné

Více

Management procesu I Mgr. Josef Horálek

Management procesu I Mgr. Josef Horálek Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více

Více

Paralelní programování

Paralelní programování Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních

Více

Přednáška 4. Klasické synchronizační úlohy. Implementace procesů, vláken.

Přednáška 4. Klasické synchronizační úlohy. Implementace procesů, vláken. Přednáška 4 Klasické synchronizační úlohy. Implementace procesů, vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika

Více

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého) Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého) Historický základ Jednoduché a málo výkonné počítače Uživatel

Více

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena.

Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena. Testování software Testování SW má podstatný vliv na kvalitu dodaného produktu. Náklady na odstranění chyby stoupají, v čím pozdější fázi životního cyklu aplikace je chyba nalezena. Na druhé straně, vytvořit

Více

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu Ukazatel a dynamické datové struktury v prostředí DELPHI Důležitým termínem a konstrukčním programovým prvkem je typ UKAZATEL. Je to vlastně

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

Více

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace 1) Charakterizujte křížový překladač Překlad programu probíhá na jiném procesoru, než exekuce. Hlavním důvodem je náročnost překladače na cílovém stroji by ho nemuselo být možné rozběhnout. 2. Objasněte

Více

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48

LED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48 LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám

Více

Lekce 04 Řídící struktury

Lekce 04 Řídící struktury Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 04 Řídící struktury Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním

Více

Grafické znázornění vláken a klasické problémy synchronizace

Grafické znázornění vláken a klasické problémy synchronizace Grafické znázornění vláken a klasické problémy synchronizace Naďa Jašíková Vít Koumar Jindřich Samec 1 Grafické znázornění vláken a jejich komunikace v UML Unified Modelling Language (UML) se používá k

Více

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1 Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována

Více

ZOS. Verze 2010-srpen-31, v3 L. Pešička

ZOS. Verze 2010-srpen-31, v3 L. Pešička ZOS Verze 2010-srpen-31, v3 L. Pešička Základní znalosti vhodné k opakování Rozhodně prosím neberte jako jediný materiál na učení ke zkouškám / státnicím obsahuje jen vybrané části Jde zde o zopakování,

Více

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod RNDr. Jiří Barnat, Ph.D. Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu Organizace

Více

Operační systém z hlediska procesu Mgr. Josef Horálek

Operační systém z hlediska procesu Mgr. Josef Horálek Operační systém z hlediska procesu Mgr. Josef Horálek = Stav probíhající (running) = procesu je přidělen procesor a právě se provádí příslušné programy; = Stav čekající (waiting) = proces čeká na určitou

Více

Charakteristika dalších verzí procesorů v PC

Charakteristika dalších verzí procesorů v PC Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace

Více

Práce s velkými sestavami

Práce s velkými sestavami Práce s velkými sestavami Číslo publikace spse01650 Práce s velkými sestavami Číslo publikace spse01650 Poznámky a omezení vlastnických práv Tento software a související dokumentace je majetkem společnosti

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média - 10.1 - Kapitola 10: Diskové a souborové struktury Přehled fyzických ukládacích médií Magnetické disky RAID (Redundant Array of Inexpensive Disks) Terciární úložiště Přístup k médiu Souborové organizace

Více

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a 1 Počítače CISC a RISC V dnešní době se ustálilo dělení počítačů do dvou základních kategorií podle typu použitého procesoru: CISC - počítač se složitým souborem instrukcí (Complex Instruction Set Computer)

Více

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Popis problému Orientaci ve známém prostředí lze převést na problém nalezení cesty z místa A do místa B. Obecně platí, že robot

Více

Vstupně - výstupní moduly

Vstupně - výstupní moduly Vstupně - výstupní moduly Přídavná zařízení sloužící ke vstupu a výstupu dat bo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo, ale prostřednictvím vstupně-výstupních modulů ( ů ). Hlavní

Více

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí

Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí Výpočet v módu jádro v důsledku událostí - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení řízení se předá na proceduru pro ošetření odpovídající události část stavu přerušeného procesu

Více

Intel 80486 (2) Intel 80486 (1) Intel 80486 (3) Intel 80486 (4) Intel 80486 (6) Intel 80486 (5) Nezřetězené zpracování instrukcí:

Intel 80486 (2) Intel 80486 (1) Intel 80486 (3) Intel 80486 (4) Intel 80486 (6) Intel 80486 (5) Nezřetězené zpracování instrukcí: Intel 80486 (1) Vyroben v roce 1989 Prodáván pod oficiálním názvem 80486DX Plně 32bitový procesor Na svém čipu má integrován: - zmodernizovaný procesor 80386 - numerický koprocesor 80387 - L1 (interní)

Více

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti. Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel

Více

UNIVERZITA OBRANY. Knihovna HLAGate. Programátorská dokumentace. Petr Františ 24.1.2011

UNIVERZITA OBRANY. Knihovna HLAGate. Programátorská dokumentace. Petr Františ 24.1.2011 UNIVERZITA OBRANY Knihovna HLAGate Programátorská dokumentace Petr Františ 24.1.2011 Programátorská dokumentace knihovny HLAGate, výsledek projektu DISIM Popis knihovny Knihovna HLAGate je určena pro propojení

Více

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247 Inovace bakalářského studijního oboru Aplikovaná chemie Reg. č.: CZ.1.07/2.2.00/15.0247 APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY s využitím LabView 2. Číslicové počítače a jejich využití pro

Více

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces

Více

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz

Bootkity v teorii a praxi. Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Bootkity v teorii a praxi Martin Dráb martin.drab@email.cz Http://www.jadro-windows.cz Definice Pod pojmem bootkit budeme rozumět software, který začíná být aktivní během procesu startu počítače ještě

Více

Principy operačních systémů. Lekce 7: Souborový systém

Principy operačních systémů. Lekce 7: Souborový systém Principy operačních systémů Lekce 7: Souborový systém Souborový systém Souborový systém (anglicky file system) je označení pro způsob organizace dat ve formě souborů (a většinou i adresářů) tak, aby k

Více

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská

Více

Úvod do architektur personálních počítačů

Úvod do architektur personálních počítačů Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu

Více

Interpret jazyka IFJ2011

Interpret jazyka IFJ2011 Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:

Více

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Programování v jazyce C Tématický blok č. 8: Dynamické datové struktury, ladění programů Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Dynamické datové struktury 1.1 Příklad:

Více

Zdroj: http://www.fit.vutbr.cz

Zdroj: http://www.fit.vutbr.cz Zdroj: http://www.fit.vutbr.cz Motivace Cílem této úlohy je zopakovat si nebo se naučit vytváření obecných řešení, která na rozdíl od ad hoc řešení umožňují zvládat složitější úlohy bez nadměrného úsilí,

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Část 2

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Část 2 MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Část 2 Vítejte v šesté lekci mého kurzu MQL 4. Doufám, že se vám předchozí lekce líbily. V předchozí lekci jsme se bavili o smyčkách.

Více

5. STRUKTURA PLC PROGRAMU

5. STRUKTURA PLC PROGRAMU 5. STRUKTURA PLC PROGRAMU Struktura PLC programu je navržena s ohledem na co jefektivnější návrh programu při přizpůsobení CNC systému na stroj. 5.1 Moduly jazyka TECHNOL Moduly jazyka PLC836 byly vytvořeny

Více

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10

PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10 UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY PROGRAMOVÁNÍ MIKROPOČÍTAČŮ CVIČENÍ 10 Využití zásobníku pro předání parametrů podprogramům a lokální proměnné Jan Dolinay Petr Dostálek Zlín

Více

Správa procesů a vláken Mgr. Josef Horálek

Správa procesů a vláken Mgr. Josef Horálek Správa procesů a vláken Mgr. Josef Horálek Správa procesů a vláken = Jeden z nejdůležitějších úkolů jádra operačního systému = Linuxové jádro dosáhlo důkladné implementace umožňující například plnohodnotné

Více

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba. Odpovědi jsem hledala v prezentacích a na http://www.nuc.elf.stuba.sk/lit/ldp/index.htm Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je

Více

Programovací jazyky s podporou vláken Java

Programovací jazyky s podporou vláken Java Programovací jazyky s podporou vláken Java Co je to vlákno? Hierarchie z pohledu operačního systému: Proces o největší výpočetní entita plánovače o vlastní prostředky, paměť a další zdroje o v závislosti

Více

OBECNÉ INSTALAČNÍ INSTRUKCE

OBECNÉ INSTALAČNÍ INSTRUKCE UPOZORNĚNÍ ČESKY OBECNÉ INSTALAČNÍ INSTRUKCE BEZPEČNOSTNÍ UPOZORNĚNÍ: 1- Pro úspěšnou instalaci si nejprve přečtěte celý návod a projděte si všechny nákresy. 2- Abyste se vyvarovali možného zásahu elektrickým

Více

VIBRAČNÍ HODINKY Poháněné solární energií GEEMARC WATCH

VIBRAČNÍ HODINKY Poháněné solární energií GEEMARC WATCH VIBRAČNÍ HODINKY Poháněné solární energií GEEMARC WATCH Úvod Gratulujeme vám k pořízení vašich hodinek Geemarc Watch. Hodinky mají solární napájení a jsou vybavené čtyřmi silnými vibračními alarmy, které

Více

Poslední aktualizace: 21. května 2015

Poslední aktualizace: 21. května 2015 Operační systémy seznam otázek ke zkoušce Poslední aktualizace: 21. května 2015 Průběh zkoušky: Zkouška je písemná, obvykle cca 6 7 otázek vybraných z níže uvedených. Po vyhodnocení budou výsledky na webu

Více

Cvičení č. 6. Synchronizace ve Windows. 3 Body

Cvičení č. 6. Synchronizace ve Windows. 3 Body Cvičení č. 6 Synchronizace ve Windows 3 Body Datum: 3.4.2008 1 Obsah 1. Úvod...2 2. Pokyny pro odevzdání...2 3. Příprava...2 4. Úlohy...3 4.1 Doporučení pro implementaci...3 4.5 Přehled použitých funkcí

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Kolektivní komunikační primitava RNDr. Jiří Barnat, Ph.D. Kvantitativní parametry komunikace B109 Návrh a implementace paralelních systémů: Kolektivní komunikační

Více

Distribuované algoritmy

Distribuované algoritmy SU Media: Student Středník ČWUT AVC SH Akropolis ikariéra Distribuované algoritmy z ČWUT Obsah 1 Asymetrické a symetrické algoritmy, metody interakce procesů 2 Kauzalita v distribuovaném

Více

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)

Více

Operační systémy Linux, Mac OS X a jejich srovnání

Operační systémy Linux, Mac OS X a jejich srovnání 5 5.1 Operační systémy Linux, Mac OS X a jejich srovnání Popište výhody programů OpenSource, čím se vyznačují OpenSource programy se vyznačují tím, že se dodávají i se zdrojovým kódem. S tímto kódem může

Více

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný.

Přerušení POT POT. Přerušovací systém. Přerušovací systém. skok do obslužného programu. vykonávaný program. asynchronní událost. obslužný. 1 Přerušení Při výskytu určité události procesor přeruší vykonávání hlavního programu a začne vykonávat obslužnou proceduru pro danou událost. Po dokončení obslužné procedury pokračuje výpočet hlavního

Více

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1 MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Part 1 Vítejte v páté lekci mého kurzu MQL4. Předchozí lekci si můžete stáhnout z tohoto odkazu: http://forex-tsd.com /attachment.php?attachmentid=399

Více

PRACOVNÍ DOKUMENT ÚTVARŮ KOMISE SHRNUTÍ POSOUZENÍ DOPADŮ. Průvodní dokument k

PRACOVNÍ DOKUMENT ÚTVARŮ KOMISE SHRNUTÍ POSOUZENÍ DOPADŮ. Průvodní dokument k EVROPSKÁ KOMISE V Bruselu dne 6.7.2011 SEK(2011) 871 v konečném znění PRACOVNÍ DOKUMENT ÚTVARŮ KOMISE SHRNUTÍ POSOUZENÍ DOPADŮ Průvodní dokument k PŘEZKUMU KOMISE, KTERÝ SE TÝKÁ FUNGOVÁNÍ NAŘÍZENÍ EVROPSKÉHO

Více

Operační systémy 2. Přednáška číslo 2. Přidělování paměti

Operační systémy 2. Přednáška číslo 2. Přidělování paměti Operační systémy 2 Přednáška číslo 2 Přidělování paměti Základní pojmy Paměť = operační paměť paměť, kterou přímo využívají procesory při zpracování instrukcí a dat Funkce modulu přidělování paměti: Sledování

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček 12. 10. 2013 úvodní

Více

METROLOGIC INSTRUMENTS, INC. MS5100 Eclipse Series. Instalační a uživatelská příručka

METROLOGIC INSTRUMENTS, INC. MS5100 Eclipse Series. Instalační a uživatelská příručka METROLOGIC INSTRUMENTS, INC. MS5100 Eclipse Series Instalační a uživatelská příručka ÚVOD MS5145 Eclipse je jednořádkový ruční laserový snímač. Vybavený Metrologic patentovanou technologií CodeGate, může

Více

KOMINEK OS (RT-08G-OS)

KOMINEK OS (RT-08G-OS) KOMINEK OS (RT-08G-OS) OPTIMALIZÁTOR SPALOVÁNÍ PRO KRBOVÁ KAMNA S AKUMULAČNÍ HMOTOU NÁVOD K OBSLUZE V1.0 (30.01.2012 k programu v1.0) 1 Princip činnosti Regulátor pomoci vzduchové klapky kontroluje spalovací

Více

Operační systémy. Cvičení 5: Volání jádra, procesy, vlákna.

Operační systémy. Cvičení 5: Volání jádra, procesy, vlákna. Operační systémy Cvičení 5: Volání jádra, procesy, vlákna. 1 Obsah cvičení Systémová volání Knihovní funkce jazyka C Procesy informace o procesech vytváření, ukončování procesů, signály POSIX vlákna vytváření,

Více

VTB 05. Venkovní jednotka VTB-05. Uživatelský manuál domácího videotelefonu. Celkový popis venkovní jednotky

VTB 05. Venkovní jednotka VTB-05. Uživatelský manuál domácího videotelefonu. Celkový popis venkovní jednotky Uživatelský manuál domácího videotelefonu VTB 05 Venkovní jednotka VTB-05 Celkový popis venkovní jednotky Venkovní jednotka VTB-05 může pracovat se všemy druhy vnitřních telefonů systému VTB-05 pro základní

Více