IOS Flashcards
Deadlock
rozumíme situaci, kdy
každý proces z určité množiny je pozastaven a čeká na uvolnění zdroje s výlučným (omezeným)
přístupem vlastněného nějakým procesem z dané množiny, který jediný může tento zdroj uvolnit
Obecna defenice Deadlocku
Uváznutí jako situaci, kdy každý proces z množiny procesů je pozastaven a čeká na
událost, která by mohla nastat pouze tehdy, pokud by mohl pokračovat nějaký proces z dané
množiny
COFFMANOVY PODMÍNKY UVÁZNUTÍ
- Vzájemné vyloučení při používání prostředků
- Vlastnění alespoň jednoho zdroje, pozastavení a čekání na další
- Prostředky vrací proces, který je vlastní a to až po jejich využití
- Cyklická závislost na sebe čekajích procesů
PREVENCE UVÁZNUTÍ
- Nepoužívat sdílené prostředky, nebo používat takové sdílené prostředky, které umožňují
skutečně součastný sdílený přístup a u kterých není nutné vzájemné vyloučení procesů - Proces může o prostředky žádat pouze v případě, že žádné nevlastní
- Pokud proces požádá o prostředky, které momentalně nemůže získat, je pozastaven, jsou mu
odebrány všechny prostředky a proces je zrušen, a nebo čeká do doby než mu mohou být ony
prostředky přiděleny. - Prostředky jsou číslovány a je možné je získat pouze od nejnižších čísel k nejvyšším, nebo v
jiném pořadí, které vylučuje vznik cyklické závislosti procesů
VYHÝBÁNÍ SE UVÁZNUTÍ
Procesy předem deklarují určité informace o tom jakým způsobem budou využívat zdroje, v
nejjednoduším případě se jedná a maximální počet součastně požadovaných zdrojů jednotlivých
typů.
Předem známé informace o možných požadavcích jednotlivých procesů a o aktuálním stavu
přidělování se využijí k rozhodování o tom, které požadavky mohou být uspokojeny, a které si na
své uspokojení musí počkat, cílem je zamezit tomu aby nemohla vzniknout cyklická závislost na
sebe čekajících procesů i v nejhorší možné situaci, která by v budoucnu mohla vniknout při
deklarovaném chování procesů.
Výpadky stránek
- Proběhne kontrola, zda proces neodkazuje mimo přidělený adresový prostor
- Alokace rámce
• Pokud je nějaký rámec volný, použije se
• Vybereme vhodnou stránku s přiděleným rámcem (victim page), stránku odložíme na swap
• Použijeme vzniklý volný rámec - Inicializace stránky po alokaci závislá na předchozím stavu stránky
• První odkaz na stránku
• Stránka byla v minulosti uvolněna z FAP - Úprava tabulky stránek
• Namapování zpřístupňěné stránky na přidělený rámec - Proces připraven na opakování instrukce která výpadek způsobila ( je ve stavu “připravený”)
FIFO algoritm vyberu
Algoritmus FIFO (first in first out) odstraňuje stránku, která byla zavedena do paměti před nejdelší
dobou a doposud nebyla odstraňena.
Lze využít v kombinaci s odložením oběti na nějaká prostor a v případě špatného výběru se oběť
obnoví a vybere se jinak.
Výhody : Jednoduchá implementace
Nevýhody : Může odstranit starou, ale stále používanou stránku
LRU
Algoritmus LRU odkládá nejdéle nepoužitou stránku, používá se aproximace LRU
Výhody : Velmi dobrá aproximace hypotetického ideálního algoritmu
Nevýhody : Někdy se uvádí problém s cyklickými průchody rozsáhlími poli, problematická
implementace (vyžadující výraznou HW podporu - označování stránek časovým razítkem
posledního přístupu, či uržování zásobníku stránek, kde je vrcholem naposledy použitá stránka)
Aproximace LRU (2 druhy)
Aproximace pomocí omezené historie
• Refefenční bit je nastaven s každým přístupem, jádlo si vezme omezenou historii tohoto bitu pro jednotlivé stránky, periodicky posouvá obsah historie doprava
• Na nejlevější pozici se ukládá aktuální hodnota referenčího bitu a vynuluje ho, oběť je vybrána
jako stránka s nejnižší číselnou hodnotou historie
Aproximace “druhá šance”
• Stránky v kruhovém seznamu, postupuje a nuluje se refenční bit, odstraní se stránka která
referenční bit 0 už má
• Často používaný algoritmus též označovaný jako clock algorithm
DEFINICE OPERAČNÍHO SYSTÉMU
kolekce programů která vytváří spojující vrstvu mezi
hardwarem počítače ( ten může být buď fyzický nebo virtualizovaný ) a uživateli a jejich aplikacemi
CÍLE OS
- Maximální využití zdrojů ( zejména dříve kdy byl velmi drahý hardware a levná pracovní síla)
- Snadnost použití ( zejména dnes, kdy je levný hardware a drahá pracovní síla )
ROLE OS
- Správce protředků ( dovoluje bezpečné a efektivní sdílení prostředků )
- Tvůrce virtuálního počítače ( Poskytuje standartní rozhraní, poskytuje abstrakce )
JÁDRO
- Nejnižší správa prostředku a tvorba prostředí pro zbytek OS a uživatelské aplikace ( nejnižší anejzákladnější část OS )
- Zavádí se jako první a běží po celou dobu běhu hardware
- Navazuje přímo na hardware ( který může být i virtualizovaný )
- Obvykle běží v privilegovaném režimu
MIKROJÁDRA
Minimalizují rozsah jádra a nabízí jednoduché rozhraní s jednoduchými abstrakcemi a malým
počtem služeb )
• Většína služeb monolitického jádra implementována formou serverů mimo režim jádra
Výhody :
• Flexibilita ( spouštění, zastavování serverů.. )
• Bezpečnost ( útok na server neovládne celé jádro )
Nevýhody : Vyšší režie ( nižší efektivita )
NEPREEMPITVNÍ PLÁNOVÁNÍ
Ke zmeně běžícího procesu může dojít pouze tehdy, pokud to běžící proces umožní předáním
řízení jádru ( žádá o službu typicky I/O operaci, končí nebo se sám vzdává procesoru )