Operační systémy 1. Základní pojmy Obsah: základní pojmy (počítač, hardware, software) schéma počítače (Von Neumannovo, Harvardské) multiprocesory, multipočítače procesor (součásti, CISC, RISC, SISD, SIMD) rozdělení pamětí © Milan Keršláger http://www.pslib.cz/ke/slajdy 15.12.2010 http://creativecommons.org/licenses/by-nc-nd/3.0/
Operační systémy dnes základní součástí počítače komerčně zajímavé Microsoft Windows prodává se licence, snaha o omezení přenositelnosti spolu s MS Office nejvýdělečnější produkt Microsoftu Red Hat Enterprise Linux varianta zdarma, platí se za služby navíc platí se za období bez ohledu na používanou verzi budoucnost nejistá někteří předpokládají, že hlavní budou aplikace např. Google Apps (webové aplikace)
Základní pojmy – počítač analogový výpočty pomocí fyzikálních jevů (el. proud) reostat, operační zesilovač, měření výchylky ručičky na počátku velmi výhodné (rychlejší na simulace) hybridní analogový je řízen číslicovým číslicový aritmetické a logické operace postupné výpočty diskrétních hodnot omezená přesnost, ale dá se delším výpočtem zpřesnit
Základní pojmy – hardware technické vybavení počítače „všechno, na co si lze sáhnout“ skříň počítače zdroj, základní deska, optická mechanika procesor, paměti, chipset monitor, myš, klávesnice, tablet tiskárna, scanner, čtečka čárového kódu kabeláž a zařízení počítačové sítě, záložní zdroj atd.
Základní pojmy – software všechny programy, které jsou v počítači do software se zahrnují i data data mohou být program nebo naopak systematické rozdělení: systémový software operační systém jádro operačního systému pomocné nástroje (utility, démoni) firmware obsažen v hardware (BIOS, uvnitř optické mechaniky atd.) aplikační software vše, s čím uživatel pracuje
Schéma počítače původně nebylo jasné, jak by měl počítač vypadat počítač je něco jiného, než mechanický stroj přesto existuje korelace Babbage (19. století): mlýnice (CPU), sklad (RAM, disk) dva teoretické návrhy: Von Neumannovo schéma Harvardské schéma dnešní počítače někde mezi PC v zásadě Von Neumannovo, ale spousta výjimek jednočip v zásadě Harwardské, ale ne úplně
Von Neumannovo schéma poč. CPU (procesor) Vstup Výstup Paměť (data, program)
Harvardské schéma počítače Paměť pro program CPU (procesor) Vstup Výstup Paměť pro data
Jiná schémata počítačů multiprocesory více CPU na základní desce, jedna operační paměť NUMA (AMD) → každý CPU „vlastní“ paměť dříve více fyzických CPU, dnes více jader multipočítače více počítačů, CPU mají různou paměť vytvářejí se z nich clustery dnes nevyhraněné schéma řadič DMA (ISA), BusMaster (PCI) přenosy mezi pamětí na I/O bez účasti CPU ochrana paměti, NX bit, logické členění prostoru
Platforma definuje, na čem který produkt „poběží“ hardwarová platforma použitý procesor definuje strojový kód, ale i způsob programování např. specializované vektorové procesory (počítače) stavba počítače, I/O komponenty sběrnice, způsob komunikace s I/O softwarová platforma operační systém, knihovny, vývojové prostředí Win32 × Linux, verze DirectX, C# × Java, ...
Procesor – CPU základní součást počítače několik základních částí: řadič – řídí činnost součástí procesoru dekodér instrukcí ALU – aritmeticko-logická jednotka registr akumulátor (označení A) registry uložení mezivýsledků, nejrychlejší paměť bitovost CPU typicky podle registru ALU 4, 8, 16, 32, 64bitový, ale GPU např. 512 bitů
Blokové schéma procesoru ALU MMU RAM Dekodér instrukcí Akumulátor a ostatní registry Řadič
Strojová instrukce základní zpracovávaná jednotka zpracování nelze rozdělit na více částí trvá 1 nebo více taktů hodin CPU délka instrukce buď pevná nebo proměnlivá kód instrukce + operand (zpracovávaná data) zápis v jazyce symbolických adres (JSA) anglicky „assembly language“, nesprávně assembler např.: ADD 6, JMP 100, MOV A, 110 aritmetické, logické, přesuny z/do paměti, skoky, řízení procesoru, ...
Strojový kód převod zápisu v JSA do čísel provádí assembler (překladač) dříve se dělalo ručně jedna instrukce → 1 nebo více bajtů (slov) i z jiných programovacích jazyků do stroj. kódu výsledek uložen v souboru označujeme jako „binární soubor“ zpětný převod stroj. kódu do JSA pomocí disassembleru netriviální → Kde začít? Co jsou data? Selfmodify?
Typy CPU CISC používaný v PC (Intel a kompatibilní: AMD, VIA, ...) spousta instrukcí, umí i exotické operace jedna instrukce několik taktů, obtížná optimalizace současné CISC jsou interně RISC s mikrokódem RISC mobilní telefony, workstation (ARM, MIPS, Sparc, ...) pouze základní minimální sada instrukcí vše ostatní pomocí základních instrukcí jeden takt – jedna instrukce, ale i paralelismus
Instrukční a datové proudy SISD (Single Instruction, Single Data) běžné CPU v počítačích PC SIMD (Single Instruction, Multiple Data) jedna instrukce zpracovává více dat typicky paralelně superpočítače, GPU (procesor grafické karty) dnes mají SISD procesory SIMD instrukce rozšíření Intel MMX (1997), AMD 3DNow! (1998) MISD – neexistují!
Paměť v počítači v současné době pro program i data RAM (Random Access Memory) s libovolným přístupem (přímo z libovolné adresy) typově RWM (Read-Write Memory) označení: hlavní (operační) paměť jiné typy, než RAM sekvenční – magnetická páska FIFO – fronta (buffer) LIFO – zásobník asociativní (CAM) – ptám se na obsah, získám adresu
Hierarchie pamětí v počítači vnitřní paměť registry – omezené množství uvnitř CPU (až stovky) cache – statická paměť RAM – dynamická paměť vnější paměť sekundární pevný disk, SSD terciární CD, DVD, magnetické pásky, floppy disk
Další rozdělení pamětí napájení volatilní, nevolatilní (nezávislé na napájení) konstrukce statické (klopný obvod), dynamické (kondenzátor) fyzikální princip polovodičové, magnetické, optické, feritové, ... podle zápisu RWM, ROM, PROM, EPROM, EEPROM, flash