FAKULTA INFORMATIKY Masarykova univerzita PB001: Uvod do informačních technologií Luděk Matýska (Eva Hladká) podzim 2020 Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 1/35 FAKULTA INFORMATIKY Masarykova univerzita Obsah přednášky Číselné soustavy Operační systémy Historie ÚčeL Základní složky Procesy Paměť Systém souborů Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 2/35 Číselné soustavy FAKULTA INFORMATIKY Masarykova univerzita Číselné soustavy ■ DLe základu: dvojková, osmičková, šestnáctková, desítková ■ VoLně mezi sebou převoditeLné (ceLá čísla bez ztráty přesnosti) ■ CeLá čísla a zlomky ■ ReáLná čísla ■ První počítač v desítkové soustavě ■ Konečné reprezentace Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 3/35 Číselné soustavy FAKULTA INFORMATIKY Masarykova univerzita Dvojková soustava ■ Základem je číslo dvě ■ pouze dvě číslice - dva stavy ■ vhodná pro reprezentaci v číslicových sytémech Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 4/35 Číselné soustavy FAKULTA INFORMATIKY I Masarykova univerzita Dvojková soustava v počítači ■ CeLá čís La ■ Záporná čísla ■ Přímý kód ■ Inverzní kód (binární negace) ■ Dvojkový doplňkový kód (binární negace + 1) ■ Pro reálná čísla ■ Rozlišitelnost (nejmenší zobrazitelné číslo): X + e > X aX + e/2 = X ■ Přesnost (rozsah) ■ Zobrazení: mantisa m a exponent e 0 ■ Přesnost zobrazení: počet bitů mantisy + 1 ■ Rozlišitelnost: nejmenší nenulové číslo ■ Normalizované vs. nenormalizované (2mkrát menší, m počet bitů mantisy) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 11/35 Číselné soustavy FAKULTA INFORMATIKY Masarykova univerzita Jiné soustavy ■ Osmičková ■ 0011011011112 = 15578 = 87910 v ■ Šestnáctková ■ 0011011011112 = 36F16 = 87910 ■ Používány především pro hutný zápis binárních číseL Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 12/35 Operační systémy FAKULTA INFORMATIKY I Masarykova univerzita OS jako příklad ■ Operační systém je veLmi komplikovaný programový produkt ■ Vývoj odráží změny v informačních technologiích ■ programovací jazyky ■ softwarové inženýrství ■ vývoj hardware (kvalita, kapacita,...) ■ vývoj periferií ■ (Prakticky) každý se s ním potká ■ Principy návrhu proto demonstrovány na operačních systémech a jejich komponentách Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 13/35 Operační systémy Historie FAKULTA INFORMATIKY I Masarykova univerzita Operační systémy - trocha historie ■ Bootstrap Loader ■ Spooling ■ Nezávislé zavádění programu a jeho vykonávání ■ Vyžaduje DMA (Direct Memory Access) ■ Zavedlo multiprogramovdnľ ■ Stále zpracování dávek (batch processing) ■ Timesharing ■ Virtualizace počítače/CPU ■ Zpracování interaktivních úloh ■ Souvisí se zavedení disku (Direct Access Storage Device, DASD od IBM, 60tá léta) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 14/35 Operační systémy Účel FAKULTA INFORMATIKY Masarykova univerzita Operační systémy: účel ■ Zkrasnéni: ■ Zjednodušení práce s počítačem ■ Práce s pamětí ■ Práce se soubory ■ Přístup k periferiím Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 15/35 Operační systémy Účel FAKULTA INFORMATIKY I Masarykova univerzita Operační systémy: účel Sd ilen ľ a sprava: m Zajistit sdílení (a správu) vzácných zdrojů ■ Musí zajistit: ■ Aby to vůbec fungovalo ■ Aby to fungovalo účinně (využití, propustnost, rychlost odezvy) ■ Aby to fungovalo správně ■ Omezení následků chyb (avšak pozor na chyby v samotném operačním systému) Oprávnění k prístupu (autentizace a autorizace) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 16/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS: základní složky ■ Procesy a jejich správa ■ Paměť a její správa ■ Systém souborů ■ Periferie a jejich správa ■ Ochrana a bezpečnost Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 17/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Procesy ■ Proces je abstrakce průchodu programem ■ Sekvenční model: program = 1 proces ■ Paralelní model: program > 1 proces ■ Proces má internistov, charakterizovaný ■ programovým čitačem (program counter) ■ zásobníkem (volání funkcí a procedur) ■ vlastní pamětí pro data Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 18/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Typy procesů ■ Klasické (heawy-weight) procesy (napr. UNIX) ■ Všechna data privátní ■ Sdílen pouze program (read-only) ■ Lehké (Light-weight) procesy či Vlákna (threads) ■ Minimum vlastní paměti ■ Většina dat sdílena Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 19/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Procesy detailněji ■ Vytvoření procesu ■ f orkO a jeho varianty ■ Přesná kopie původního procesu ■ Rodič a potomek ■ První proces v OS vytvářen jinak (init v Unixu) ■ Stavy ■ Start/vytvoření, připraven (ready), běží (running), je blokován (čeká), skončil Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 20/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS: Stavy procesu Process Status Diagram _ www.learncomputerscienceonline.com_ Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 21/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS: Stavy procesu (s externí pamětí Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 22/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS: problém časování ■ Periferie výrazně pomalejší než procesor ■ Příklad ■ 1 GHz Pentium IV: 1.109 operací za sekundu ■ Běžný disk: 10 ms pro přečtení 1 byte ■ Poměr 1 : 10 000 000 ■ Stejné zpomalení člověka: 1 úhoz na klávesnici cca 20 dní. ■ Možné řešení: prokládání l/O a výpočtu ■ Spusť diskovou operaci Prováděj instrukce nad jinými daty (alespoň l~milion instrukci) Počkej na dokončeni ■ Příliš těžkopádné a složité Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 23/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS časování: jiné řešení Proces 1 { Spusť diskovou operaci Počkej na dokončeni Zpracuj ziskaná data i Proces 2 { Nějaká jiná aplikace } ■ Přehlednější ■ OS musí přepínat" mezi procesy (priorita) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 24/ 35 Operační systémy Základní složky FAKULTA INFORMATIKY I Masarykova univerzita OS: paměť ■ Většina paměti nevyužita ■ Zpracování cyklu (zbytek programu) ■ Zpracování konkrétních dat (ostatní neaktivní) ■ Čekání na l/O ■ Virtualizace paměti ■ Data a programy na disku ■ Do paměti na zadost ■ Umožňuje ■ Každý program má ,jcelou" paměť ■ Program může adresovat více jak rozsah fyzické paměti ■ Ochrana paměti Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 25/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita OS: Systém souborů ■ Základní funkce: ■ Vytvoření souboru v ■ Ctění a psaní z/do souboru ■ Odstranění (smazání) souboru ■ Spuštění souboru (soubor=program) ■ Podpora na úrovni operačního systému Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 26/35 Operační systémy Základní složky FAKULTA INFORMATIKY I Masarykova univerzita Struktura systému souborů ■ Hierarchické systémy: ■ Kořen (root) ■ Adresáře jako speciální typ (meta)souboru: drží informace o souborech, nikoliv jejich vlastní data ■ Databázové systémy: ■ Soubory (jejich části resp. jejich metadata) jako položka v databázi ■ Bohatší množina operací ■ Složitější implementace Apache Hadoop má prvky databázového systému souborů ■ Hadoop Distributed File System ■ Soubory jsou rozděleny na části, které jsou distribuovány na prvky clusteru ■ Primární přístup k souborům přes nativní rozhraní HDFS Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 27/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Struktura souborů ■ Posloupnost bytů - vnitřní struktura pro OS neznáma ■ Posloupnost záznamů (records) ■ Strom - každý uzel má vlastní klíč ■ Výše uvedeny příklady struktury, ne všechny varianty Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 28/35 Operační systémy Základní složky FAKULTA INFORMATIKY I Masarykova univerzita Typ a prístup ■ Typy souborů (v UNIXovém OS) ■ Řádné: běžné soubory ■ Adresáře: udržení hierarchické struktury ■ Speciální: přístup ke konkrétnímu zařízení (/dev/mouse, /dev/audio, /dev/lp); speciální /proč systém ■ Blokové: náhodný přístup na základní úrovni (/dev/hd, /dev/kmem) ■ Přístupové metody; příklady: ■ Sekvenční ■ Náhodný (random) ■ Indexsekvenční (není v běžném UNIXu) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 29/35 Operační systémy Základní složky FAKULTA INFORMATIKY I Masarykova univerzita Struktura na disku ■ Možné typy ■ Souvislé ■ souvislé posloupnost bloků (složitá alokace, plýtvání místem) ■ Provázaný seznam: ■ každý blok odkazuje na další (může růst, vyšší režie - pro ukazatel, složitý náhodný přístup) ■ Indexové: ■ Např. FAT (File Allocation Table) v MS DOSu ■ Tabulka pro všechny bloku na disku ■ Provázány odkazem na další blok daného souboru ■ inodes Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 30/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Struktura - inodes ■ Podobné indexové organizaci ■ Pevná déLka tabulky pro každý soubor ■ Kratší soubory adresovány přímo ■ Pro delší soubory alokována další tabulka ■ Tabulky provázány hierarchicky (1., 2. a 3. úroveň) ■ Flexibilní, malá režie Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 31/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita inodes Direct blocks Ext2-inodes Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 32/35 Operační systémy Základní složky FAKULTA INFORMATIKY I Masarykova univerzita Systémy souborů se žurnálováním ■ Problém interní konzistence informací uvnitř systému souborů ■ co se stane při výpadku proudu či nečekaném zhroucení operačního systému ■ Riziko nekonzistentních dat při postupném zápisu ■ část dat nebo metadat není ještě zapsána ■ Klasické řešení: fsck ■ procházení všech datových struktur v systému souborů ■ nalezení a oprava nekonzistencí (zpravidla několik průchodů) ■ velmi pomalé pro velké systémy souborů ■ Alternativa: zapsat zvlášť prováděné změny a teprve poté je skutečně realizovat ■ úspěšný zápis všech dat a metadat vede ke smazání údajů journaled filé systém ■ V případě výpadku se použijí tato data na zajištění interní konzistence systému souborů Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 33/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Volné bloky ■ V tabulce ■ Bitový vektor ■ Provázaný seznam ■ Většinou zpracovávány podle FCFS (First Come First Served) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 34/35 Operační systémy Základní složky FAKULTA INFORMATIKY Masarykova univerzita Vyrovnávací paměť ■ Obecně přístup pro skrytí zpožděni '(Late nee) ■ Nejčastěji používané bLoky/soubory uloženy v paměti ■ Pouze pro čtení (snazší) nebo i pro zápis ■ Problém: konzistence při přístupech/zápisech zvíce míst ■ Základní typy ■ Write-through: okamžitě po zápisu i na disk ■ Write-back: až po určité době (30 s) Luděk Matýska (Eva Hladká) • PB001: Úvod do informačních technologií • podzim 2020 35/35