PB002 – Základy informačních technologií Operační systémy
25. září 2012
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 2
pouze dvě číslice – dva stavy 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
2 3
2
Rozlišitelnost (nejmenší zobrazitelné číslo): X + > X a X + /2 = X Přesnost (rozsah) Zobrazení: mantisa m a exponent e 0 ≤ m ≤ 1 ∧ x = m.2e
Záporná čísla 1 2 3
Přímý kód Inverzní kód (binární negace) 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 2 3
2
přidáno znaménko - znaménkový bit Dvě nuly: +0 a −0 (10 . . . 00) Rozsah: h−MAX, −0i a h+0, +MAXi
Inverzní kód: 1 2 3
Přidáme znaménko Dvě nuly: +0 a −0 (11 . . . 11) Rozsah: h−MAX, −0 a h+0, +MAXi
PB002 – Základy informačních technologií
Záporná čísla – zobrazení
1
Dvojkový doplňkový kód 1 2 3 4
Inverze bitu a přičtení jedničky Pouze jedna nula (11 . . . 11 je −1) Nesymetrický rozsah: h−MAX − 1, −1i a h+0, +MAXi skutečně používán v počítačích
PB002 – Základy informačních technologií
Rozsahy čísel
1
Podle počtu bitů 1 2 3 4
Byte: 8 bitů, tj. h0, 255i nebo h−128, 127i Půl slovo, 2 byte: 16 bitů, tj. h0, 65535i nebo h−32768, 32767i Slovo, 4 byte: 32 bitů, tj. přibližně h−2.109 , 2.109 i Dvojslovo (nebo dlouhé slovo), 8 byte: 64 bitů, tj. přibližně h−9.1018 , 9.1018 i
PB002 – Základy informačních technologií
Racionální čísla
1 2
Formát dle IEE 754 Součásti 1 2 3
Znaménko Mantisa (přímý kód, normalizace) Exponent (v kódu posunuté nuly)
PB002 – Základy informačních technologií
Racionální čísla
1
Normalizace mantisy: 1 2 3
2
Exponent (n bitů, dvojková soustava) 1
2 3 3
Nejvyšší bit vždy jedna: 1.aaaaaa; 1 nezapisujeme n−1 Nejmenší kladné číslo: 1.0 × 2−2 +1 (2−127 pro n = 8) n−1 Největší číslo: 1.0 × 22 (2128 ) Přičteme 2n−1 − 1 (=127 pro n = 8), abychom získali správnou hodnotu pro uložení 000000000 je −127 111111111 je 128
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 Rozlišitelnost: nejmenší nenulové číslo
3
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
2
1 3
001 101 101 1112 = 15578 = 87910
Šestnáctková 0011 0110 11112 = 36F16 = 87910
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 2
Bootstrap loader Spooling 1 2 3 4
3
Nezávislé zavádění programu a jeho vykonávání Vyžaduje DMA (Direct Memory Access) Zavedlo multiprogramování Stále zpracování dávek (batch processing)
Timesharing 1 2 3
Virtualizace počítače/CPU Zpracování interaktivních úloh 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 2 3
Práce s pamětí Práce se soubory Přístup k periferiím
PB002 – Základy informačních technologií
Operační systémy: účel
Sdílení: 1 2
Zajistit sdílení vzácných zdrojů Musí zajistit: 1 2 3
Aby to vůbec fungovalo Aby to fungovalo účinně (využití, propustnost, rychlost odezvy) Aby to fungovalo správně 1
2
Omezení následků chyb (avšak pozor na chyby v samotném operačním systému) Oprávnění k přístupu (autentizace a autorizace)
PB002 – Základy informačních technologií
OS: problém časování
1 2
Periferie výrazně pomalejší než procesor Příklad 1 2 3 4
3
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í I/O a výpočtu 1
2
Spusť diskovou operaci Prováděj instrukce nad jinými daty (alespoň 1~milion instrukcí) Počkej na dokončení 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 2 3
2
Zpracování cyklu (zbytek programu) Zpracování konkrétních dat (ostatní neaktivní) Čekání na I/O
Virtualizace paměti 1 2 3
Data a programy na disku Do paměti na žádost Umožňuje 1 2
3
Každý program má „celouÿ paměť Program může adresovat více jak rozsah fyzické paměti
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 2
2
Sekvenční model: program = 1 proces Paralelní model: program > 1 proces
Proces má interní stav, charakterizovaný 1 2 3
programovým čitačem (program counter) zásobníkem (volání funkcí a procedur) vlastní pamětí pro data
PB002 – Základy informačních technologií
Typy procesů
1
Klasické (heawy-weight) procesy (např. UNIX) 1 2
2
Všechna data privátní Sdílen pouze program (read-only)
Lehké (light-weight) procesy či Vlákna (threads) 1 2
Minimum vlastní paměti Většina dat sdílena
PB002 – Základy informačních technologií
Procesy detailněji
1
Vytvoření procesu 1 2 3 4
2
fork() a jeho varianty Přesná kopie původního procesu Rodič a potomek První proces v OS vytvářen jinak (init v Unixu)
Stavy 1
Start/vytvoření, připraven (ready), běží (running), je blokován (čeká), skončil
PB002 – Základy informačních technologií