Přednáška 1 Úvod do HW a OS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti 1
Operační systém (OS) Definice základní SW, který funguje jako prostředník mezi HW a aplikacemi/uživateli Úkoly správa výpočetních prostředků fyzických (procesor, paměť, disky, ) logických (uživatelská konta, procesy, soubory, přístup. práva, ) abstrakce složitosti HW poskytuje rozhraní aplikacím (Win32 API, Win64 API, systémová volání Unixu, ) uživatelům (CLI a GUI) Soustředíme na principy univerzálních OS MS Windows, Unix OS, VMS, Mac OS, 2
Různé kategorie zařízení Stolní počítače (Desktop systems) Servery (Servers) Jeden uživatel, několik jader, několik GB paměti, TB disků. Lowend/highend, až stovky CPU, až TB paměti, až PB disků. Vestavěná zařízení (Embedded systems) Zdroj: Computer organization and design, Patterson, Hennessy, 2009. 3
Výpočetní systém 4
Požadavky na HW podpora OS při správě HW CPU s více módy kernel mód: CPU může provádět všechny instrukce ze své instrukční množiny (program běžící v tomto módu má přístup k celému hardwaru) user mód: podmnožina instrukcí je povolena (např. <li><apouze href="../../../vyuka/oppa-2011/uos"> UOS - přednášky všechny 1-10 </a> </li> instrukce V/V a ochrany paměti jsou zakázány) 5
Požadavky na HW podpora OS při správě paměti ochrana paměti podpora virtuální paměti (fyzický x logický prostor) překlad LA na FA podpora přepínání kontextu mechanismus přerušení (reakce na asynchronní události) 1-10 </a> </li> programovatelný interní časovač (generuje přerušení po uplynutí čas. kvanta) podpora efektivních operací V/V přerušení, DMA, 6
Flynova klasifikace HW Single Instruction Single Data stream (SISD) 1 procesor provádí 1 instrukční proud nad daty uloženými v 1 paměti Single Instruction Multiple Data stream (SIMD) 1 instrukce je prováděna nad množinou dat množinou procesorů vektorové, maticové počítače, GPU (graphics processing unit) Multiple Instruction Single Data stream (MISD) <li><a href="../../../vyuka/oppa-2011/uos"> UOS - přednášky 1-10 </a> </li> posloupnost dat je přenášena k množině procesorů provádějících různé instrukce systlické pole (pipeline), fault-tolerant systémy Multiple Instruction Multiple Data stream (MIMD) množina procesorů současně provádí různé instrukce nad různými daty multiprocesory, multipočítače, distribuované systémy 7
Architektura paralelních systémů 8
Jednoprocesorové systémy (SISD) CPU načítá instrukce a data z paměti, zpracovává je a výsledky zapisuje zpět do paměti Paměť obsahuje jádro OS + další procesy 9
Multiprocesory se sdílenou pamětí Komunikace mezi CPU přes sdílenou paměť (10-50ns) UMA (Uniform Memory Access) multiprocesory přístup do sdílené paměti je stejně rychlý pro všechny CPU 1-10 </a> </li> je slabé místo sběrnice použití vyrovnávacích pamětí a lokální paměti místo paměťové sběrnice speciální přepínač (crossbar switch) 10
Příklad: Intel CoreTM2 Duo Source: www.intel.com 11
Příklad: Sparc T3 procesor Zdroj: www.oracle.com 12
Příklad: Sparc T3 Multithreading Zdroj: www.oracle.com 13
Multiprocesory se sdílenou pamětí NUMA (Nonuniform Memory Access) multiprocesory lokální paměť je viditelná pro ostatní CPU přístup do vzdálené paměti pomocí LOAD a STORE instrukcí přístup do vzdálené paměti je pomalejší než do lokální paměti Problém: cache coherence <li><a => href="../../../vyuka/oppa-2011/uos"> cache-coherent NUMA (ccnuma) UOS - přednášky 14
Příklad: Dual-socket T3 configuration Zdroj www.oracle.com 15
Multiprocesorové OS Každé CPU se svým vlastním OS (nepožívá se) Master-slave model (asymetrický) SMP (Symmetric MultiProcessors) podpora v moderních OS 16
Multipočítače se zasíláním zpráv (cluster) Základní uzel CPU, lokální paměť, síťové rozhraní, disk, ostatní periferie můžou chybět Vysokorychlostní propojovací síť Všechny uzly používají stejný OS sdílí společný systém souborů jsou společně administrovány Komunikace mezi CPU pomocí zasílání zpráv (10-50 μs) 17
Distribuované systémy Základní uzel CPU, paměť, disk, síťové rozhraní ostatní periferie (obrazovka, klávesnice,.) Běžná propojovací síť (LAN, WAN) Jednotlivé uzly požívají různé OS mají různé systémy souborů jsou administrovány individuálně Komunikace mezi CPU pomocí zasílání zpráv (10-50 ms) 18
Vlastnosti modreních OS Víceúlohový (multitasking, time-sharing) běh více úloh (procesů) se sdílením času ochrana paměti, plánování procesů Vícevláknový (multithreading) proces se může skládat z několika současně běžících úloh (vláken) přechod od plánování procesů na plánování vláken (thread) <li><a href="../../../vyuka/oppa-2011/uos"> UOS - přednášky 1-10 </a> </li> Víceuživatelský (multi-user) možnost současné práce více uživatelů identifikace a vzájemná ochrana uživatelů Podpora multiprocesorových systémů (SMP) použití vláken v jádře a jejich plánování na různých CPU Unifikované prostředí přenositelnost mezi platformami (90% jádra v jazyce C) 19
Základní komponenty OS 20
Historie Unixu k o n e c 6 0. le t A T & T v y v íjí M U L T I C S 1969 A T & T B e ll L a b s - z a č á t e k O S U n ix z a č á t e k 7 0. le t A T & T v ý v o j O S U n ix 1973 U n ix im p le m e n t o v á n v ja z y c e C k o l e m 1 9 7 5 <li><a U nhref="../../../vyuka/oppa-2011/uos"> i v e r s i t y o f C a l i f o r n i a a t B e r k l e y - U N I X ( B SUOS D ) - přednášky z a č á t e k 8 0. le t K o m e r č n í z á je m o O S U n ix, D A R P A A I X, H P - U N I X, S o la r is k o n e c 8 0. le t N á v rh s ta n d a rd ů (P O S IX, X P G, S V ID ), S V R 4 U N IX 1991 L in u s B. T o r v a ld s v y t v á ř í já d r o O S L in u x 21
Historie MS Windows 1980 8 - b it o v ý p r o c e s o r I n t e l 8 0 8 0 a Z 8 0 C P /M (p řík a z o v á řá d k a ) 1981 I B M P C - 1 6 - b it o v ý p r o c e s o r I n t e l 8 0 8 8 M S - D O S 1. 0 ( je d n o ú lo h o v ý, je d n o u ž iv a t e ls k ý, p ř í k a z o v á ř á d k a, s y s t é m s o u b o rů F A T ) 1983 M S - D O S 2. 0 ( v y le p š e n á p ř í k a z o v á ř á d k a, in s p ir a c e z U n ix u ) 1990 1-10 IB M P C /A T - In te l 3 8 6 </a> </li> W i n d o w s 3. 1 1 ( g r a f ic k é r o z r a n í n a d M S - D O S, in s p ir a c e z A p p le L is a ) W i n d o w s 9 5 ( 1 9 9 5, g r a f ic k é r o z r a n í, " 3 2 - b it o v ý O S ", v ir t u á ln í p a m ě ť, s p r á v a p r o c e s ů, v í c e ú lo h o v ý, je d n o u ž iv a t e ls k ý, s y s t é m s o u b o r ů F A T ) W in d o w s 9 8 (1 9 9 8 ) W in d o w s N T (1 9 9 5 ), W in d o w s 2 0 0 0, W in d o w s X P, W in d o w s S e rv e r 2 0 0 3, W in d o w s S e rv e r 2 0 0 5 W in d o w s V is ta (2 0 0 7 ), W in d o w s 7 (2 0 0 9 ), W in d o w s S e rv e r 2 0 0 8, 22
Otázky Vysvětlete rozdíl mezi kernel a user modem CPU. Popište vlastanosti jednotlivých modelů Flynovy klasifikace. Popište rozdíly mezi UMA a NUMA architekturou.. Co to je ccnuma? 1-10 </a> </li> Vysvětelete jak funguje SMP? 23