21
4. přednáška 26. 2. 2013 - holý počítač, BIOS, virtuální počítač - vývoj operačních systémů - multiprocessing - paralelní systémy Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/

4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

  • Upload
    sera

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů multiprocessing paralelní systémy Studijní materiály najdete na adrese: http://www.uai.fme.vutbr.cz/~vdumek/. Operační paměť. I/O procesor (kanál). I/O procesor (kanál). Procesor. Procesor. - PowerPoint PPT Presentation

Citation preview

Page 1: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

4. přednáška26. 2. 2013

- holý počítač, BIOS, virtuální počítač- vývoj operačních systémů- multiprocessing- paralelní systémy

Studijní materiály najdete na adrese:

http://www.uai.fme.vutbr.cz/~vdumek/

Page 2: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Operační paměť

I/O procesor(kanál)

Řídící jednotka

Procesor

Periferie Periferie

I/O procesor(kanál)

Procesor

Řídící jednotka

“Holý” počítač

Page 3: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

BIOS – Basic Input Ouput System

- základní souhrn instrukcí a funkcí nutných pro spuštění počítače- propojuje HW a SW- je tvořen sadou ovladačů základních komponent systému- BIOS sděluje informace o HW, který je v počítači a OS říká, jak s ním má nejlépe pracovat, jaké má potíže

- první vrstva BIOSu v ROM (informace pro základní používání

komponent, typ pamětí, typ procesoru), druhá vrstva v čipu CMOS (nastavení prováděná v menu), třetí vrstva jsou ovladače zaváděné v průběhu spouštění OS

- po zapnutí: nastaví konfiguraci počítače z CMOS pamětiprovede autonomní test počítače (POST Power On Self Test)inicializuje komponentyv konečné fázi spouští OS

Page 4: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

BIOS

Page 5: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Virtuální počítač

Holý počítač

Programy jádraoperačního

systému

Proces 1

Proces 4Proces 2

Proces 3

Uživatelské programy

Virtuální počítač

Page 6: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Vývoj operačních systémů

1940 – polovina 50. let

přímá interakce programátora s technickým vybavením, programátor a operátor v jedné osobě, bez operačního systému, absolutní zavaděč, konzola, děrné štítky a děrná páska, kontrolky, nízké využití drahého HW, dva hlavní problémy: plánování (každý uživatel si musel vyhradit strojový čas pro svůj výpočet (zápis do nějakého seznamu), často docházelo k jeho nedodržení), přípravný čas (provádění programu (job) zahrnovalo loading zdrojového kódu, linkeru spolu s různými funkcemi, každý z těchto kroků znamenal mount a dismount pásky nebo čtení sady děrných štítků, výskyt chyby znamenal znovu začátek), éra sériového zpracování (Serial Processing), v průběhu času byly zavedeny nástroje pro zlepšení sériového zpracování, byly vyvinuty různé SW nástroje pro zefektivnění práce (knihovny, linkers, loaders, debuggers, I/O driver routines, ...)

Page 7: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Vývoj operačních systémů

1955 – 1965

počítače byly velice drahé a bylo nezbytné zvýšit jejich využití, zbytečné prostoje během přípravných prací byly neakceptovatelné, pro zvýšení využití se zavedly jednoduché dávkové systémy (Simple Batch Systems), prvním byl IBSYS pro počítače IBM, objevuje se první operační systém – monitor, byl rezidentně umístěný v paměti, jazyk k provádění instrukcí monitoru – JCL (Job Control Language) zásoboval monitor instrukcemi, procesorový čas tak alternoval mezi monitorem a uživatelským programem, bylo to za cenu dvou obětí: monitor zabíral paměť a pro provádění monitoru je spotřebováván strojový čas, využití procesoru je však zvýšeno

Page 8: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Interruptprocessing

Device driver

Job sequencing

Control languageinterpreter

Userprogramarea

Memory Layout for a Resident Monitor

Monitor

Boundary

Page 9: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Vývoj operačních systémů

od první poloviny 60. let

Během jednoduchého dávkového zpracování je procesor často nečinný (idle). Problémem je rychlost I/O zařízení, na která se musí čekat. Z tabulky vyplývá, že téměř 96% času se spotřebuje čekáním na I/O operaci a přenos dat do souboru. Pokud máme dostatek paměti pro monitor a uživatelské programy, můžeme mezi nimi alternovat (provést je „najednou“). Takový způsob je známý jako Multiprogrammed Batch Systems (dávkové zpracování s multiprogramováním), multitasking, výhody jsou patrné z porovnání utilizačních histogramů, multiprogramování musí počítat s HW předpoklady (IRQ, DMA, MMU)

Page 10: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Efekt multiprogramování na využití zdrojů

JOB1 JOB2 JOB3

Typ úlohy Heavy compute Heavy I/O Heavy I/O

Délka 5 min. 15 min. 10 min.

Požadavek na paměť 50 K 100 K 75 K

Potřeba disku Ne Ne Ano

Potřeba terminálu Ne Ano Ne

Potřeba tiskárny Ne Ne Ano

Uniprogramming Multiprogramming

Využití procesoru 22% 43%

Využití paměti 30% 67%

Využití disku 33% 67%

Využití tiskárny 33% 67%

Spotřebovaný čas 35 min. 20 min.

Výkon 6 jobs/hod. 9 jobs/hod.

Průměrná odezva 18 min. 10 min.

Page 11: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Utilization Histogram

0 5 20 30251510

0 5 1510čas [min]

čas [min]

100%

0%

100%

0%

100%

0%

100%

0%

100%

0%

CPU

Paměť

Disk

Terminál

Tiskárna

Job2

Job3

Job1

100%

0%

100%

0%

100%

0%

100%

0%

100%

0%

Page 12: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Výpočet využití procesoru

Čtení záznamu ze souboru 15 sProvedení 100 instrukcí 1 sZápis záznamu do souboru 15 sSoučet 31 s

Percent CPU Utilization = 1/31 = 0,032 (3,2%)

Page 13: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Vývoj operačních systémů

od druhé poloviny 60. let

Pro většinu úloh je žádoucí nabídnout uživateli možnost interakce s výpočtem, nejprve pro sálové počítače, dnes zcela samozřejmá pro všechny kategorie počítačů. Jedná se o systémy se sdílením času TSS (Time Sharing Systems), jedná se také o multiprogramové systémy, v rámci multitaskingu je provozováno více úloh různých uživatelů, prvním TSS byl CTSS (Compatible Time Sharing System) MAC (Multiple Access Computer) pro počítač IBM 709 v roce 1961, zavedení TSS (multiprogramování) přineslo řadu nových problémů pro OS, jedná se o ochranu paměti, ochranu souborového systému, soupeření o zdroje, ...

1980 – současnost

osobní počítače, pracovní stanice, inteligence do koncových zařízení, počítačové sítě, paralelní systémy

Page 14: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

dávkové OS nepodporovaly interakci s uživateli, TSS rozšiřuje pojem multiprogramování na správu více interaktivních úloh, procesor je sdílen více uživateli (podle výkonu systému o sobě uživatelé nemusí vědět), objevuje se chráněný systém souborů

- prvním TSS byl CTSS pro počítač IBM 709 v roce 1961

Time-Sharing Systems

Batch Multiprogramming

Time Sharing

Hlavní účel Maximalizovat užití procesoru

Minimalizovat čas odezvy

Zdroj příkazů pro OS Příkazy JCL Příkazy zadávané z terminálu

Page 15: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Multiprogramování

RunA

RunB

RunB

Wait

WaitWait

čas

RunB

RunB

Wait Wait

čas

RunA

RunA

RunA

Wait

čas

Uniprogramming

Multiprogramming se dvěma programy

Multiprogramming se třemi programy

RunC

RunC

RunA

RunA

Page 16: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Multiprocessing

Interleaving (multiprogramming, one processor) - prokládání

Proces1

Proces2

Proces3

běží

blokován

Proces1

Proces2

Proces3

Overlapping (multiprocessing, three processors) - překrývání

běží

blokován

jeden procesor

tři procesory

čas

čas

Page 17: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Počítačový systém- hardware („holý počítač“)- operační systém- aplikační programy (překladače, hry, databázové systémy, systémové nástroje, …)- uživatelé

Paralelní systémyMultiprocesorový systém obsahuje více procesorů (p > 1) sdílejících společnou paměť, sběrnice, hodiny a periferie. Paralelní systémy dělíme na symetrické a asymetrické.

Počítačové systémy

Paralelní systém – skutečný paralelismus procesů, těsně vázané systémy, společný FAP, sdílí se hodiny, vyšší propustnost a spolehlivost

Distribuovaný systém – paralelismus procesů, volně vázané systémy, více FAP, komunikace periferními operacemi, každý procesor má vlastní paměť a hodiny

Page 18: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Symetrický multiprocessing (SMP)- používá rovnocenné univerzální procesory (vlastní časování, ALU, registry), každý procesor má přístup do hlavní paměti a prostřednictvím sběrnice k I/O zařízením, procesory spolu mohou komunikovat prostřednictvím paměti (sdílení) nebo zpráv, na každém běží část operačního systému. Procesy se procesoru přidělují jako celky, někdy se proces může dělit na samostatné části – vlákna (thread). Potom se i vlákna mohou přidělovat jednotlivým procesorům. Dělení procesů na vlákna vede při použití víceprocesorových počítačů ke zrychlení výpočtu. Se systémovými strukturami může pracovat více procesorů. Plánování je provedeno pro každý procesor, důraz je kladen na synchronizaci procesů (sledů).

Asymetrický multiprocessing (ASMP)- uplatňuje mezi procesory vztah master – slave, ty nemusí být stejného typu (vektorový počítač Convex, 128 procesorů, speciální SW). ASMP funguje i pro počítače PC pro specializované procesory (FPU – pro pohyblivou čárku, grafika, zvuková karta, …). Řízení zajišťuje CPU – centrální (univerzální) procesor. Pouze jeden procesor smí pracovat se systémovými datovými strukturami. Jsou jednodušší, není potřeba zajišťovat sdílení systémových struktur, nevýhodou je nižší pružnost a výkonnost.

Multiprocessing

Page 19: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Architektura SMP

L1

L2

Processor

L1

L2

Processor

L1

L2

Processor. . .

Main memory

I/O adapter

I/O adapter

I/O adapter

I/Osubsystem

System bus

Page 20: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Distribuované systémyKlasické – procesory jsou méně vázané, jde vlastně o samostatné počítače (uzly) spojené pomocí komunikační sítě. Důvody pro budování distribuovaných systémů:

- sdílení zdrojů- urychlení výpočtů- zvýšení spolehlivosti (porovnání výsledků, uložení souborů na více

místech, …)Mezi paralelními systémy a klasickými distribuovanými systémy se nachází počítačový cluster. Ten umožňuje efektivní spojení výkonu více počítačů, nejen jejich procesorů. Navzájem jsou propojeny vysokorychlostní sítí.

Agentové systémy- jsou vázány volněji než klasické distribuované systémy. Agenti se skládají z jádra (programu) a komunikační obálky pro umožnění komunikace s jinými agenty. Agent je samostatný systém schopný spolupracovat s jinými systémy. Na rozdíl od přesně organizovaného distribuovaného systému jsou agentové systémy schopné v případě potřeby přibrat další agenty ke spolupráci.

Distribuované a agentové systémy

Page 21: 4. přednáška 26. 2. 2013 holý počítač, BIOS, virtuální počítač vývoj operačních systémů

Paralelismus - distribuovanost

paměť

procesor procesor procesor procesor

distribuce dat a řízení

PMem

PMem

Paralelní systém – skutečný paralelismus procesů, těsně vázané systémy, společný FAP, sdílí se hodiny, vyšší propustnost a spolehlivost

Distribuovaný systém – paralelismus procesů, volně vázané systémy, více FAP, komunikace periferními operacemi, každý procesor má vlastní paměť a hodiny

Nezávislý – běží samostatné procesy, žádná synchronizace, víceuživatelské systémyVelmi hrubozrnný – distribuované zpracování v síti (řešení jedné komplexní úlohy) řídká interakce mezi procesy (omezení síťové režie)Hrubozrnný – běh více procesů na více procesorech, jeden FAP, multiprocessingStřednězrnný – multitasking, sledy v rámci jednoho procesu v časté interakci, multiprogrammingJemnozrnný – paralelní řešení operací (maticové procesory), stejná operace na datech

Distribuovaný systém

Paralelní systém