Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Operační systémy 1. Základní pojmy a vývoj

Podobné prezentace


Prezentace na téma: "Operační systémy 1. Základní pojmy a vývoj"— Transkript prezentace:

1 Operační systémy 1. Základní pojmy a vývoj
Obsah: základní pojmy (počítač, hardware, software) schéma počítače (Von Neumannovo, Harvardské) vývoj počítačů a operačních systémů rozdělení pamětí multiprocesory, multipočítače, clustery © Milan Keršláger

2 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)

3 Součásti operačního systému
jádro operačního systému též označováno jako kernel zavádí se do paměti při startu počítače zůstává v činnosti po celou dobu provozu počítače pomocné nástroje utility nástroje na přidělování práv, formátování... démoni (v MS Windows označováno jako „služby“) trvale běžící programy „na pozadí“ (bez kontaktu s uživatelem) zajišťují různé činnosti (webový server, el. pošta, …)

4 Součásti operačního systému
jádro operačního systému (kernel) zavádí se do paměti při startu počítače zůstává v činnosti po celou dobu provozu počítače obstarává všechny dříve zmíněné činnosti 3 typy jader + specifický případ RTOS monolitické jádro, mikrojádro, hybridní jádro pomocné nástroje utility – nástroje na přidělování práv, formátování... démoni (v MS Windows označováno jako „služby“)

5 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) čí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 hybridní analogový je řízen číslicovým

6 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.

7 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

8 Schéma počítače původně nebylo jasné, jak by měl počítač vypadat
dnes je počítač něco jiného, než mechanický stroj přesto existuje korelace Babbage (19. století): mlýnice (CPU), sklad (RAM, disk) dva teoretické návrhy (po 2. světové válce): 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ě

9 Von Neumannovo schéma poč.
CPU (procesor) Vstup Výstup Paměť (data, program)

10 Harvardské schéma počítače
Paměť pro program CPU (procesor) Vstup Výstup Paměť pro data

11 Schéma počítače dnes v současnosti nevyhraněné schéma
kvůli zvýšení výkonu: obě myšlenky kombinovány k tomu ochrana paměti (čtení, zápis) NX bit → paměť jen pro (neměnný) program další odchylky: řadič DMA (ISA), BusMaster (PCI) přenosy mezi pamětí na I/O bez účasti CPU logické členění adresního prostoru program, zásobník, data, dynamická data, ...

12 Vývoj počítačů předchůdci Abakus (před 5000 lety)
destička s kameny (řecky kamínek = „kalkuli“ → kalkulačka) počitadlo → kuličky na drátcích mechanické kalkulátory Antikythera (150 př.n.l.), Schickard (1623), Pascaline (1642), Leibniz (1671), sériová výroba logaritmické tabulky (1614 – John Napier) využití logaritmů násobení pomocí sčítání, dělení pomocí odečítání logaritmické pravítko ještě pro výpočty programu Apollo, v 70. letech ještě i ve škole

13 Vývoj počítačů předchůdci – řízení strojů Basile Bouchon (1725)
děrovaný papír pro tkalcovský stav Joseph Marie Jacquard (1801) děrné štítky pro tkalcovský stav Charles Babbage (1835) mechanický kalkulátor řízený děrnými štítky Herman Hollerith (1890) sčítání lidu v USA → děrné štítky stroje pro hromadné zpracování dat → vznik IBM byly jednoúčelové (děrovače, tabelátory, třídiče)

14 Vývoj počítačů první programovatelné stroje
Analytický stroj (1833 – Charles Babbage) první Turing-kompletní počítač dokáže emulovat jiné stroje pouhou změnou programu sklad (paměť), mlýnice (procesor) parní stroj k pohonu :-), nakonec nevyrobeno finanční potíže, řezbář nepřesná ozubená kolečka najal Adu Lovelace → 1. programátor na světě nadaná matematička → teorie programování podle ní nazván programovací jazyk Ada

15 0. generace (1930 – 1945) elektromechanické počítače
Z1 (1934 Konrád Zuse) děrná páska → kinofilm neznal práci Charlese Bababge → bez podmíněných skoků Z2, Z3 (1941) asi 200 relé, již Turing-kompletní (1998 Raúl Rojas) zničen 1944 při náletu Colossus (1943) jednoúčelový stroj pro lámání šifry Enigma (Anglie) ABC (1944) pro řešení lineárních rovnic (John Atanasoff, USA)

16 0. generace (1930 – 1945) Mark I (1944, USA)
pro Harvardskou univerzitu v Cambridge elektromotor, 765 tisíc elektromechanických prvků součet za 0,3 sec, násobení za 6 sec Mark II (1947) již čistě reléový (celkem asi relé) předáno americkému námořnictvu výpočet dělostřeleckých tabulek v Československu vyroben SAPO (1957) relé a elektronky, shořel v roce 1960

17 1. generace (1945 – 1951) reléové a elektronkové počítače
programy přímo ve strojovém kódu, jeden tým lidí propojovací desky, děrné štítky a pásky numerické výpočty (dělostřelecké tabulky apod.) ENIAC (1944) elektronkový počítač, 5000 součtů/sekunda energeticky náročný, poruchový MANIAC (1945) J. von Neumann, Los Alamos, vývoj jaderné pumy

18 2. generace (1951 – 1965) tranzistorové počítače
obchod s počítači, drahé → vznik: dávkový systém počátek operačních systémů → řídící programy programování: JSA, Fortran, Cobol, Algol UNIVAC (1951) nástupce za ENIAC pátý vyrobený kus předpověděl výsledek voleb v ČR: EPOS (1960) desítková aritmetika, op./s, paměť slov

19 3. generace (1965 – 1980) integrované obvody
méně poruch, rychlejší, komerčně dostupnější střediskové (sálové) počítače, mini- a mikropočítače cena vs. výkon: logaritmická křivka vyplatí se nákup nejsilnějšího počítače (Cray) pak prodej strojového času blokující I/O → multiprogramování (střídání úloh) multitasking → vynucené střídání úloh (řídí OS) k tomu potřeba vzájemné komunikace úloh první skutečné operační systémy plná kontrola nad systémem, přidělování systémových prostředků, správa paměti, oddělení procesů a uživatelů

20 3. generace (1965 – 1980) Cray (1967) velmi rychlý superpočítač
firma zkrachovala nástupem clusterů (1995) IBM System 360 (1965) různě výkonné modely, ale stejný soubor instrukcí možnost přenesení software na výkonnější model komerčně velmi úspěšné v ČR (1969) EC (JSEP) → kopie sálových počítačů IBM vyrobeno 400 kusů

21 4. generace (1980 – současnost)
mikroprocesory pokles výrobní ceny exponenciální nárůst ceny v závislosti na výkonu proto se už nevyplatí koupit nejsilnější počítač a pronajímat → clustery z průměrných počítačů fenomén osobních počítačů (doma i v práci) IBM PC → DOS, Windows pracovní stanice → Unix, Apple → Mac OS počítačové sítě komunikace, Internet, clustery, distribuované výpočty multiprocesorové operační systémy

22 Vývoj operačních systémů
počítače bez operačního systému první málo výkonné počítače dávkové systémy (1955) snaha o efektivní využití počítače → dávky v době 2. generace (tranzistorové počítače) připravené úlohy včetně vstupních dat, ukládání výsledků skutečné operační systémy (1966) současné víceúlohové a víceuživatelské systémy v době 3. generace (integrované obvody) operační systém neztrácí kontrolu nad počítačem usnadnění obsluhy, programování (ovladače, API)

23 Počítačová 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, ...

24 Rozdělení pamětí podle:
napájení volatilní, nevolatilní (nezávislé na napájení) konstrukce statické (klopný obvod) → složitější, dražší, rychlejší použití jako cache dynamické (kondenzátor) → lacinější → RAM fyzikální princip polovodičové, magnetické, optické, feritové, ... podle možnosti zápisu RWM, ROM, PROM, EPROM, EEPROM, flash

25 Jiné rozdělení pamětí sekvenční – magnetická páska
pevný disk – sekvenční i přímý přístup FIFO – fronta (buffer) LIFO – zásobník asociativní (CAM) – ptám se na klíč, získám data

26 Hierarchie pamětí v počítači
vnitřní paměť → primární registry – omezené množství uvnitř CPU (až stovky) cache – statická paměť RAM – dynamická operační paměť vnější paměť sekundární pevný disk, SSD terciární CD, DVD, magnetické pásky, floppy disk, USB flash disk

27 Operační paměť přímo adresovatelná procesorem
strojové instrukce pro čtení, zápis v PC obsahuje program i data jednočipy mají oddělený program a data (flash, RAM) označována jako RAM (Random Access Memory) s libovolným přístupem (přímo z libovolné adresy) chybně označováno jako „s náhodným přístupem“ typově RWM (Read-Write Memory) adresy: fyzické – na čipu, převod z virtuálních řídí MMU virtuální – pracují s nimi strojové instrukce

28 Speciality počítačů multiprocesory více procesorů na základní desce
dříve více fyzických CPU, dnes více jader jen jedna společná operační paměť NUMA (AMD) → každý CPU „vlastní“ paměť půjčování paměti Intel → stále jedna společná paměť multipočítače tzv. clustery více samostatných počítačů procesory mají různou paměť

29 Clustery spojení více počítačů do celku pomocí sítě
snaha o znásobení výkonu různé typy a důvody vytvoření clusteru výpočetní load-ballancing failover úložný gridový

30 Výpočetní cluster znásobení výpočetní síly
výpočet je nutné rozdělit mezi více počítačů síť slouží ke komunikaci, předávání dat paralelní systémy více spuštěných programů každý počítač v clusteru vlastní program distribuované výpočty upravený program umí rozdělit data stejný výpočet nad různými daty na různých uzlech

31 Distribuované výpočty
na úrovni jádra OS z vnějšku jako mohoprocesorový stroj běžící úlohy migrují mezi uzly clusteru na úrovni aplikace programátor napíše program distribuovaně každý uzel počítá jinou část úlohy každý uzel má typicky spuštěn stejný program využívání vzájemné komunikace uzlů využívání hotových knihoven např. MPI

32 Load-ballancing cluster
rozložení zátěže mezi více uzlů v clusteru více počítačů se stejným obsahem je jedno, který z nich vyřídí požadavek mohou mít společnou databázi nebo diskový prostor např. zatížené WWW servery o rozložení zátěže rozhoduje arbitr např. předřazený počítač softwarově obdoba reverzní proxy cache nginx (např. arbitr je „single point of failure“

33 Single point of failure
místo, které při selhání vyřadí celý systém data nemohou jít jinou cestou například řadič pro diskové pole RAID používá se tzv. multipath, tj. alespoň dva řadiče jeden není aktivní a přebírá komunikaci po výpadku nebo se používají oba, ale stačí i jen jeden vyžaduje speciální ovladače v jádře OS switch s počítačové síti lze snadno vyměnit kus za kus napájecí zdroj používají se dva zdroje + logika pro přepínání

34 Failover cluster zajištění odolnosti vůči výpadku
v případě výpadku převezme úlohu záložní typicky předřazen arbitr směřující dotazy arbitr sleduje odpovědi serveru tj. sleduje čas odezvy v případě selhání směřuje dotazy na záložní server arbitr může nevyřízený dotaz zopakovat záložnímu arbitr je single point of failure lze řešit dvěma arbitry s různými IP adresami v DNS jsou pro 1 DNS jméno dvě IP adresy je otázka, zda klient (prohlížeč) použije druhou IP adresu

35 Úložný cluster pro ukládání dat datová propustnost počítače je omezená
do clusteru data ukládána paralelně tím se zvětší propustnost i kapacita je nutné tok dat rozdělit do jednotlivých uzlů clusteru používá se pro hromadný sběr dat např. nahrávání videa z mnoha kamer zvyšuje se pravděpodobnost výpadku uzlu je nutné zajistit odolnost → je potřeba i failover

36 Gridový cluster počítače v clusteru nejsou vyhrazené
snaha o využití běžných počítačů desktopový počítač často nedělá nic speciální aplikace nabídne přes síť jeho výkon není-li počítač používán, začne počítat např. jako šetřič obrazovky využití i iddle time CPU (tj. kdy by CPU nic nedělal) typicky snížením priority dotyčného procesu problémem je bezpečnost (BOINC) počítáme opravdu to, co je deklarováno? na svém počítači spouštíme cizí kód → cesta pro trojské koně


Stáhnout ppt "Operační systémy 1. Základní pojmy a vývoj"

Podobné prezentace


Reklamy Google