PB002 – Základy informačních technologií Operační systémy 5. října 2015 PB002 – Základy informačních technologií Struktura přednašky 1 Číselné soustavy 2 Reprezentace čísel 3 Operační systémy – historie 4 OS - základní složky 5 Procesy PB002 – Základy informačních technologií Číselné soustavy 1 Dle základu: dvojková, osmičková, šestnáctková, desítková 2 Volně mezi sebou převoditelné (celá čísla bez ztráty přesnosti) 3 Celá čísla a zlomky 4 Reálná čísla 5 První počítač v desítkové soustavě 6 Konečné reprezentace PB002 – Základy informačních technologií Dvojková soustava 1 Základem je číslo dvě 1 pouze dvě číslice – dva stavy 2 vhodná pro reprezentaci v číslicových sytémech PB002 – Základy informačních technologií Dvojková soustava v počítači 1 Pro reálná čísla 1 Rozlišitelnost (nejmenší zobrazitelné číslo): X + > X a X + /2 = X 2 Přesnost (rozsah) 3 Zobrazení: mantisa m a exponent e 0 ≤ m ≤ 1 ∧ x = m.2e 2 Záporná čísla 1 Přímý kód 2 Inverzní kód (binární negace) 3 Dvojkový doplňkový kód (binární negace + 1)) PB002 – Základy informačních technologií Záporná čísla – zobrazení 1 Přímý kód 1 přidáno znaménko - znaménkový bit 2 Dvě nuly: +0 a −0 (10 . . . 00) 3 Rozsah: −MAX, −0 a +0, +MAX 2 Inverzní kód: 1 Přidáme znaménko 2 Dvě nuly: +0 a −0 (11 . . . 11) 3 Rozsah: −MAX, −0 a +0, +MAX PB002 – Základy informačních technologií Záporná čísla – zobrazení 1 Dvojkový doplňkový kód 1 Inverze bitu a přičtení jedničky 2 Pouze jedna nula (11 . . . 11 je −1) 3 Nesymetrický rozsah: −MAX − 1, −1 a +0, +MAX 4 skutečně používán v počítačích PB002 – Základy informačních technologií Rozsahy čísel 1 Podle počtu bitů 1 Byte: 8 bitů, tj. 0, 255 nebo −128, 127 2 Půl slovo, 2 byte: 16 bitů, tj. 0, 65535 nebo −32768, 32767 3 Slovo, 4 byte: 32 bitů, tj. přibližně −2.109 , 2.109 4 Dvojslovo (nebo dlouhé slovo), 8 byte: 64 bitů, tj. přibližně −9.1018 , 9.1018 PB002 – Základy informačních technologií Racionální čísla 1 Formát dle IEE 754 2 Součásti 1 Znaménko 2 Mantisa (přímý kód, normalizace) 3 Exponent (v kódu posunuté nuly) PB002 – Základy informačních technologií Racionální čísla 1 Normalizace mantisy: 1 Nejvyšší bit vždy jedna: 1.aaaaaa; 1 nezapisujeme 2 Nejmenší kladné číslo: 1.0 × 2−2n−1 +1 (2−127 pro n = 8) 3 Největší číslo: 1.0 × 22n−1 (2128 ) 2 Exponent (n bitů, dvojková soustava) 1 Přičteme 2n−1 − 1 (=127 pro n = 8), abychom získali správnou hodnotu pro uložení 2 000000000 je −127 3 111111111 je 128 3 Zvláštní a nenormalizovaná čísla PB002 – Základy informačních technologií Racionální čísla II 1 Rozsah zobrazení: ¡největší záporné, největší kladné¿ 2 Přesnost zobrazení: počet bitů mantisy + 1 3 Rozlišitelnost: nejmenší nenulové číslo 1 Normalizované vs. nenormalizované (2m krát menší, m počet bitů mantisy) PB002 – Základy informačních technologií Jiné soustavy 1 Osmičková 1 001 101 101 1112 = 15578 = 87910 2 Šestnáctková 1 0011 0110 11112 = 36F16 = 87910 3 Používány především pro hutný zápis binárních čísel PB002 – Základy informačních technologií Operační systémy – trocha historie 1 Bootstrap loader 2 Spooling 1 Nezávislé zavádění programu a jeho vykonávání 2 Vyžaduje DMA (Direct Memory Access) 3 Zavedlo multiprogramování 4 Stále zpracování dávek (batch processing) 3 Timesharing 1 Virtualizace počítače/CPU 2 Zpracování interaktivních úloh 3 Souvisí se zavedení disků (Direct Access Storage Device, DASD od IBM, 60tá léta) PB002 – Základy informačních technologií Operační systémy: účel 1 Zkrásnění: 1 Zjednodušení práce s počítačem 1 Práce s pamětí 2 Práce se soubory 3 Přístup k periferiím PB002 – Základy informačních technologií Operační systémy: účel Sdílení: 1 Zajistit sdílení vzácných zdrojů 2 Musí zajistit: 1 Aby to vůbec fungovalo 2 Aby to fungovalo účinně (využití, propustnost, rychlost odezvy) 3 Aby to fungovalo správně 1 Omezení následků chyb (avšak pozor na chyby v samotném operačním systému) 2 Oprávnění k přístupu (autentizace a autorizace) PB002 – Základy informačních technologií OS: problém časování 1 Periferie výrazně pomalejší než procesor 2 Příklad 1 1 GHz Pentium IV: 1.109 operací za sekundu 2 Běžný disk: 10 ms pro přečtení 1 byte 3 Poměr 1 : 10 000 000 4 Stejné zpomalení člověka: 1 úhoz na klávesnici cca 20 dní. 3 Možné řešení: prokládání I/O a výpočtu 1 Spusť diskovou operaci Prováděj instrukce nad jinými daty (alespoň 1~milion instrukcí) Počkej na dokončení 2 Příliš těžkopádné a složité PB002 – Základy informačních technologií OS časování: jiné řešení Proces 1 { Spusť diskovou operaci Počkej na dokončení Zpracuj získaná data } Proces 2 { Nějaká jiná aplikace } 1 Přehlednější 2 OS musí „přepínat mezi procesy (priorita) PB002 – Základy informačních technologií OS: paměť 1 Většina paměti nevyužita 1 Zpracování cyklu (zbytek programu) 2 Zpracování konkrétních dat (ostatní neaktivní) 3 Čekání na I/O 2 Virtualizace paměti 1 Data a programy na disku 2 Do paměti na žádost 3 Umožňuje 1 Každý program má „celou paměť 2 Program může adresovat více jak rozsah fyzické paměti 3 Ochrana paměti PB002 – Základy informačních technologií OS: základní složky 1 Procesy a jejich správa 2 Paměť a její správa 3 Periferie a jejich správa 4 Systém souborů 5 Ochrana a bezpečnost PB002 – Základy informačních technologií Procesy 1 Proces je abstrakce průchodu programem 1 Sekvenční model: program = 1 proces 2 Paralelní model: program > 1 proces 2 Proces má interní stav, charakterizovaný 1 programovým čitačem (program counter) 2 zásobníkem (volání funkcí a procedur) 3 vlastní pamětí pro data PB002 – Základy informačních technologií Typy procesů 1 Klasické (heawy-weight) procesy (např. UNIX) 1 Všechna data privátní 2 Sdílen pouze program (read-only) 2 Lehké (light-weight) procesy či Vlákna (threads) 1 Minimum vlastní paměti 2 Většina dat sdílena PB002 – Základy informačních technologií Procesy detailněji 1 Vytvoření procesu 1 fork() a jeho varianty 2 Přesná kopie původního procesu 3 Rodič a potomek 4 První proces v OS vytvářen jinak (init v Unixu) 2 Stavy 1 Start/vytvoření, připraven (ready), běží (running), je blokován (čeká), skončil PB002 – Základy informačních technologií