Operační Systém a Jádro OS

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Která z následujících možností není cílem operačního systému?

  • Maximalizace využití zdrojů počítače
  • Zajištění jednoduchosti použití počítače
  • Správa hardwarových ovladačů (correct)
  • Optimalizace správy paměti

Jaký je hlavní rozdíl mezi monolitickým jádrem a mikrojádrem z hlediska implementace služeb?

  • Monolitické jádro minimalizuje rozsah jádra, zatímco mikrojádro nabízí vysokou efektivitu.
  • Monolitické jádro je experimentální, zatímco mikrojádro je široce používané v komerčních systémech.
  • Monolitické jádro je méně efektivní než mikrojádro.
  • Monolitické jádro vytváří rozhraní se službami nabízenými vyšším vrstvám, zatímco mikrojádro minimalizuje rozsah jádra a nabízí jednoduché rozhraní. (correct)

Co charakterizuje exojádro ve vztahu k ostatním typům jader?

  • Poskytuje velmi vysoké rozhraní, které dává uživatelům rozsáhlé možnosti konfigurace.
  • Je optimalizováno pro real-time aplikace s minimální latencí.
  • Používá hybridní přístup kombinací monolitických a mikrokernelových principů.
  • Poskytuje velmi malé rozhraní zaměřené na bezpečné sdílení prostředků. (correct)

Které z tvrzení nejlépe vystihuje roli VFS (Virtuálního souborového systému)?

<p>Poskytuje jednotné rozhraní pro práci s různými souborovými systémy. (A)</p> Signup and view all the answers

Jaký je hlavní účel ECC (Error Correction Code) v kontextu zabezpečení disků a jak funguje?

<p>Detekuje a opravuje chyby v datech uložených na disku pomocí redundantních dat. (D)</p> Signup and view all the answers

Co je to žurnálování (journaling) v kontextu souborových systémů a jaké problémy řeší?

<p>Technika pro zajištění konzistence dat na disku po nečekaných výpadcích proudu nebo systémových chybách. (B)</p> Signup and view all the answers

Jaký je hlavní rozdíl mezi interní a externí fragmentací disku a jaké jsou jejich důsledky?

<p>Interní fragmentace plýtvá místem uvnitř alokačních bloků, zatímco externí fragmentace vzniká mezi soubory na disku. (B)</p> Signup and view all the answers

Jak sticky bit ovlivňuje operace se soubory v adresáři v operačních systémech typu UNIX?

<p>Umožňuje mazat pouze soubory, které uživatel vlastní, i když má právo zápisu do adresáře. (D)</p> Signup and view all the answers

Jak funguje mechanismus SUID (Set User ID) a SGID (Set Group ID) v systémech typu UNIX a jaké jsou potenciální bezpečnostní implikace jejich použití?

<p>Umožňují spouštět programy s právy vlastníka souboru, což může vést k eskalaci privilegií a bezpečnostním rizikům. (C)</p> Signup and view all the answers

Jaký je rozdíl mezi rourami pojmenovanými a nepojmenovanými a jaké mechanismy se používají pro jejich implementaci?

<p>Nepojmenované roury se používají pro komunikaci mezi procesy, které mají společného rodiče, zatímco pojmenované roury umožňují komunikaci mezi libovolnými procesy. (C)</p> Signup and view all the answers

Flashcards

Co je operační systém (OS)?

Program (kolekce programů), který spojuje hardware s aplikacemi a jejich uživateli.

Co je jádro operačního systému?

Nejnižší a nejzákladnější část OS, která se zavádí první a běží po celou dobu běhu systému. Navazuje přímo na hardware.

Co jsou monolitická jádra?

Typ jádra OS s vysokou efektivitou, které vytváří rozhraní se službami nabízenými vyšším vrstvám. Příklady: FreeBSD, Linux.

Co jsou mikrojádra?

Typy jader minimalizující rozsah jádra, nabízí jednoduché rozhraní a malý počet služeb. Příklady: Mach, QNX, L4.

Signup and view all the flashcards

Co jsou to procesy v UNIXu?

UNIX: abstrakce probíhajícího výpočtu. Komunikují pomocí IPC (roury, signály...).

Signup and view all the flashcards

Co je to skript?

Textový soubor s programem pro interpret.

Signup and view all the flashcards

Co je 'Magic Number'?

Číslo uvedené na začátku souboru, charakterizující jeho obsah.

Signup and view all the flashcards

Co je ECC (Error Correction Code)?

K užitečným datům sektoru se ukládají redundantní data, která umožňují opravu nebo alespoň detekci chyb.

Signup and view all the flashcards

Co je RAID 0?

Následné bloky dat rozmístěny na různých discích, vyšší výkonnost, žádná redundance.

Signup and view all the flashcards

Co je RAID 1?

Disk mirroring, všechna data ukládána na dva disky, velká redundance.

Signup and view all the flashcards

Study Notes

Operační Systém (OS)

  • OS je program, který propojuje hardware, aplikace a uživatele, s možností virtualizace.
  • Dřívějším cílem OS bylo maximální využití zdrojů počítače, dnes je to jednoduchost použití.
  • Mezi role OS patří správa prostředků (sdílení paměti, diskového prostoru více programy/uživateli) a vytvoření uživatelského prostředí (virtuálního počítače).
  • OS zahrnuje jádro, systémové knihovny, utility a uživatelské rozhraní (textové nebo grafické).

Jádro OS

  • Jádro je nejnižší a nejzákladnější část OS, jež se zavádí jako první a běží po celou dobu chodu systému.
  • Jádro přímo navazuje na hardware a běží v privilegovaném režimu.
  • Zajišťuje základní správu systémových prostředků a vytváří prostředí pro aplikace.
  • Existují dva typy rozhraní jádra: Kernel interface a Library interface.

Typy jader OS

  • Monolitická jádra jsou vysoce efektivní a poskytují rozhraní pro služby (správa paměti, plánování procesů, souborové systémy, síťová komunikace).
    • Příklady monolitických jader: FreeBSD, Linux.
  • Mikrojádra minimalizují rozsah jádra a nabízejí jednoduché rozhraní s malým počtem služeb (správa, komunikace procesů a paměti).
    • Příklady mikrojader: Mach, QNX, L4.
    • Výhody mikrojader: flexibilita a zabezpečení.
    • Nevýhody mikrojader: vyšší režie.
  • Hybridní jádra rozšiřují mikrojádra o další kód pro snížení režie.
    • Příklady hybridních jader: Mac OS X, Windows NT (a vyšší).
  • Exojádra jsou experimentální a poskytují velmi nízké rozhraní, zaměřené na bezpečné sdílení prostředků.
    • Příklady exojader: Aegis, Nemesis.

Klasifikace OS

  • Klasifikace OS podle účelu:
    • Univerzální (UNIX, Windows, Linux)
    • Specializované (real-time systémy jako QNX, RXS, RT-Linux, databázové/webové systémy, OS pro mobilní zařízení Android, iOS, Windows Phone).
  • Klasifikace OS podle počtu uživatelů:
    • Jednouživatelské (CP/M, MS-DOS)
    • Víceuživatelské (UNIX, Windows).
  • Klasifikace OS podle počtu současně běžících úloh:
    • Jednoúlohové
    • Víceúlohové

Základní koncepty v UNIXu

  • Procesy jsou abstrakce běžícího výpočtu, komunikující pomocí IPC (roury, signály, semafory, sdílená paměť, sockety, zprávy).
  • Soubory jsou abstrakce zdroje dat, komunikující s procesy prostřednictvím I/O operací.
  • Komunikace s jádrem probíhá pomocí systémových volání, což jsou služby jádra implementované jádrem.
    • Příklady systémových volání: open, close, read, write, kill, fork, exec, exit.

HW přerušení

  • Mechanismus, kterým HW asynchronně informuje jádro o událostech, které vyžadují obsluhu.
  • Žádosti o přerušení přicházejí do řadiče přerušení a mají priority.
  • Procesor, po přijetí přerušení, vyvolá obslužnou rutinu v privilegovaném režimu.
  • Řadič přerušení může maskovat některá přerušení pro nastavení priority.

Přerušení v procesoru

  • Trap: Po obsluze přerušení se pokračuje další instrukcí.
  • Fault: Po obsluze se opakuje instrukce, která výjimku vyvolala (např. výpadek stránky, dělení nulou).
  • Abort: Nelze určit, jak pokračovat, provádění programu se ukončí (např. chyba detekovaná procesorem).

Skriptování

  • Interpret je program, který provádí činnost programu, který je jeho vstupem.
  • Skript je textový soubor obsahující program pro interpret.
  • Nevýhody skriptování: pomalejší spouštění (nutný interpret).
  • Výhody skriptování: okamžitá spustitelnost, čitelnost kódu (není nutný překlad).
  • "Magic number" je číslo na začátku souboru, které charakterizuje jeho obsah.
    • Jádro díky magic number zjistí, jak soubor spustit.
    • Výhoda: Možnost psát programy v libovolném skriptovacím jazyku.

Pevný disk

  • Diskový sektor je nejmenší jednotka, kterou disk umožňuje načíst nebo zapsat.
  • Hierarchie pamětí (od nejrychlejší po nejpomalejší):
    • Primární paměť (RAM, registry, cache L1-L3).
    • Sekundární paměť (pevné disky, SSD).
    • Terciární paměť (pásky, CD, DVD).
  • Parametry pevných disků: přístupová doba, kapacita, otáčky, přenosová rychlost.

SSD (Solid State Drive)

  • Výhody SSD: rychlý náběh, náhodný přístup, vyšší přenosová rychlost, tichý provoz, nízká spotřeba.
  • Nevýhody SSD: vyšší cena, omezený počet přepisů, možné komplikace se zabezpečením.

Zabezpečení disků

  • ECC (Error Correction Code) ukládá redundantní data pro opravu nebo detekci chyb v sektorech.
  • S.M.A.R.T. automaticky shromažďuje statistiky pro diagnostiku a předpovídání chyb.
  • Rozpoznávání a označování vadných bloků.

Disková pole (RAID)

  • RAID 0: Následné bloky dat jsou rozmístěny na různých discích, což zvyšuje výkon, ale neposkytuje redundanci.
  • RAID 1: "Disk mirroring", všechna data jsou ukládána na dva disky pro redundanci.
  • RAID 2: Data jsou rozdělena mezi disky po bitech (pro čtyři datové disky umožňuje automatickou opravu jedné chyby nebo detekci dvou chyb).
  • RAID 3: Data jsou uložena po bajtech (nebo i bitech) na různých discích, s využitím disku pro parity.
  • RAID 4: Bloky dat jsou uloženy na různých discích a paritní bloky na zvláštním disku.
  • RAID 5: Podobný RAID 4, ale paritní a datové bloky jsou rozloženy na všech discích, čímž se snižují kolize.
  • RAID 6: Podobný RAID 5, ale parita je uložena dvakrát, což umožňuje vyrovnat se i se ztrátou dvou disků.

Uložení souboru na disku

  • Alokační blok je skupina sektorů (typicky 2^n) následujících logicky i fyzicky za sebou, nejmenší jednotka diskového prostoru.

Fragmentace

  • Externí fragmentace vzniká při přidělování a uvolňování prostoru, což vede k nesouvislým volným a použitým oblastem.
    • Důsledky: Nevyužité oblasti, nespojité uložení dat a pomalejší přístup.
    • Moderní systémy minimalizují fragmentaci rozložením souborů, předalokací a odloženou alokací.
    • Nástroje pro defragmentaci.
  • Interní fragmentace: Nevyužité místo v posledním alokačním bloku. Některé systémy umožňují sdílení posledních bloků.

Přístup na disk

  • Prostřednictvím I/O portů nebo paměťově mapovaných I/O operací.
  • Přenos dat je řízen řadičem disku s využitím DMA. Řadič informuje procesor o ukončení operací pomocí přerušení.

Plánování přístupu na disk

  • Ovlivňuje efektivitu diskových operací.
  • Požadavky na čtení/zápis jsou ukládány do vyrovnávací paměti a měněny pro minimalizaci režie.

Typy souborových systémů

  • Např. fs, ufs, ufs2, ext2, ext3, ext4, FAT, FAT32, NTFS.
  • Virtuální souborový systém (VFS) zastřešuje všechny souborové systémy a umožňuje s nimi pracovat jednotně.
  • Síťové a speciální souborové systémy.

Žurnálování

  • Záznam metadat (případně i dat) před jejich zápisem na disk.
  • Obvykle implementován jako cyklicky přepisovaný buffer.
  • Souborové systémy se žurnálem: ext3, ext4, ufs, NTFS.
  • Umožňuje spolehlivější a rychlejší návrat do konzistentního stavu po chybách, avšak s velkou režií.
  • REDO zapíše sekvence dílčích operací nejprve do žurnálu. V případě selhání se dokončí všechny transakce v žurnálu.
  • UNDO prokládá záznam dílčích operací do žurnálu a na disk. Při chybě se nedokončené transakce eliminují.
  • UNDO a REDO lze kombinovat.
  • Implementace žurnálování musí zajišťovat správné pořadí zápisu.

Alternativy k žurnálování

  • Copy-on-write (např. ZFS, btrfs) zapisuje nová data či metadata na disk, a poté je zpřístupní.

I-uzel

  • Základní datová struktura popisující soubor v UNIXu.
  • Obsahuje metadata: stav, typ, délku, přístupová práva, počet pevných odkazů, atd.
  • V-uzel je rozšířený i-uzel.

Deduplikace

  • Snaha odhalit opakovaná data, uložit je jednou a odkazovat vícenásobně.
  • Podporována na různých úrovních (sekvence bytů, bloky, soubory).
  • Může uspořit diskový prostor, ale při menším objemu duplikace může naopak zvýšit spotřebu procesorového času.
  • Podporuje např. NTFS.

Přístupová práva

  • V UNIXu jsou rozlišena práva pro vlastníka, skupinu a ostatní.

Uživatelé

  • Uživatel je definován administrátorem systému a identifikován pomocí UID.

Skupiny

  • Skupina je definována administrátorem systému a identifikována pomocí GID.
  • Uživatel může být členem více skupin, přičemž jedna z nich je aktuální (používá se při vytváření souborů).

Sticky bit

  • Příznak, který nedovoluje rušit cizí soubory v adresáři, i když mají všichni právo zápisu.

SUID, SGID

  • Vlastník programu může propůjčit svoje práva ostatním uživatelům, kteří spustí program s nastaveným SUID.

Buffering (Čtení a Zápis)

  • Buffer je vyrovnávací paměť.
  • Cílem je minimalizace pomalých operací s periferiemi.
  • Čtení: přidělení vyrovnávací paměti, načtení bloku, kopie dat do adresového prostoru procesu (RAM → RAM).
  • Zápis: přidělení vyrovnávací paměti, zápis dat do vyrovnávací paměti (RAM → RAM), nastavení příznaku modifikace, zpožděný zápis na disk.

Otevření souboru pro čtení

  • Volání: fd = open("/dir/file", O_RDONLY);
  • Vyhodnotí cestu a nalezne i-uzel.
  • V systémové tabulce aktivních i-uzlů se vyhradí nová položka a načte se i-uzel, vzniká v-uzel.
  • V systémové tabulce otevřených souborů se vyhradí nová položka a naplní se.
  • V poli deskriptorů souborů v uživatelské oblasti procesu se vyhradí nová položka a naplní se odkazem na položku v tabulce otevřených souborů.
  • Vrátí se index položky v poli deskriptorů (nebo -1 při chybě).

Zavření souboru

  • Volání: x = close(fd);
  • Kontrola platnosti deskriptoru souboru.
  • Uvolní se položka v tabulce deskriptorů a sníží se počitadlo odkazů v tabulce otevřených souborů.
  • Pokud je počitadlo odkazů nulové, uvolní se položka v tabulce otevřených souborů a sníží se počitadlo odkazů ve v-uzlu.
  • Pokud je i počitadlo odkazů nulové, i-uzel se okopíruje do VP a uvolní se.
  • Funkce vrací nulu nebo -1 při chybě.

Duplikace deskriptoru souboru

  • Volání: fd2 = dup(fd); nebo fd2 = dup2(fd,newfd);
  • Zkontroluje se platnost původního deskriptoru.
  • Zkopíruje se položka v tabulce deskriptorů do první volné (dup) nebo do zadané položky (dup2). Pokud je deskriptor newfd otevřen, dup2 ho automaticky uzavře.
  • Zvýší se počitadlo odkazů v tabulce otevřených souborů.
  • Funkce vrací index nové položky, jinak -1.

Terminály

  • Fyzická nebo logická zařízení umožňující textový vstup/výstup systému.
  • Podporují vstup/výstup po řádcích, editaci na vstupním řádku a speciální znaky (Ctrl-C, Ctrl-D).

Roury (Pipes)

  • Jeden z typů speciálních souborů.
  • Rozlišujeme roury nepojmenované a pojmenované (vytvoření mknod či mkfifo).
  • Reprezentují jeden z mechanismů meziprocesové komunikace.
  • Implementace: Kruhový buffer s omezenou kapacitou.
  • Procesy komunikující přes rouru jsou synchronizovány (producent a konzument).

Sockets

  • Umožňují síťovou i lokální komunikaci.
  • Lokální komunikace může probíhat přes pojmenované sockety.

VFS (Virtual File System)

  • Vytváří jednotné rozhraní pro práci se souborovými systémy.
  • Odděluje vyšší vrstvy OS od implementace operací na souborových systémech.
  • Pro popis souborů používá rozšířené i-uzly (tzv. v-uzly).

NFS (Network File System)

  • Zpřístupňuje soubory uložené na vzdálených systémech.
  • Umožňuje kaskádování.

Spooling

  • Vyrovnávací paměť (typicky soubor) pro zařízení (tiskárny), které neumožňují prokládané zpracování dat.
  • Výstup se provede do souboru a zařadí do fronty, čímž uživatelský proces může pokračovat.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Sistem Operasi: Jenis dan Fungsi
10 questions
Introduction to Operating Systems
16 questions
Operating System Overview and Components
40 questions
Use Quizgecko on...
Browser
Browser