1. Definice OS: typy OS, abstrakce a služby, systémová volání.

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

Download "1. Definice OS: typy OS, abstrakce a služby, systémová volání."

Transkript

1 1. Definice OS: typy OS, abstrakce a služby, systémová volání. Definice: -softwarova nadstavba HW, společně s hw představuje virtualni počitač, jádro zavedeno v paměti -prostředi pro provaděni programů (efektivně předava a odebira řizeni programům,chrani a izoluje,programy a data) -zobecněne rozhrani pro přistup k systemovym prostředkům (poskytuje služby virtualniho počitače,řeši rozdily jednotliveho hardware, programatorům zpřistupňuje paměť,soubory a VV zažizeni) -rozšíření stroje (vizualizace) pohled shora, zjednodušující rozhraní například čtení, zápis na disk -správce prostředků(pohled zdola) -procesory, paměti, V/V zařízení tisk na tiskárnu, multiplexing (sdílení) v čase (CPU) Typy OS: Mainframe os, viceprocesorove,osobni počitače,real-time, vestavěné Abstrakce: OS skrývá detaily ovládání některých zařízení, ale nabízí funkce pro jejich využívání abstraktní vrstva api - zjednodušení, nezatěžuje programátora Služby: tvorba programů, provaděni programů, přistup k IO a souborům, přistup k systemu (sprava a přidělovani prostředků,ochrana přistupu k privatnim prostředkům a datům),detekce chyb.. Systémová volání: Volání služeb jádra OS, u monolitických OS unix, každé volání má své číslo, s tímto číslem provede knihovní funkce instrukci TRAP. Windows mikrojádro, WIN32 API Typy-procesy(nahrazeni,čekani na ukončeni, ukončeni),soubory,adresaře a souborove systemy, ostatni (změna prav,signal,zjištěni času) 2. Moderní koncepce OS, architektura jádra: monolitický systém, vrstvený systém, virtuální stroj, mikrojádro. Jádro základní kámen OS, kernel, přiděluje paměť a čas procesoru programům(procesům), ovládá zařízení počítače pomocí ovladačů a abstrakních funkcí, je zavedeno do Operační paměti a následně mu předáno řízení poč. MONOLITICKý všechny funkce v jádru, velké, náročné na paměť, složité Vrstvený nad jádrem sou jednotlivé vrstvy, a vždycky vyšší používá služby nižší (aplikace,virtuální pocitac, os, hw) Virtuální počítač: software, který vytváří virtualizované prostředí mezi platformou počítače a operačním systémem, ve kterém může uživatel provozovat SW na abstraktním stroji - Aplikační ZEND(PHP),HW - WMWARE,na úrovni OS - FREEBSD, SOLARIS Mikrojádro pouze základní funkce obsažené v jádře, zbytek v knihovnách 3. Navrh OS a jeho bezpečnost: důvody naročnosti implementace S, principy jeho vyvoje, zabezpečeni, typy utoků a prevence, ochrana systemu, dat, uživatelů, procesů. Cíle HW - definovani spravnych abstrakci (nejnaročnějši procesy, soubory, atd.) - definice datovych struktur a operaci na nich (procesy, soubory, semafory) - separace a izolace uživatelů i procesů (izolace chyb) - sprava HW (čipy pro přerušeni, řadiče, IO zařizeni) Principy: Jednoduchost (každá část(funkce) by měla dělat jen jednu věc, není-li tolik potřebná, měla by bejt v knihovně a ne v jádře), úplnost, efektivnost

2 Náročnost implementace: - Nesmí nastat chyby v synchronizaci Nesmí nastat chyby ve výlučném přístupu (s určitými daty, pracovat jen jeden proces), smrtící smyčka(dead-lock) Důvody náročnosti OS: 1) rozsáhlost, komplexnost, složitost 2) konkurence 3) ochrana 4) sdílení dat a prostředků 5) životnost 6) Obecnost použití 7) přenositelnost 8) zpětná kompabilita Bezpečnost: - řizeni přistupu k prostředkům - dovolit vstup do systemu pouze opravněnym uživatelům - dovolit uživatelskym procesům přistup pouze k prostředkům, pro ktere maji opravněni (operačni paměť, soubory, periferni zařizeni) Typy útoků: a) zvenčí b) ze vnitř od uživatele kterým je systém určen Způsoby: 1) Trojské koně 2) login spoofing 3)viry, červy 4) zadní vrátka(vložená metoda přístupu navíc) 5) logic. čas. bomby 6)Buffer/Stack owerflow... chyba neosetrene delky vstupu 7) zahlceni serveru Metody: a) pasivní odposlech b) aktivní odposlech změna zpravy.. Ochrana: Systemy: domény(stanoveni domen a prav), Uzivatel ACL acces control list: seznam prav uzivatele, Procesy C-list: seznam prav pro procesy, dale se daj pouzit ruzne firewally a kom. filtry pojmy: autentifikace-ověření identity(hesla) autorizace-ověření oprávnění, šifrování.. 4. CPU: provádění instrukce, přerušitelnost procesu (a instrukce), přerušovací systém, průběh přerušení, časovač, sdílení času. Provádění instrukce: CPU ověřuje požadavky na přerušení vždy před načtením nové instrukce, pokud přerušení není povoleno, CPU načte následující instrukci, pokud povoleno, nastane přerušení a změní se adresa na další instrukci Přerušitelnost procesu(a instrukce): může dojít na hranici instrukcí, IO program předa IO modulu povel a povoli přerušeni, program může pokračovat dal dokud neni třeba provest dalši IO operaci, v OS takovy program pozastaven dokud IO operace neni dokončena a procesor je zaměstnan jinou praci Přer. system: Prioritni přerušovaci system-požadavek s vyšši prioritou může přerušit provaděni obslužne rutiny přerušeni s nižši prioritou, obsluha přerušeni s nižši prioritou se dokonči až po obslouženi všech požadavků s vyšši prioritou (přerušeni z LAN ma přednost před přerušenim z tiskarny, protože vyrovnavaci paměť je nutne rychle uvolnit pro dalši data) umožní efektivní využití cpu Časovač: zajištuje preempci, je to čítač, který odměřuje čas a generuje přerušení v pravidelných intervalech Sdílení času: multitasking přepínání kontextu / přidělení časových kvant / kooperativní multitasking. Vice uživatelů může sdílet jeden PC(sdílení času), jeden uživatel víc procesů a oboje. 5. Vstupně-výstupní zařízení: techniky programování vstupu a výstupu, DMA. Paměť cache, střední přístupová doba. IO moduly(řadiče, kanály, koprocesory..) -hw pro ovladani periferii, disky, klavesnice, display,tiskarna, komunikařni zařizeni (lan modem) IO logika -zajišťuje interakci modulu s CPU přes řidici čast sběrnice, je zde implementovan protokol systemove sběrnice (PCI,AGP) IO operace IO program připravi IO modul pro požadovanou akci tim, že odešle potřebne přikazy a data, pote io program čeka na dokončeni,testovanim stavu IO modulu CPU provadi neproduktivni činnost,po dokončeni operace předava IO program řizeni zpět programu DMA (Direct Memory Access) je způsob, kterym počitače umožňuji hardwarovemu subsystemu přimy přistup do operačni paměti tzn. bez učasti procesoru. Pomoci DMA mohou počitače přenašet data mezi zařizenimi a operačni paměti s podstatně menšimi naroky na procesor. DMA použiva

3 mnoho komponent napřiklad řadiče disků, graficke karty, siťove karty nebo zvukove karty. Cache: rychlá paměť obvykle drahá, odkazuje se na omezenou oblast paměti(cyklus v programu), činitel úspěšnosti Hit Ratio(kdy je hledaná informace v cache nalezena) se blíží 1 Střední přístupová doba: Ts=Tc+(1-HR)*Top (T cache je výrazně měnší než T operační paměti) 6. Požadavky OS na HW nutné pro jeho implementaci: zejména na procesor, správu a adresování paměti. Procesory zpracování má obvykle fáze: načtení instrukce, dekódování a provedení instrukce; ALU, FPU numerický koprocesor, registry malé úložiště dat umístěné v microprocesoru( slouží pro rychlejší načtení dat) 2 rezimy: User neni vse povoleno / Kernel priviligovany rezim, instrukce Trap skok mezi temito rezimy Pamet: Registry, Cache-(vyrovnavaci pamet, mezi 2 subsystemys ruznou ryhclosti, vyrovnava rychlost pristupu, vyuziva principu lokality odkazu), Ram... V/V zařízení: OS praci s nim zjednodušuje,ovladače začleněny do jadra,spuštěny přistartu/za běhu( přes USB, využtití DMA.. přístup do RAM bez využití proc.),přerušeni (dokud požadavek nevyřizen je zaměstnan procesor jinou praci) Požadavky OS na HW: - přerušovací systém( efektivní využití CPU), časovač umožnění preempce, CPU s podporou Kernel a USER a CPU s podporou virtualizace paměti 7. Implementace procesu v OS: proces a program, tabulka procesů, přepínání kontextu, stav procesu, třístavový a sedmistavový model. Program recept na dort, proces pečení podle toho receptu Proces-konkretni provedeni určiteho programu, program lze provadět opakovaně s různymi daty, v danem okamžiku lze jeden program provadět vicekrat Provádění: sekvenční / Multiprograming Implementace procesu v OS pomocí tabulky procesů (PCB process controll block)(v jádře OS, uchovává data potřebná k běhu procesu, využívá se ke změně kontextu, uložení stavu atd.) adresový prostor (kód - text, stack, data, help), přidělené prostředky otevřené soubory, semafory; kontext (stav) registry CPU, mapování paměti; atributy id, údaje plánovače, práva, časy, účtování Vznik procesu: a) inicializace OS b) sys. volanim c) požadavek uživ. Postup při vytvořeni procesu-přiděleni identifikatoru, alokovani mista v paměti,inicializace řidiciho bloku PCB,nastaveni odkazů,uloženi zaznamu o aktivaci procesu Ukončení procesu: normal, s chybou, s fatal. chybou, zabití Dispečer: převádění z jednoho procesu na druhej Přepínání kontextu střídání vláken na procesoru/procesorech při přerušení (například při V/V operaci), ukládání kontextu (stavu) procesu, obsluha ovladačem v jádře; plánovač rozhodne, který proces poběží poté 8. Procesy v OS UNIX/Linux: vznik a zánik procesu, funkce fork(), exec(), exit(); hierarchie procesů, stavy procesů v Linuxu, příkaz ps, adresář /proc; signály a jejich zpracování. Kromě prvního procesu(jádro, pomocí init()) vzníkají procesy pouze výhradně pomocí fork

4 Proces init je vždy prvním procesem uživatelské úrovně, který spouští jádro systému, startuje daemony (obslužné programy systémových a síťových služeb) a terminály umožňující přihlášení uživatelů (getty). Implementuje úrovně běhu systému a stará se o osiřelé procesy. fork() je v informatice speciální systémové volání poskytované unixovým jádrem operačního systému. Jeho vyvoláním vznikne z rodičovského procesu nový proces (potomek) tak, že se aktuální proces rozdvojí na dva identické procesy (s různými PID) a běh programu pokračuje dalším příkazem ve dvou vzájemně nezávislých větvích. exec() Jeho vyvoláním je kód běžícího procesu kompletně nahrazen programem, který je předán jako parametr. Zachováno zůstane PID a prostředí procesu (otevřené soubory, PCB apod.), avšak před jeho voláním je pro otevřené soubory nutné vyprázdnit buffery a cache. Exit proces ukončí svoji činnost. Ukončením procesu jsou operačnímu systému vráceny všechny prostředky, které proces alokoval (operační paměť, otevřené soubory atd.). V případě multithreadingu je ukončeno jen příslušné vlákno. Příkaz ps - Příkaz ps ve většině unixových systémů zobrazuje běžící procesy. Má několik přepínačů, používaná kombinace je například -ef, kde -e znamená všechny procesy a -f plný výstup (někdy se místo f používá l) Adresář /proc - je virtuální filesystém, slouží pro komunikaci uživatelských programu s jádrem operačního systému, kterému lze předávat parametry. Každý soubor v tomto adresáři reprezentuje nějakou funkci, případně program místo nazvu PID -obsahuje soubory cwd-adresař v kterem seproces nachazi, root-adresař nad jehož uroveň nemůže program přistupovat, cmdlineparametry s kterymi byl spuštěn, fd-symbolicke linky na soubory a siťova spojeni ktere ma program otevřene), adresaře a soubory jadra -> nejzajimavějši /proc/sys sysctl (system control) soubory, změnou těchto souborů je možne měnit nastaveni jadra za běhu a ovlivňovat jeho chovani Signaly -signaly umožňuji oznamit procesům vyskyt udalosti v systemu - jde o kratke zpravy, kde se procesům oznami čislo signalu - standardni rozhrani specifikuje POSIX. Čisla některych signalů zavisi na HW, označuji se symbolickymi konstantami SIG -signaly slouži dvěma hlavnim učelům: - uvědomit proces, že nastala určita udalost - přinutit proces vykonat funkci na zpracovani signalu (signal handler) - seznam všech signalu v POSIX vypišeme v konzoly přikazem kill 9. Vlákna: možné implementace vláken, obecné problémy při implementaci; posixová vlákna: mutex, podmínková proměnná a jejich použití. Vlákno je relativně nezavisla čast aplikace vykonavana sekvenčně, ktera ma jeden tok řizeni a může byt planovana operačnim systemem, existuje v procesu a může použivat jeho prostředky. Odlehčený proces, má samostatně položky (program counter, registry, stav, stack), ostatní je sdíleno s ostatními vlákny procesu; multithreading možnost běhu více vláken Implementace vláken bez podpory OS (pomocí knihovních funkcí problémy: blokovaná volání převést na neblokovaná, stránka není v operační paměti; pracné potřeba plánovače vláken), implementace v jádře OS vzdálená volání (více režie), není potřeba neblokovaných volání, hybridní implementace (Solaris) //Hlavnim problemem, ktery branil širšimu využiti, byla vzajemna nekompatibilita těchto implementaci. Posix: je přenositelná rozhraní OS. Vychází ze systému UNIX Pthreads je POSIX-ovy standard definujici API pro vytvařeni a synchronizaci vlaken a specifikace chovani těchto vlaken. Pthreads jsou zakladem pro vlakna v tradičnich UNIX-ech. Knihovna Pthreads pracuje s uživatelskymi vlakny, takže nepotřebuje podporu v JOS

5 Mutex: Zámek do krit. sekce, může být bud zamčený, nebo odemčený. Zaručuje automicitu a vzájemné vylučování, v KS může být jen jedno vlákno. 2 typy Fast: jedno zamknutí, Recursivezamknutí na 2 západy (fast: PTHREAD_MUTEX a_mutex=pthread_mutex_initializer;.. u recur. se na konci prida _NP Podmínková proměnná slouží k synchronizaci vláken, umožňuje vláknu neaktivně čekat, je třeba k ní přistupovat pomocí mutexu, na událost může čekat i několik vláken, signál může probudit jen jedno vlákno nebo i všechny, je to kontejner pro čekající vlákna 10. Plánovač. Cíle plánování, režimy plánování, plánovací kriteria pro plánovací algoritmy, plánovací algoritmy. Plánovač: Využívá přerušení( procesu), rozhoduje který poběží dál, vybírá připr. proces pro běh kterému přidělí CPU, odebírá CPU běžícím procesům (preempce), aktivuje se při systemovem volani, nebo se řídí plánovacím algoritmem Typy pl. : a) Dlouhodobé: které nové úlohy se mají zpracovávat a které ukončit, rozhoduje o množství proc. v systému b) střednědobé: který procesy se mají odložit, nebo vrátit do paměti, efektivní práce s omezenou oper. pameti c) kratkodobe: ktery pripr. proces dostane CPU nebo: Typy: nepreemptivni (proces se musi sam vzdat cpu, nebo blokovat), preemptivni(rozhoduje planovač,efektivni pouze pokud k dispozici přerušeni) Cíle plánování spravedlnost (každý proces stejně času), dodržování politik, rovnováha zatížení, interaktivní systémy minimalizovat odezvu, vyhovět očekáváním uživatelů; dávkové systémy maximalizovat propustnost (počet vykonaných úloh), minimalizovat obrat (průměrný čas na vykonání úlohy), využívat maximálně CPU, real-time systémy respektovat lhůty (zabránění ztráty dat), předvídatelnost (zabránění degradace kvality u multimediálních systémů) Plánovací kritéria Uživatelsky orientovaná kritéria: minimální doba odezvy (doba, která uplynu od předložení požadavku do vydání výstupu) Systémově orientovaná kritéria: efektivní využitá procesoru, paměti a periférií Výkonově orientovaná kritéria: výkon měřitelný pomocí doby odezvy a propustnosti, počet provedených úloh za časovou jednotku FCFS First-Come First-Served (FIFO) nepreemptivní, nové úlohy se zařadí do fronty, po ukončení úlohy se přidělí CPU procesu, který čekal nejdéle ve frontě, krátké procesy musí zbytečně dlouho čekat, zvýhodňuje výpočtově orientované procesy (procesy bez V/V čekají pouze jednou, procesy s V/V čekají při každém dokončení operace) SJF nejkratší úloha první, nepreemptivní, spustí se proces s nejkratší očekávanou dobou provádění, krátké procesy mají přednost, závislé na dobrém odhadu délky běhu procesu, hrozí vyhladovění dlouhodobých procesů SRTN nejkratší zbývající následuje preemptivní varianta SJF, spustí se proces s nejkratší očekávanou dobou do dokončení, dále minimalizuje obrat RR - cyklická obsluha preempce založená na časovači, každý proces dostane časové kvantum na CPU, přepnutí je prováděno při vypršení kvanta nebo při volání blokujícího systémového volání, délku kvanta je třeba optimalizovat, typické nastavení frekvence časovače je 100 Hz Prioritní plánování dává se přednost procesu s vyšší prioritou, obvykle více front pro připravené procesy, nízká priorita může mít za následek vyhladovění procesu proces se již nedostane k CPU (smrt hladem), je třeba prioritu přizpůsobit v závislosti na době čekání nebo historii běhu procesu LS Lottery Schedulling loteriové plánování každý proces dostane tikety a periodicky se losuje, výherní proces získá čas CPU, důležité procesy mohou mít více tiketů (procesy jsou si rovny, ale některé jsou si rovnější), kooperativní procesy si mohou předávat tikety, lze použít jako aproximace jiných algoritmů FS fair share plánování se zárukou zaručuje každému uživateli stejné podmínky (n uživatelů na systému, každý dostane časové kvantum 1/n)

6 11. Časové a periodické plánování úloh uživatelem příkazy at a crontab. Požadavky na plánování v systémech reálného času. Možnosti plánování vláken na víceprocesorových systémech (SMP). periodicky/opakovaně "někdy později" - pomocí démonu "crond". Popis spouštění příkazů je uložen ve struktuře (souboru) zvané crontab Prvních pět polí řádky popisu jsou specifikace času, kdy se má daný příkaz vykonat. V globální specifikaci je jako šestý parametr jméno uživatele, pod kterým je daný program (sedmý parametr) spuštěn, v uživatelské specifikaci není - šestý parametr je specifikace programu a program je vždy spuštěn s UID uživatele. Root může povolit/zakázat uživatele, kteří mohou používat spouštění úloh pomocí cron démonu, jejich vyjmenováním v souborech /etc/cron.allow a /etc/cron.deny. Zbytek řádky struktury crontab jsou parametry programu (tento zbytek je celý předán shell-u k vykonání, tzn. může to být zřetězení příkazů vč. přesměrování vstupů/výstupů). Cron je softwarový démon, který v operačních systémech na bázi Unixu automatizovaně spouští v určitý čas nějaký příkaz resp. proces (skript, program apod.). Jedná se vlastně o specializovaný systémový proces, který v operačním systému slouží jakožto plánovač úloh, jenž umožňuje opakované spouštění periodicky se opakujících procesů (např. noční běhy dávkových úloh při hromadném zpracování dat) apod Crontab umožňuje prohlížet a upravovat soubory pro cron obsahuje informace co se má spustit a kdy se to má spustit periodické spouštění at (Unix) příkaz pro naplánování úlohy na pozdější čas v operačních systémech na bázi Unixu práce OS v reálném čase - složite řidici aplikace, ktere stanovuji přisna časova omezeni na provedeni uloh umožňujici prognozovat odezvu operačniho systemu. U RT systemu, je kod každe ulohy dopředu znam, a tak může byt analyzovan za učelem určeni jeho zakladnich charakteristik jako jsou doba vypočtu, potřeba nejrůznějšich zdrojů vypočetniho systemu nebo priority k ostatnim uloham. Uloha pak musí byt zpracovana v daném čase, liší se 3 úrovně bez tolerance, s malou a pak volné kde to až tak nevadí. požadavky - extremně rychle přepinani mezi procesy či vlakny (řizeni přepinani, resp. vyměny, uloh je realizovano planovačem a jeho složitost zavisi na složitosti přijate strategie přidělovani procesoru procesům) - minimalizace časovych useků, kdy je vypnut přerušovaci system (pokud přerušovaci system nepovolime, může v průběhu chodu systemu dojit k chybam vznikajicich z nesynchronizovaneho chodu dvou uloh. Pořadi provedeni instrukci v kritickych sekcich může byt přičinou nespravneho, tzv. nedeterministickeho chovani celeho systemu) - preemptivni planovani založene na prioritach (Preempce je akce, při niž operačni system přeruši aktualně běžici ulohu a přiděli procesor jine uloze. Preempce může byt uskutečněna jen v určitych bodech chodu běžici ulohy anebo může byt v určitych oblastech kodu zakazana) - odolnost vůči porucham (Jednotlive hardwarove nebo softwarove poruchy by neměly způsobit vypadek systemu. Proto museji byt kriticke komponenty systemu navrženy tak, aby běžnym porucham odolaly) - zvlaštni hardwarove vybaveni (hlidaci časovače (watch-dog timers) a alarmy) - časova připustnost (vysledky museji byt spravne nejenom numericky, ale i z hlediska jejich poskytnuti v čase. Proto musi operačni system obsahovat specificke mechanismy jadra pro časove řizeni uloh) Plánování vláken na SMP FIFO jedna společná globální, pro každou prioritu samostatná, procesu se přiřadí první volný procesor -Skupinové plánování související vlákna plánovány tak aby běžely na různých procesorech současně -pevné přiřazení cpu vlákna přiřazena specifickému procesoru -dynamické zátěž se rozděluje náhodně, zajištuje aby žádný procesor nezůstal nevyužitý, používá globální fronty

7 12. Relokace procesů, typy alokace paměti, relativní adresování, pevné a proměnné dělení paměti, fragmentace paměti, typy fragmentace. Realokace pr.: Přemístění paměti na jiné adresy, program nesmí pracovat s absolutními adresami fyzické paměti, programátor neví,na které adresy je program zaveden. Proces může být pozastaven a jeho pamět, umístěna na disk(swap), proces musí pracovat s log. adresami, za běhu se převedou na skutečné Typy alokace paměti - pevne děleni stejné dělení paměti stejná velikost všech oblastí, jakýkoliv malý proces zabere celou oblast vnitřní fragmentace, Proměnné dělení pamětí nestejná velikost oblastí, redukuje se vnitřní fragmentace, ale neodstraní uplně - dynamicke děleni proměnný počet oblastí i jejich velikost, proces dostane tolik paměni kolik potřebuje, odstraněna vnitřní fragmentace, ovšem po ukončení vznikaji v paměti díry vnější fragmentace Umisťovací algoritmy BEST-FIT, FIRST-FIT, NEXT-FIT, EXACT-OR-WORST-FIT Relativní adresa vzhledem k počátku oblasti Fragmentace vnitřní, vnější(pro odstranění defragmentace), data nejsou souvisle za sebou 13. Problém nedostatku operační paměti, odkládání obsahu paměti na disk, virtuální paměť, motivace k zavedení virtuální paměti, výhody virtualizace paměti, princip lokality odkazů, thrashing. Problém nedostatku operační paměti při nehospodárnosti OS nebo při úlohách náročných na operační paměť se může tato paměť vyčerpat (maximální počet procesů je omezen velikostí operační paměti) řešení: 1) Překrývání: různé moduly programu nejsou vyžadovány současně, moduly vyžadují stejnou fyz. oblast 2) Swapping: odkládání procesu z oper. paměti na sekundární, využití levné sekund. paměti disku Virtuální paměť: Virtualni paměť nebo take adresovani virtualni paměti je zvlaštni způsob spravy operačni paměti počitače. Umožňuje operačnimu systemu využivat vnitřni paměť, ktera je vyznamně větši, než je skutečna fyzicka velikost paměti. Děje se to tim, že se v danou chvili nepotřebna paměť odklada na pevny disk (nebo na jiny odkladaci prostor) a v připadě potřeby se opět zavadi do vnitřni paměti. Výhody: Paměť, kterou ma běžici proces k dispozici, neni omezena fyzickou velikosti instalovane paměti. Bez virtualni paměti by musel operačni system přidělit i paměť, kterou proces ve skutečnosti nevyužije nebo ji začne využivat až později. Každy běžici proces ma k dispozici svou vlastni paměťovou oblast, ke ktere ma přistup pouze on sam a nikdo jiny. Metody spravy paměti zabezpečuji optimalni vyměnu paměťovych stranek mezi fyzickou počitačovou paměti a diskem. Malo použivana čast paměti tak vůbec nemusi byt zavedena ve vnitřni paměti. Paměť jednotlivym procesům lze tak organizovat, že se paměť z hlediska procesu jevi jako linearni, přestože ve skutečnosti může byt umistěna na různych mistech vnitřni paměti i odkladaciho prostoru. Nevýhody: Při špatnem (malem) dimenzovani realne operačni paměti může dojit ke ztratě vypočetniho vykonu, tzv. thrashing (probiha neustala vyměna dat mezi paměti a diskem namisto vypočtů). Pokud proces nema v paměti dost stranek, často generuje přerušeni vypadek stranky. To zaměstnava CPU a zpomaluje běh dalšich procesů, ale hlavně tohoto procesu, neboť je v době načitani stranky pozastaven a nevykonava žadnou činnost. Dale jsou do paměti zavaděny dalši procesy, neboť procesor často čeka na ukončeni V/V operace (pravě zavaděni a připadne odkladani

8 stranek). To vede k dalšimu zhoršeni atd. V podstatě kladna zpětna vazba. Je ovšem nutne zminit, že bez virtualni paměti by v takovem připadě vypočet vůbec nemohl proběhnout. Princip lokality odkazu: Všechny adresy, ktere proces použiva, jsou spravovany pouze jako virtualni transformaci na fyzicke adresy provadi sprava virtualni paměti. Existuji dvě zakladni metody implementace virtualni paměti strankovani a segmentace. Při strankovani je paměť rozdělena na větši useky stejne velikosti, ktere se nazyvaji stranky. Sprava virtualni paměti rozhoduje samostatně o tom, ktera paměťova stranka bude zavedena do vnitřni paměti a ktera bude odložena do odkladaciho prostoru (swapu). Při segmentaci je paměť rozdělena na useky různe velikosti nazyvane segmenty. 14. Stránkování paměti, převod adresy, vlastnosti stránkování, sdílení stránek, volba velikosti stránky, řešení problému rozsáhlých stránkových tabulek, TLB. -stránkování- logický adresový prostor procesu je lineární, ale skuteční umístění stránek ve fop je nespojité, velikost stránek 512B-64KiB, tabulka mapování stránek obsahuje příznaky(bity) přítomnost rámce ve FOP, příznak modifikace nebyla li stránky ve FOP modifikována a už je na disku, není třeba ji znovu zapisovat při uvolnění rámce -převod adresy virtuální(číslo stránky,offset)->stránková tabulky(řídící bity(číslo stránky),číslo rámce)->fyzická adresa(číslo rámce,offset) fyzická paměť(rámec,offset) Volba velikosti stránky paměť se alokuje do stránek o pevné velikosti vnitřní fragmentace -malá velikost stránky menší vnitřní fragmentace, více stránek na proces, větší stránková tabulka - Větší velikost str- větší vnitřní fragmentace, menší stránková tabulky Řešení problémy rozsáhlých stránkových tabulek ve FOP nemusí být celá, část může být na disku(swap), při přístupu na místo ve stránce, jejiž položka není ve FOP čtení z disku, pokud stránka také není ve fop, další čtení z disku TLB Translation Lookaside buffer speciální vyrovnávací paměť, používá se jako paměť cache, obsahuje několik posledně použitých položek stránkové tabulky, při hledání položky se nejdříve prohledá TLB dva stavy hit převod virtuální adresy na fyzickou, miss doplnění položky do tlb (doplnění může být z části tabulky ve FOP nebo na disku) 15. Řídicí bity ve stránkových tabulkách, strategie zavádění, umisťování, nahrazování a uklízení stránek paměti, vliv velikosti resident-set na běh procesů. Řídící bity určují který záznam ve stránkovací tabulce bude použít pro získání čísla rámce z FOP pro fyzickou adresu Zavádění určuje která stránka se má zavést do FOP, demand paging zavádění stránek jen když jsou potřeba, lookahead paging zavádění stránek předem ( dle principu lokality odkazů se zavedou stránky z okolí, využívá sekvenční čtení z disku) Umísťování určuje do které části FOP se stránka zavede, typicky se tím OS nezabývá, většinou to určuje a používá HW Nahrazování stránek strategie nahrazování určuje které stránky se z fop odloží na disk, je li potřeba načíst jiné stránky, ideální strategie odstranění nejdéle nevyužité(nelze přesně určit, odhaduje se) Zamykání rámců používá se pro stránky které nesmí být z FOP odstraněny(jádro OS, IO buffery..) Uklízení stránek ukládání modifikovaných stránek na disk, demand clearing ukládání stránky z rámce pro nahrazení, precleaning periodické ukládání stránek v dávce(může vést ke zbytečným zápisům, obsah stránky se po uložení na disk může změnit)

9 Residet set část adresového prostoru, která je ve FOP, čím větší tím lepší, když je malá, musí se velké množství rámců odkládat na disk, což má za následek neustálé nahrazování stránek a může vznikat trashing 16. Registry CPU používané pro práci s pamětí, segmentace paměti, převod adresy, vlastnosti segmentace, sdílení segmentů, kombinace segmentace a stránkování. Bázový registr počáteční adresa alokované paměti procesoru, mezní registr koncová adr. Registry se nastavují OS při zavádění procesu Adresní registr(offset) logiská relativní adresa paměťového místa v rámci procesu Segmentace zjednodušuje sdílení mezi procesy sdílí se celé segmenty(např kod, sdilena data) -Logická adresa se skládá z čísla segmentu a offsetu -převod adresy virtuální(číslo segmentu,offset)->segmentová tabulka(řídící bity(číslo segmentu),adresa segnentu,délka segmentu)->fyzická adresa(adresa segmentu,offset) fyzická paměť(segment,offset,délka segmentu) Sdílení segmentů segmentové tabulky procesů mohou odkazovat na stejné segmenty(sdíílí pak celý segment kod, data), moduly procesů mohou být snadno sdíleny Kombinace rozdělení segmentů na stránky, odstraní se vnější fragmentace, segmenty mohou růst bez přesunu ve FOP, roces má pak segmentovou tabulku a stránkovou tabulku pro každý segment. 17. Požadavky na OS pro práci v reálném čase, rozdělení RT OS, pojmy latence a odezva; vestavěné systémy a typické požadavky na ně. požadavky - extremně rychle přepinani mezi procesy či vlakny (řizeni přepinani, resp. vyměny, uloh je realizovano planovačem a jeho složitost zavisi na složitosti přijate strategie přidělovani procesoru procesům) - OS musi byt maly - minimalizace časovych useků, kdy je vypnut přerušovaci system (pokud přerušovaci system nepovolime, může v průběhu chodu systemu dojit k chybam vznikajicich z nesynchronizovaneho chodu dvou uloh. Pořadi provedeni instrukci v kritickych sekcich může byt přičinou nespravneho, tzv. nedeterministickeho chovani celeho systemu) - preemptivni planovani založene na prioritach (Preempce je akce, při niž operačni system přeruši aktualně běžici ulohu a přiděli procesor jine uloze. Preempce může byt uskutečněna jen v určitych bodech chodu běžici ulohy anebo může byt v určitych oblastech kodu zakazana) - odolnost vůči porucham (Jednotlive hardwarove nebo softwarove poruchy by neměly způsobit vypadek systemu. Proto museji byt kriticke komponenty systemu navrženy tak, aby běžnym porucham odolaly) - zvlaštni hardwarove vybaveni (hlidaci časovače (watch-dog timers) a alarmy) - časova připustnost (vysledky museji byt spravne nejenom numericky, ale i z hlediska jejich poskytnuti v čase. Proto musi operačni system obsahovat specificke mechanismy jadra pro časove řizeni uloh) Rozdělení hard real time- absolutně se musí dodržet časové limity -soft real time časové limity jsou pouze přibližné, jejich překročení pouze sníží výkonnost -firm real time odezva po překročení limitu je bezcena, ovšem systém sem tam nějaké překročení snese latence - doba mezi okamžikem přichodu požadavku na přerušeni a okamžikem kdy se začne provadět odpovidajici obslužny program

10 doba odezvy - za jak dlouho system reaguje na požadavek přerušeni, sklada se z doby od přichodu požadavku na přerušeni a doby obsluhy přerušeni vestavěné systémy - jsou současti jinych technickych systemů (obvykle jsou řidici složkou), schopnost prace v realnem čase, os transparentni(průhledny) pro uživatele (nevyžaduji udržbu a zvlaštni znalosti), vysoky podil na trhu, existuji např. V mobilnich telefonech, PDA atd. 18. Víceprocesorové systémy, rozdělení dle vazby a dle symetrie, granularita úlohy a stupně paralelismu, alokace procesorů v SMP-systémech, distribuované OS. Volná vazba každý cpu má vlastní paměť a IO subsystém, různé typy společná sběrnice / disky / nic společnéího, třeba LAN Těsná vazba procesory sdílejí operační paměť, řízen jedním os Simetrický - procesory sou shodné, jádro, vlákna i procesy může provádět libovolný procesor Asymetrický procesory funkčně specializované(v/v procesory, grafické,..), systém řízen centrálním procesorem Granularita každou úlohu lze rozdělit na více úseků, které lze provádět samostatně - pokud jeden úsek potřebuje výsledky jiného, musí na ně čekat, je nutná komunikace a synchronizace Hrubě granulovaná úloha kooperující procesy Jemněji granulovaná úloha úseky jsou kratší, požadavky na synchronizaci a komunikaci častější, efektivnější sou vlákna, pokud běží na oddělených procesorech, sou výkonější Čím je vazba MP volnější, tím větší časové ztráty přináší komunikace a synchronizace, pro hrubě granulované stačí systém s volnou vazbou(levnější), pro jemně je potřeba s těsnou Nezávislý paralelismus v jednotlivých procesorech běží nezávislé procesy, nevyžaduje synchtonizaci Velmi hrubý p. vhodný když interakce mezi procesy nejsou časté Hrubý p. provádění více procesů na jednom procesoru, ale na více procesorech Střední p. paralelní zpracování nebo multitasking v rámci jedné aplikace, interakce mezi vlákny jsou časté, jedna aplikace tvořena více vlákny Alokace CPU v SMP s sdílená zátěž žádný proces není přiřazen určitému procesoru -skupinové související vlákna jsou plánována tak aby běžely na různých procesorech současně -pevné přiřazení procesoru vlákna jsou přiřazena specifickému procesoru -dynamické náhodně, zajišťuje že žádný procesor nebude nevyužitý, používá globální fronty Distribuované OS implementují podporu distribuovaného zpracování přímo v jádru operačního systému. Celý systém se tváří jako tradiční jednoprocesorový systém, přestože jeho jednotlivé komponenty jsou fyzicky rozmístěny na jednotlivých počítačích. V pravém distribuovaném OS se uživatel nemusí (často ani nemůže) zabývat určováním, na kterém počítači či procesoru jeho programy běží, nebo kde jsou fyzicky uloženy jeho soubory. O to se automaticky a efektivně stará sám operační systém. Architektura je většinou založena na modelu klient/server. - soubor nezavislych počitačů, ktere se jevi svym uživatelům jako jeden souvisly system - lze sdilet zatěž (load-sharing), vypočty se tim zrychluji - zvyšuje se spolehlivost a komunikačni schopnosti - každy samostatny procesor ma svoji vlastni lokalni paměť - vzajemně se komunikuje pomoci přenosovych spojů (sitě) mechanismem vyměny zprav

11 19. Soutěžení procesů (o prostředky), problémy s konkurencí, vzájemné vylučování, kritická sekce, předpoklady pro řešení KS, požadované vlastnosti řešení KS, příklady nevhodných SW řešení. Soutěžení - některé prostředky nelze v jednom okamžiku sdílet -, přidělení prostředku jednomu procesu omezí ostatní procesy Vzájemné vylučování v každém okamžiku smí mít ke sdílenému prostředku přístup pouze jeden proces Smrtící objetí dreadlock procesy vzájemně čekají na uvolnění prostředků, ale vzájemně se blokují Vyhladovění nekončící čekání procesu na získání prostředku, proces s nízkou prioritou KS malá část kodu kde se manipuluje se sdíleným prostředkem Předpoklady pro řešení KS: víceprocesorových systémů smí KS zpřístupnit vždy pouze jeden procesor, procesy se nemusí pravidelně střídat, stačí specifikovat vstupní a výstupní sekci Požadované vlastnosti: Vzájemné vylučování viz. Předtím Pokrok v přidělování není li žádný proces v KS a některé procesy tam chtějí vstoupit, na rozhodnutí se mohou podílet výhradně procesy, které nejsou ve zbytkové sekci Omezené čekání omezený počet jiných procesů smí získat přístup před vyhověním žádosti ochrana proti vyhladovění Nevhodné řešení KS: máme prom free pokud je hodnota 1, proces může vstoupit, pokud 0 nemůže, ale když dva procesy současně zkouší hodnotu a bude 0, můžou vstoupit oba chyba Řízení přístupu do kritické sekce pomocí SW a HW metod, výchozí předpoklady pro řešení, SW algoritmy, HW podpora, nedostatky HW a SW metod. SW-Petersonuv algoritmus signalizace připravenosti flag*i+ = true/false, turn 0/1 podle procesu který tam má jít Aktivní čekání: viz. eskymáci, do KS je vchod pouze pro jeden proces, ten vstoupí koukne zda může vejít do KS, jestli ne opusti iglu a zkusi to jindy Bakery před vstupem dostanou procesy čísla, nejmenší číslo jde do KS HW- zákaz přerušení (disable irqs) když je v KS tak se to zapne a proces nemůže být přerušen, po opuštění KS enable irqs funguje pouze u jednoprocesorových systémů, zvyšuje latenci, protože ostatní procesy nemohou být obslouženy Speciální instrukce přístup k paměťovému místu je obvykle výlučný, lze navrhnout jednu instrukci, která s paměťovým místem provede dvě akce- čtení a zápis jako nedělitelná operace zaručí nám tak vzájemné vyloučení i na víceprocesorových systémech (test-and-set) jediná instrukce procesoru přečte příznak a současně ho nastaví.. pokud už byl nastaven, nic se nemění a čeká, pokud ho nastavuje, de do KS, lze využít pro více různých KS, Nevýhody Může vzniknout vyhladovění po uvolnění se vždy dostane do KS ten první co to skusí, Deadlock proces s nízkou prioritou je přerušen procesem s vyšší, ale do KS se nikdy nedostane, proto ten s nižší ji nikdy neopustí

12 21. Řízení přístupu do kritické sekce pomocí prostředků OS, semafor, problém obědvajících filozofů, mutex, řešení KS pomocí fronty zpráv. Semafor- synchronizační nástroj prostředek OS - Nevyžaduje aktivní čekání dokud je KS obsazená, čekající proces je blokován a zařazen do fronty čekajících procesů na KS, po uvolnění KS je vybrán z fronty další proces a je mu zpřístupněna KS Čítač wait snižuje je-li záporný, blokuje proces a posílá ho do fronty -signal zvyšuje čítač, je-li nekladný, vybere proces z fronty a zařadí ho do seznamu připravených procesů -čítač je potřeba inicializovat na nenulové číslo, toto číslo znamená kolik procesů bude aktivně čekat ve frontě(1,2..), zbytek je blokovanej -Vhodné ošetření KS zákaz přerušení pouze jednoprocesorové systémy -spin lock (aktivní čekání) asi ta fronta u víceprocesorových systémů Binární semafor místo čítače boolovská proměnná inicializace true false -Watt(lock),signal(unlock) inicializace sem_t waiter; sem_init(&waiter, n-1); proces Pi repeat think; /* ZS */ sem_wait(&waiter); sem_wait(&fork[i]); sem_wait(&fork[(i+1)%n]); eat; /* KS */ sem_signal(&fork[(i+1)%n]); sem_signal(&fork[i]); sem_signal(&waiter); forever Filosofové buď jí(ks) nebo přemýšlí(zs), každý filosof čeká na dvě vidličky, aby mohl jíst, může nastat dreadlock, proto musíme povolit max n-1 filosofům aby mohli jíst, ostatních n-2 musí čekat Mutex zámek, který zaručuje atomicitu a vzájemné vylučování lze zamknout pouze jediným vláknem, neaktivní čekání vlákno je při pokusu zamknout zamčenej mutex blokováno Dva typy fast mutex pouze jeden západ, recursive mutex dva západy Zamčení podruhé u rekurzivního vždy pouze jen vlákno vlastnící zámek, odemčení to samé Zrušení destroy lze zrušit pouze odemčený mutex Fronta zpráv odesílá s blokováním nebo bez, přijímá s blokováním nebo bez Problém obědvajících filozofů: - klasický synchronizační problém; 5 filozofů u stolu pouze jí nebo přemýšlí; při jídle každý potřebuje 2 vidličky; k dispozici je pouze 5 vidliček; každý filozof představuje jeden proces; potřebujeme jeden semafor pro každou vidličku; jestliže začnou tím, že všichni uchopí vidličku o své levici deadlock; řešení dovolit jíst pouze 4 filozofům najednou; pak vždy alespoň jeden filozof může jíst, zatímco zbývající tři musí čekat (s jednou vidličkou v ruce); musíme tedy ještě použít semafor, který umožní omezit počet filozofů. Filozof=proc. vydlička=sdílen.proc. jedení=ks, přemýš.=zbytek. sekce 22. Řízení přístupu do kritické sekce a synchronizace pomocí programovacích jazyků, monitor, problém producentů a konzumentů. Monitory Konstrukce ve vyšším programovacím jazyce poskytujícím stejné služby jako semafory, ale snadněji ovladatelné, mohou být implementovány pomocí semaforů; SW modul podobný třídě/objektu s lokálními proměnnými, funkcemi a inicializační částí. Ve funkci monitoru může být v jednom okamžiku pouze jediný proces (vzájemné vylučování), synchronizaci lze zajistit podmínkovými proměnnými. Funkce cwait (blokuje proces, dokud není zavoláno zařadí se do fronty) a csignal (obnoví provádění procesu blokovaného podmínkovou proměnnou cv aktivuje proces z fronty)

13 Procesy jsou ve frontě vstupní nebo podmínkové, po cwait se zařadí do podmínkové a po csignal se aktivuje čekací podmínka Producent x Konzument dva typy procesů producenti produkují data, konzumenti spotřebovávají data -pro lepší efektivitu je potřeba zavést mezisklad vyrovnávací paměť na vyprodukovaná data, nevzniknou tak zbytečné čekací doby -pro řízení lze využít semafory kapacita skladu pro počet výrobků ba skladě, možnost vstupu do skladu(dva indexy první volný pro zápis a první obsazený pro čtení) Holičství je třeba sledovat vzájemné vylučování kapacitu holičství, pohovku, křesel a pokladen - synchronizaci umístění právě jednoho zákazníka do křesla, přítomnost zákazníka v křesle(chce oholit), dokončení holení, opuštění křesla a přechod k pokladně, zaplacená a vydání účtenky 23. Synchronizace procesů pomocí semaforů a pomocí předávání zpráv, synchronizace vláken pomocí bariér a podmínkových proměnných. Synchronizace pomocí semaforů máme dva procesy P0 a p1, příkaz s2 v procesu P1 musí být proveden až po příkazu s1 v P0. Semafor inicializujeme na 0, proces P1 před provedení s2 počká na signál od P0 (semafor se nastaví na 1 a proces P1 pak může waitem snížit na 0 a provést s2), neprovede li se první signál, pak wait inicializace sem_init(&sync, 0); proces P0 S1; sem_signal(&sync); proces P1 sem_wait(&sync); S2; neblokuje Synchronizace pomocí zpráv podobné, P1 čeká s blokovacím receive na odpověď, P0 po provedení s1 vyšle neblokovací send a tím P1 odblokuje a ten může provést s2 předavani zprav-nutne vzajemne vylučovani,dochazi k vyměně informaci synchronizace-vysilač nebo přijimač může(nemusi) byt blokovan, neblokujici send i recive, neblokujici send-blokujici recive (vysilač po odeslani zpravy pokračuje,aby co nejrychleji připravoval zpravy. Přijimač je blokovan dokud zprava neni doručena aby mohl okamžitě reagovat na doručeni), blokujici send i recive (na doručeni čeka přijimač i vysilač ranvedzvous) adresace-send zahrnuje identifikator ciloveho procesu recive může určit od ktereho procesu je zprava očekavana (ostatni buď ignorovany, specialni adresa,0, určuje, že zprava může přijit od kohokoli), recive může dostat parametrem hodnotu kterou předa(umožňuje zjistit, že zprava dorazila) - nepřima - zpravy se zasilaji do sdilene datove struktury z front (mailboxes) Synchronizace vláken: pravidla, pomoci kterych častečně kontrolujeme běh vlaken, se souhrnně nazyvaji synchronizace vlaken. Obecně existuje několik mechanismů synchronizace vlaken (jedna se napřiklad o mutexy, semafory, monitory, mechanismus randez-vous a o některe dalši mechanismy) Mutex: Zámek do krit. sekce, může být bud zamčený, nebo odemčený. Zaručuje automicitu a vzájemné vylučování, v KS může být jen jedno vlákno. 2 typy Fast: jedno zamknutí, Recursivezamknutí na 2 západy (fast: PTHREAD_MUTEX a_mutex=pthread_mutex_initializer;.. u recur. se na konci prida _NP Podmínková proměnná slouží k synchronizaci vláken, umožňuje vláknu neaktivně čekat, je třeba k ní přistupovat pomocí mutexu, na událost může čekat i několik vláken, signál může probudit jen jedno vlákno nebo i všechny, je to kontejner pro čekající vlákna

14 24. Deadlock, starvation (a rozdíl), nutné podmínky pro vznik stavu deadlock, řešení problému vzniku stavu deadlock, algoritmus bankéře. Deadlock uváznutí, procesy si navzájem blokují sdílený prostředek Starvation hladovění proces se nedostane třeba k procesoru, nebo k KS třeba kvůli nízké prioritě Deadlock nastane, když.. není ošetřeno správné přidělování sdílených zdrojů, třeba problém filosofů Řešení deadlocku ignorování problému, - detekce obnovení: >násilné odebrání prostředku, >obnova(rollback) do stavu bez zablokování > zabití některého procesu, - vyloučení možnosti vzniku opatrnou alokací zdrojů, negování alespoň jedné předešlích podmínek Bankéřův algoritmus: řešení situace bankéře při jednání s klienty, kterým poskytuje půjčku, pokud požadavek klienta vede k nebezpečnému stavu, je tento požadavek odmítnut; pevný počet prostředků i procesů, každý proces deklaruje své maximální požadavky, postupná alokace prostředků; prostředek je přidělen pouze tehdy, vede-li situace do bezpečného stavu (nebezpečný stav je vznik cyklického čekání); slabiny: nelze vždy garantovat pevný počet prostředků, nelze zajistit pevný počet procesů, proces nemusí znát maximální požadavek předem; algoritmus je mnohdy prakticky nepoužitelný 25. Komunikace procesů: roura, pojmenovaná a nepojmenovaná roura; socket, funkce pro sockety. Roury: (pipes) jsou nejstarsim komunikacnim prostredkem v unixu. Jsou podporovany vsemi typy unixu za techto omezujicich podminek: 1) Mohou byt pouzity pouze v pripade, ze procesy maji spolecneho predchudce. 2)umožňuji jednosměrnou komunikaci mezi dvěma procesy zpravidla mezi rodičem a potomkem 3) data zapisovana do roury jednim procesem lze jinym bezprostředně čist 4) data jsou čtena přesně v tom pořadi jak byla zapsana... Komunikace dvou procesů na urovni přenosu dat je možna pomoci roury (pipe), kdy procesy pracuji podle schematu Pojmenované roury: lze použít opakovaně, je specialnim typem souboru existujiciho v souborovem systemu. K jejimu vytvořeni slouži program mkfifo. Syntaxe je jednoducha. Stači zadat jen jeji jmeno, např. mkfifo roura. Že nejde o běžny soubor, si můžeme ověřit přikazem ls -l roura. Na začatku bloku s přistupovymi pravy vidime "p" - pipe. Nyni můžeme do roury něco poslat, třeba přesny čas: date > roura. Nelekejte se, pokud se neobjevil prompt. To je v pořadku. Proces čeka na vyprazdněni roury. Spusťme tedy jinou konzoli nebo terminal, přejděme do adresaře, kde leži naše pojmenovana roura a zadejme třeba cat roura. Ve druhem Bashi budou vypsany přislušne udaje a v prvnim se objevi prompt. Funguje to i obraceně. Můžeme nechat nějaky proces čist z prazdne roury (cat roura). Ten bude čekat až do doby, kdy se roura zaplni. To provedeme třeba informacemi o našem systemu (uname a > roura) na jinem terminalu. Až nyni cat svou praci dokonči. Tohoto chovani lze využit v mnoha situacich. Dostaneme se k nim, až budeme tvořit skripty. Pracuje jako FIFO (fronta), tedy pri cteni jsou data mazana. Nepojmenovaná roura: Roura muže byt použivana pouze procesy, ktere maji stejnehopredchudce (obvykle shell, ze ktereho byly spušteny), zapisovat a cist muže i vice procesu. Sockety můžeme chapat jako jeden z prostředků meziprocesni komunikace. Od jinych komunikačnich prostředků se liši předevšim tim, že komunikujici procesy nemusi byt na stejném počítači. Co se tyče terminologie, tak představime-li si komunikaci jako rouru, kterou tečou data, socket by bylo pojmenovani pro jeji konce. Při komunikaci si každy proces vytvoři svůj socket a nastavi jeho parametry tak, aby pomoci něj mohl komunikovat se socketem jineho procesu (na jinem počitači). Socket se vytvoři volanim funkce socket(). Tato funkce vraci file-descriptor stejně jako napřiklad funkce fopen(). Pro čteni ze socketu a zapisovani do něj můžeme použit nizkourovňove funkce

15 jako třeba read() a write(). Navic mame k dispozici několik funkci specialně pro sockety. Programy můžeme rozdělit do dvou skupin podle toho, jak použivaji sockety (SOCK_STREAM). Prvni skupinou jsou takzvane servery, což jsou programy, ktere vytvoři socket a pak čekaji (poslouchaji) až se k nim někdo připoji. Druhou skupinou jsou klienti, kteři po vytvořeni socketu začnou aktivně navazovat spojeni. Podle toho, do jake skupiny dany program patři, volaji se různe funkce uvedene niže. socket() int socket(int domain, int type, int protocol); Vytvoři socket daneho typu a vrati file-descriptor. Použiva server i klient. connect() int connect(int sockfd, struct sockaddr *serv_addr, int addrlen); Slouži k navazovani spojeni. Použiva klient. bind() int bind(int sockfd, struct sockaddr *my_addr, int addrlen); Svaže socket se jmenem. Nejčastěji se použiva v kombinaci s listen() pro určeni čisla portu na kterem server posloucha. Použiva server. listen() int listen(int sockfd, int backlog); Vola se po bind() a slouži k nastaveni socketu do stavu čekani na přichozi spojeni. listen() se okamžitě vraci. Vlastni čekani se děje až ve funkci accept(). Použiva server. accept() int accept(int sockfd, void *addr, int *addrlen); Je-li socket v čekacim stavu, funkce accept() čeka na přichozi spojeni. Funkce vrati parametry prvniho spojeni ve frontě a novy socket, ktery slouži ke komunikaci s druhou stranou. Původni socket sockfd se tak může opět použit pro čekani na dalši spojeni. Použiva server. close(), shutdown() Zavira socket. Použiva server i klient. Dalši funkce, ktere pracuji se sockety jsou send(), recv(); sendto(), recvfrom() (pro SOCK_DGRAM) a mnohe dalši. 26. Dělení disku na oddíly, důvody dělení, swap, MBR, tabulka oddílů, zavaděč OS. Diskový oddíl slouží k rozdělení disku na logické oddíly, se kterými je možné nezávisle manipulovat Důvody dělení možnost instalace více operačních systémů -obcházet omezení souborových systémů(limit velikosti, u NTFS je u velkých disků dlouhá tabulka a hledání souborů je pak pomalejší než u dvou menších) -použití různých souborových systémů pro různé účely, třeba disk pro OS a disk pro data, oba můžou mt jiné parametry, výhodnější pro daný typ MBR umístěn vprvním sektoru disku, velikost 512B a je v něm umístěn zavaděč OS, kderému bios po startu předá řízení počítače, tabulka rozdělení disku(partition table) na logické oddíly a číselný identifikátor disku, dokáže adresovat maximálně 2TiB disky Tabulka oddílů je v MBR, popisuje rozdělení disku, stará dosovská podporuje disky max 2tb, nová u windows GPT zvládá více Zavaděč OS taky v MBR, po startu PC mu bios předá řízení počítače a zavaděč zavede a nastartuje operační systém a předá mu řízení počítače 27. Souborový systém, jeho obecná struktura, způsoby alokace prostoru na paměťovém mediu (např. disku). Souborový systém (Filesystem) - je označeni pro způsob organizace informaci (ve formě souborů) tak, aby bylo možne je snadne najit a přistupovat k nim Obecná struktura: - pevne disky jsou obvykle logicky rozděleny na oddily (partition), takže souborovy system se rozklada jen na konkretnim oddilu a ne na celem disku. To umožňuje mit na pevnem disku vice nezavislych souborovych systemů, ktere mohou byt různeho typu. -informace uložene v systemu souborů dělime na metadata a data. Metadata popisuji strukturu systemu souborů a nesou dalši služebni a doplňujici informace, jako je velikost souboru, čas posledni změny souboru, čas posledniho

16 přistupu k souboru, vlastnik souboru, přistupova prava k souboru, seznam bloků dat, ktere tvoři vlastni soubor atd. Pojmem data pak minime vlastni obsah souboru, ktery můžeme přečist, když soubor otevřeme. - software, ktery realizuje souborovy system, byva obvykle současti operačniho systemu. Většina operačnich systemů podporuje několik různych souborovych systemů. Ve Windows nalezneme podporu pro souborove systemy FAT a NTFS. V Linuxu nalezneme kromě již zminěnych take ext2, ext3, ReiserFS, JFS, XFS a mnoho dalšich Metody alokace - souvislá alokace - při vytvařeni je souboru přidělena jedna sada po sobě nasledujicich bloků - stači jedna položka v alokačni tabulce(počatečni blok souboru, delka souboru) - dochazi k vnějši fragmentaci (po zrušeni souboru se obvykle nepodaři do uvolněne oblasti umistit soubor stejne velikosti) - po zaplněni disku je obtižne nalezt souvislou sadu bloků potřebne delky řetězená alokace -alokuji se jednotlive bloky - každy blok obsahuje ukazatel na nasledujici blok v řetězci - stači jedna položka v alokačni tabulce(počatečni blok souboru, delka souboru) - nedochazi k vnějši fragmentaci - kterykoliv volny blok lze připojit na konec souboru (v připadě potřeby lze snadno zvětšit velikost souboru) - logicky sousedni bloky mohou byt fyzicky umistěny značně daleko od sebe indexová alokace - alokačni tabulka obsahuje samostatny jednourovňovy index pro každy soubor - index ma jednu položku pro každy blok alokovany souboru - alokačni tabulka obsahuje čislo bloku pro indexaci -lze použit proměnou velikost bloků 28. Soubor a jeho atributy, hierarchická organizace souborů, adresář, cesta, omezení přístupu k souboru, vlastnictví a přístupová práva. Soubor pojmenovaná uspořádaná množina dat uložená na nějakém datovém médiu, každý soubor má svůj název, délku a případně další atributy požadované OS. Obsahem souboru mohou být různá data. Hierarchická organizace souborů stromová struktura jeden hlavní adresář obsahující adresáře, podadresáře,, počet těchto úrovní může být omezen, soubory mohou mít stejná jména, pokud mají jinou cestu, při práci je možné zvolit libovolný pracovní adresář a cestu k souboru lze vyjádřit relativně vzhledem k pracovnímu adresáři Adresář organizační jednotka v souborovém systému, může obsahovat další adresáře a soubory Cesta identifikuje soubor v rámci adresářové struktury a je tvořena seznamem adresářů, kterými je nutné projít z počátečního místa až k cílovému souboru Omezení přístupu k souboru k omezení přístupu k souboru se používají přístupová práva (žádná uživatel o souboru neví, není dovoleno číst obsah adresáře, znalost existence uživatel zjistí existenci souboru a jeho vlastníka, provádění uživatel smí soubor provádět, ale nesmí ho kopírovat, čtení může obsah souboru číst pro jakékoli účely, ale nesmí ho modifikovat nebo mazat, přidávání uživatel smí soubor číst a smí přidat data na konec, přepisování uživatel může soubor číst, provádět, modifikovat a smazat, změna ochrany uživatel může měnit nastavení přístupových práv souboru jiného uživatele, mazání uživatel může odstranit soubor) Vlastnictví při vytváření souboru se automaticky stávám jeho vlastníkem se všemi přístupovými právy, mohu soubor mazat, modifikovat, číst,

17 29. Vzdálený přístup k OS, telnet, ssh, autentizace, autorizace, zásady tvorby hesla. Vzdálený přístup-?? Telnet síťový protokol umožňující připojení ke vzdálenému počítači SSH síťový protokol, náhrada telnetu, šifrovaný přenos, zabezpečuje autentizaci Autentizace ověření pravosti, ověření uživatele(jmeno, heslo/pin karty/otisk prstu) Autorizace přidělení oprávnění, povolení přístupu Tvorba hesla nesmí být slovníkové, musí obsahovat malá, velká písmena, číslice i znaky

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

OS Plánování procesů

OS Plánování procesů OS Plánování procesů Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Plánování scheduling scheduler plánovač rozhoduje, který proces (vlákno) má CPU řídí se plánovacím

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

Přidělování CPU Mgr. Josef Horálek

Přidělování CPU Mgr. Josef Horálek Přidělování CPU Mgr. Josef Horálek Přidělování CPU = Přidělování CPU je základ multiprogramového OS = pomocí přidělování CPU různým procesům OS zvyšuje výkon výpočetního systému; = Základní myšlenka multiprogramování

Více

09. Memory management. ZOS 2006, L.Pešička

09. Memory management. ZOS 2006, L.Pešička 09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému

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

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

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

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. 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 je podporována projektem financovaným z Evropského

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

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání

Více

Paměťový podsystém počítače

Paměťový podsystém počítače Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

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

Procesy a vlákna (Processes and Threads)

Procesy a vlákna (Processes and Threads) ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating

Více

Přerušovací systém s prioritním řetězem

Přerušovací systém s prioritním řetězem Přerušovací systém s prioritním řetězem Doplňující text pro přednášky z POT Úvod Přerušovací systém mikropočítače může být koncipován několika způsoby. Jednou z možností je přerušovací systém s prioritním

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. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

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

Více

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti MS WINDOWS II Jádro Správa objektů Správa procesů Zabezpečení Správa paměti JÁDRO I ntoskrnl.exe napsán v C (příp. assembler) základní mechanismy poskytované executivám trap dispečink synchronizace přístupů

Více

Činnost počítače po zapnutí

Činnost počítače po zapnutí Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)

Více

1. Definice OS: typy OS, abstrakce a služby, systémová volání.

1. Definice OS: typy OS, abstrakce a služby, systémová volání. Operační systémy okruhy k ústní zkoušce 1. Definice OS: typy OS, abstrakce a služby, systémová volání. - Definice OS Rozšíření stroje pohled shora (tvůrce prostředí pro uživatele a jejich programy) Správce

Více

ZOS OPAKOVÁNÍ. L. Pešička

ZOS OPAKOVÁNÍ. L. Pešička ZOS OPAKOVÁNÍ L. Pešička ZÁKLADNÍ PRAVIDLO Důležité je znát nejen fakta, ale porozumět jim a zasadit je do kontextu celého OS Př. algoritmus Second Chance využívá bitu Referenced tak, že (fakta) a kdy

Více

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština) Instalace OS Linux 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

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti II. 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 je podporována projektem financovaným z Evropského

Více

Logická organizace paměti Josef Horálek

Logická organizace paměti Josef Horálek Logická organizace paměti Josef Horálek Logická organizace paměti = Paměť využívají = uživatelské aplikace = operační systém = bios HW zařízení = uloženy adresy I/O zařízení atd. = Logická organizace paměti

Více

Úloha OS, prostředky počítače, představa virtuálního počítače

Úloha OS, prostředky počítače, představa virtuálního počítače Úloha OS, prostředky počítače, představa virtuálního počítače OS softwarová nadstavba HW společně s HW představuje virtuální počítač rozhraní mezi uživatelem a systémem prostředí pro provádění programů

Více

Řízení IO přenosů DMA řadičem

Řízení IO přenosů DMA řadičem Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována

Více

Principy operačních systémů. Lekce 7: Obrana proti deadlocku

Principy operačních systémů. Lekce 7: Obrana proti deadlocku Principy operačních systémů Lekce 7: Obrana proti deadlocku Deadlock Deadlock = uváznutí, zablokování Vznik problému: proces drží určité prostředky, požaduje přidělení dalších prostředků, tyto nedostane

Více

Struktura a architektura počítačů (BI-SAP) 11

Struktura a architektura počítačů (BI-SAP) 11 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 11 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

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

Principy operačních systémů. Lekce 6: Synchronizace procesů Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)

Více

3. Počítačové systémy

3. Počítačové systémy 3. Počítačové systémy 3.1. Spolupráce s počítačem a řešení úloh 1. přímý přístup uživatele - neekonomické. Interakce při odlaďování programů (spusť., zastav.,krok, diagnostika) 2. dávkové zpracování (batch

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

Předmět: Operační systémy

Předmět: Operační systémy Předmět: Operační systémy Test-varianta: 2011 12-os120111 termín 3 Vyhodnocení testu 1. okruh: Architektura a koncepce OS OS a HW Aby fungoval OS s preemptivním multitaskingem, musí HW obsahovat: 1. (+2)

Více

Procesy a vlákna - synchronizace

Procesy a vlákna - synchronizace ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody

Více

Principy operačních systémů. Lekce 4: Správa procesů

Principy operačních systémů. Lekce 4: Správa procesů Principy operačních systémů Lekce 4: Správa procesů Základní pojmy Program = zápis algoritmu v programovacím jazyce Je statický (neměnný) Proces = instance programu běžícího v počítači Je tvořen nejen

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Metody připojování periferií BI-MPP Přednáška 2

Metody připojování periferií BI-MPP Přednáška 2 Metody připojování periferií BI-MPP Přednáška 2 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

Operační systémy. Přednáška 2: Procesy a vlákna

Operační systémy. Přednáška 2: Procesy a vlákna Operační systémy Přednáška 2: Procesy a vlákna 1 Procesy Všechen běžící software v systému je organizován jako množina sekvenčně běžících procesů. (Sekvenční) proces Abstrakce běžícího programu. Sekvence

Více

Principy operačních systémů. Lekce 1: Úvod

Principy operačních systémů. Lekce 1: Úvod Principy operačních systémů Lekce 1: Úvod Sylabus Lekce 1: Úvod 2 Literatura Lekce 1: Úvod 3 Operační systém Základní programové vybavení počítače, které se zavádí do počítače při jeho startu a zůstává

Více

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

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2014/2015 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21 Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní

Více

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti I. 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 je podporována projektem financovaným z Evropského

Více

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

ÚVOD DO OPERAČNÍCH SYSTÉMŮ ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna Plánování procesů (Process Scheduling) České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

Více

Operační systémy. Přednáška 1: Úvod

Operační systémy. Přednáška 1: Úvod Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace

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

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

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

Operační systémy. Přednáška 7: Správa paměti I Operační systémy Přednáška 7: Správa paměti I 1 Správa paměti (SP) Memory Management Unit (MMU) hardware umístěný na CPU čipu např. překládá logické adresy na fyzické adresy, Memory Manager software, který

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 / 16 Semafory Await synchronizace používající await běží na železe = využívají

Více

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading) Správa paměti (SP) Operační systémy Přednáška 7: Správa paměti I Memory Management Unit (MMU) hardware umístěný na CPU čipu např. překládá logické adresy na fyzické adresy, Memory Manager software, který

Více

PB153 Operační systémy a jejich rozhraní

PB153 Operační systémy a jejich rozhraní PB153 Operační systémy a jejich rozhraní Uváznutí 1 Problém uváznutí Existuje množina blokovaných procesů, každý proces vlastní nějaký prostředek (zdroj) a čeká na zdroj držený jiným procesem z této množiny

Více

Úvod do Linuxu. SŠSI Tábor 1

Úvod do Linuxu. SŠSI Tábor 1 Úvod do Linuxu SŠSI Tábor 1 Trocha historie konec 60. let - AT&T vyvíjí MULTICS 1969 - AT&T Bell Labs - začátek OS Unix začátek 70.let - AT&T vývoj OS Unix kolem 1975 - University of California at Berkley

Více

PRINCIPY OPERAČNÍCH SYSTÉMŮ

PRINCIPY OPERAČNÍCH SYSTÉMŮ Metodický list č. 1 Název tématického celku: Přehled operačních systémů a jejich funkcí Základním cílem tohoto tematického celku je seznámení se s předmětem (vědním oborem) Operační systémy (OS) a se základními

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 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

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Architektura IO podsystému České vysoké učení technické, Fakulta elektrotechnická A4M36PAP Pokročílé architektury počítačů Ver.1.00 2010 1 Co je úkolem? Propojit jednotlivé

Více

Operační systémy 1. Přednáška číslo 10 26. 4. 2010. Struktura odkládacích zařízení

Operační systémy 1. Přednáška číslo 10 26. 4. 2010. Struktura odkládacích zařízení Operační systémy 1 Přednáška číslo 10 26. 4. 2010 Struktura odkládacích zařízení Základní pojmy Paměťové médium periferní zařízení nejvyšší důležitosti samotný OS je obvykle uložen na paměťovém zařízení.

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

Operační systémy. Přednáška 3: Plánování procesů a vláken

Operační systémy. Přednáška 3: Plánování procesů a vláken Operační systémy Přednáška 3: Plánování procesů a vláken 1 Plánovací algoritmy Určují, který z čekajících procesů (vláken) bude pokračovat. Typy plánování dlouhodobé (long-term scheduling) určuje, které

Více

Windows a real-time. Windows Embedded

Windows a real-time. Windows Embedded Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé

Více

Konfigurace Windows 7

Konfigurace Windows 7 Konfigurace Windows 7 Klíčové pojmy: Uživatelská a systémová konfigurace, UAC, Rodičovská kontrola. Uživatelská konfigurace Vzhled Grafické rozhraní Aero Nabízí průhlednost, 3D efekty Zvyšuje nároky na

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

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Systémy souborů. FAT, NTFS, UFS, ZFS. 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 je podporována projektem

Více

Ukázka zkouškové písemka OSY

Ukázka zkouškové písemka OSY Ukázka zkouškové písemka OSY Jméno a příjmení:.......................................... Odpovězte na otázky zaškrtnutím příslušného políčka. Otázky označené znakem mohou mít více než jednu správnou odpověď.

Více

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Real Time programování v LabView. Ing. Martin Bušek, Ph.D. Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití

Více

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian 02 konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian Kernighan v r. 1973 přepsán do jazyka C Psát programy,

Více

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění MS WINDOWS I řada operačních systémů firmy Microsoft *1985 -? Historie Práce ve Windows XP Architektura Instalace Spouštění HISTORIE I MS-DOS 1981, první OS firmy Microsoft, pro IBM PC 16b, textový, jednouživatelský,

Více

Počítač jako prostředek řízení. Struktura a organizace počítače

Počítač jako prostředek řízení. Struktura a organizace počítače Řídicí počítače - pro řízení technologických procesů. Specielní přídavná zařízení - I/O, přerušovací systém, reálný čas, Č/A a A/Č převodníky a j. s obsluhou - operátorské periferie bez obsluhy - operátorský

Více

Procesy a vlákna Mgr. Josef Horálek

Procesy a vlákna Mgr. Josef Horálek Procesy a vlákna Mgr. Josef Horálek Procesy a vlákna = Základním úkolem jádra je = Správa běžících procesů a vláken: = vytváření = plánování = nastavování = ukončování Proces, vlákno, úloha = Proces běžící

Více

Témata profilové maturitní zkoušky

Témata profilové maturitní zkoušky Obor: 18-20-M/01 Informační technologie Předmět: Databázové systémy Forma: praktická 1. Datový model. 2. Dotazovací jazyk SQL. 3. Aplikační logika v PL/SQL. 4. Webová aplikace. Obor vzdělání: 18-20-M/01

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 Souborové systémy Zimní semestr 2011/2012 Poděkování Při přípravě této prezentace jsem většinu materiálu převzal z prezentace Yaghob, J. Základy

Více

Profilová část maturitní zkoušky 2015/2016

Profilová část maturitní zkoušky 2015/2016 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

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

Implementace systémů HIPS: historie a současnost. Martin Dráb

Implementace systémů HIPS: historie a současnost. Martin Dráb Implementace systémů HIPS: historie a současnost Martin Dráb martin.drab@secit.sk HIPS: základní definice Majoritně používané operační systémy disponují bezpečnostními modely, které dovolují jednotlivým

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetí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 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 2 Virtualizace a její dopady Martin Milata Obsah Virtualizace Jak virtualizace funguje Typy HW podpora virtualizace Dopady virtualizace Jak virtualizace funguje?

Více

Základní typy struktur výpočetních systémů

Základní typy struktur výpočetních systémů Základní typy struktur výpočetních systémů Struktury výpočetních systémů Monolitická struktura Vrstvená (hierarchická) struktura Virtuální počítače (virtuální stroje) Abstraktní počítače Modulární struktura

Více

Principy operačních systémů

Principy operačních systémů Principy operačních systémů Struktura programového vybavení Uživatelské programy Jádro operačního systému Interpret příkazů Hardware BIOS Služby OS Služební programy Operační systém Operační systém je

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

TC-502L TC-60xL. Tenký klient

TC-502L TC-60xL. Tenký klient TC-502L TC-60xL Tenký klient Popis přístroje Tenký klient TC-502L s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. TC-604 navíc

Více

Management procesu II Mgr. Josef Horálek

Management procesu II Mgr. Josef Horálek Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010 Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už

Více

TC-502L. Tenký klient

TC-502L. Tenký klient TC-502L Tenký klient Popis přístroje Tenký klient s kompletní podporou pro připojení do systémů Windows 7, Vista, Windows 2008, Windows 2003, Windows XP Pro, Linux servery. Disponuje 1x rozhraním LAN 10/100,

Více

Poslední aktualizace: 25. května 2017

Poslední aktualizace: 25. května 2017 Operační systémy seznam otázek ke zkoušce Poslední aktualizace: 25. května 2017 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

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10 Operační systémy 2 Struktura odkládacích zařízení Přednáška číslo 10 Základní pojmy Paměťové médium periferní zařízení nejvyšší důležitosti samotný OS je obvykle uložen na paměťovém zařízení. Proto je

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

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

Vzájemné vyloučení procesů

Vzájemné vyloučení procesů PDV 10 2017/2018 Vzájemné vyloučení procesů Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad Bankovní server v cloudu. Dva zákaznici současně vloží 10

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

Téma 8: Konfigurace počítačů se systémem Windows 7 IV Téma 8: Konfigurace počítačů se systémem Windows 7 IV 1 Teoretické znalosti V tomto cvičení budete pracovat se správou vlastností systému, postupně projdete všechny karty tohoto nastavení a vyzkoušíte

Více

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu Čipová sada Čipová sada (chipset) je hlavní logický integrovaný obvod základní desky. Jeho úkolem je řídit komunikaci mezi procesorem a ostatními zařízeními a obvody. V obvodech čipové sady jsou integrovány

Více

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz.

Definice OS. Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz. OPERAČNÍ SYSTÉMY Definice OS Operační systém je základní programové vybavení počítače, nezbytné pro jeho provoz. Každý počítač má alespoň jeden procesor, paměť, I/O zařízení. Všechny tyto součásti můžeme

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

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