+ All Categories
Home > Documents > Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura,...

Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura,...

Date post: 21-Aug-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
159
Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifik funkce, klasifikace.
Transcript
Page 1: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Architektura operačních systémů, vrstvená struktura, vlastnosti a

f k kl ifikfunkce, klasifikace.

Page 2: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Abstraktní pohled na systémové komponenty

Uživatel1

Uživatel 2

Uživatel n

Kompilátor textový editor databázový systém

Operační systém

Hardware počítače

Page 3: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Definice operačního systému

• Správce prostředků – spravuje a přiděluje zdroje systému

• Řídicí program – řídí prováděníŘídicí program řídí provádění uživatelských programů a operací I/O zařízenízařízení

• Jádro – trvale běžící program – všechny ostatní lze chápat jako aplikační programy

Page 4: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Operační systémy-způsoby popisu

Proces 3

h lý

Proces 1

„holý počítač Uživatelské programy

OS Avnitřní

vnějšíProces 2 OS-A

Virtuální počítač

Page 5: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Operační systém je

• Program, který řídí běh ostatních procesů– Ostatním procesům bezpečně a efektivně předává řízení

a získává je zpětCPU děl j kd á š ě í– CPU sděluje, kdy má spouštět ostatní procesy

• Rozhraní mezi uživatelem a hardware• Skrývá ostatním procesům detaily o hardware

– Musí zvládnout správu detailů hardware ve své režiip

Page 6: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Typické poskytované služby

• Vytváření programů• Provádění programů, běh procesů• Zpřístupňování V/V zařízení• Zpřístupňování V/V zařízení• Řízení přístupů k souborům• Řízení přístupu k systému

D t k h b h b é ří í• Detekce chyb a chybové řízení• Protokolování činností

Page 7: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Struktura operačního systému

• Monolitický systém• Vrstvená struktura• Virtuální počítač• Virtuální počítač• Model klient-server

Page 8: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Monolitický systém

• velmi rozšířený• model jádra OS+systémových služeb• bez vnitřní struktury• bez vnitřní struktury• Unix, CP/M, MS-DOS• různé režimy činnosti procesoru různé

fáze činnosti OSfáze činnosti OS

Page 9: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Monolitický systém

uživatelské programy běžící v uživatelském

uživatelský program 2

uživatelský program 1 módu

Operační systém běžící v módu jádramódu jádra

Page 10: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vrstvená struktura

• hierarchické uspořádání vrstev• vyšší vrstva využívá pouze služeb nejbližší

nižší vrstvynižší vrstvy• příklad návrh OS „THE System“

( h i h h l idh(Technische Hogeschool Eidhoven –Dijkstra 1968): 6 vrstev

Page 11: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vrstvená struktura

5 operátor

4 uživatelské programy

3

2

správa I/O zařízení

2

1 správa paměti

komunikace s procesy

0

sp v p ě

přidělování procesoru

Page 12: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Virtuální počítač (virtual machine).

• oddělení funkce multiprogramování od funkce šíř éh j ( d d hi )rozšířeného stroje (extended machine)

• příklad CP/CMS (VM/370)• OS SW emuluje existenci více jednouživatelských

systémů s vlastním HW (virtual machine monitor -y (VM), které jsou přesnou kopií HW (VM vrstva emuluje HW)j )

Page 13: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Virtuální počítač

CMS CMS CMSOperační systémy zajišťující funkci

Virtuální 370’ CMS CMS CMS zajišťující funkci

rozšířeného počítače

370

VM /370

HW 370 Vlastní HW

počítačepočítače

Page 14: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Model klient-server

• trend minimalizace rozsahu jádra OS (mikrokernel),

• část funkcí OS implementována do úrovněčást funkcí OS implementována do úrovně uživatelských procesů (zasílání požadavků mezi procesy)mezi procesy),

• mikrokernel zajišťuje zejména komunikaci

Page 15: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Model klient-server

kli t kli t kli t v uživatelském

Jád ód jád

klient klient klient server server server v uživatelském módu

Jádro v módu jádra

Page 16: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Generické komponenty OSp y

Interpret příkazů

Networking Sy

Správa souborů

Správa sekundární paměti

stéSpráva sekundární paměti

Správa I/O systému

ém p y

Správa hlavní paměti

och

Správa procesů

hra

Správa procesorů n

Page 17: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Principy vonNeumannovyPrincipy vonNeumannovy koncepce počítače, jednotlivýchkoncepce počítače, jednotlivých

podsystémů, zobrazování informací v počítači, principy

k ik if í h ří íkomunikace periferních zařízení s procesorem jiné architekturys procesorem, jiné architektury

počítačů.p

Page 18: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty
Page 19: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Operační paměťOperační paměťPAMĚŤOVÉ BUŇKY

ADRESOVÝ REGISTR PAMĚTI

ŘADIČ PAMĚTI

ÚDAJOVÝ REGISTR PAMĚTI

NAJDI ADRESU

REGISTR PAMĚTI - RAP

- RDP

HOTOVO SESTAVNASTAV ADRESU

ADRESA VYBER

ULOŽ START

HOTOVOÚDAJ SESTAV

ÚDAJSU

Page 20: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Předpoklady paměťové buňky

• Obsahuje jedno slovo – slabiku – byte• Při získání údaje čtením se obsah neporuší• Lze do ní zapsat novou informaci s• Lze do ní zapsat novou informaci s

podmínkou že se zruší existující informace• Má jednoznačně přidělenou adresu

Page 21: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Hierarchie paměťového podsystémuHierarchie paměťového podsystémuŘADIČ ŘÍDÍCÍ PAMĚŤ

OPERAČNÍ ZÁPISNÍKOVÁ JEDNOTKA PAMĚŤ

OPERAČNÍ PAMĚŤOPERAČNÍ PAMĚŤ

ÝVSTUP / VÝSTUP

VNĚJŠÍ VELKOKAPACITNÍ

PAMĚŤ

VNĚJŠÍ VELKOKAPACITNÍ

PAMĚŤPAMĚŤ PAMĚŤ

•••

•••• •

Page 22: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Procesor:

• aritmeticko-logická jednotka • registry • řadič• řadič

Page 23: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Aritmeticko logická jednotkag j

REGISTR A - STŘADAČ

1 d ∑1. operand

2 d

PŘEPÍ

∑PŘEP DOZ PAMĚTI

RESITR B - BÁZE

2. operand

VÝSLEDEK

ÍNAČ

PÍNAČ

DO PAMĚTI

Z PAMĚTI

REGISTR Q - PODÍL

řízenířízení

ŘADIČ OPERAČNÍ JEDNOTKY

řízení přepínačů

řízení posunů

Page 24: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

ŘadičŘadič

RDP RAP RAP

OK ADRESAŘÍDÍCÍ REGISTR

ČÍTAČ INSTRUKCÍ

Dekodér ÚstředníDekodér instrukcí

Ústřední řadič

ČASOVÁNÍ A ŘÍZENÍ

PŘEPÍNAČŮ (PŘENOSŮ)(PŘENOSŮ)

Page 25: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Základní instrukční cyklus

Výběrová ProváděcíSTART

Výběrová fáze řadiče

Prováděcí fáze řadiče HALT

Page 26: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Způsoby komunikace procesoru sZpůsoby komunikace procesoru s okolímokolím

• Programovou smyčkou• Přerušením• DMA• DMA

Page 27: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Podmíněný přenos datý p

Při ?Připraven?

neano

ne

přenos

Page 28: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Přenos dat systémem přerušení

Hlavní program Přerušení

Nalezení příčiny přerušení a uchování stavu CPU

program

Odskok do podprogramu pro obsluhu přerušení

Obnovení stavu CPU

Page 29: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Posloupnost obsluhy přerušení

• Uchování stavu procesoru• Vlastní obsluha přerušení • Obnovení stavu procesoru• Obnovení stavu procesoru

Page 30: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Instrukční cyklus s přerušením

Interrupt

Výbě á P ádě í P

Interrupt Disabled

START Výběrová fáze řadiče

Prováděcí fáze řadiče

Proces přerušení

Interrupt Enabled

HALT

Page 31: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

DMA přenos

Procesor Paměť Řadič

disků

Kradení cyklů

Page 32: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Harwardská koncepce

paměť paměťpaměť programu

paměť dat

registr instrukcí

/programu

řadič

ALU vstupy/výstupy

Page 33: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Sériový procesor s jedním tokem instrukcí a jedním tokem dat SISD

Procesor

Data Instrukce Data

Paměť

Page 34: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Řetězený procesor s jedním tokem dat a ícenásobným tokem instr kcí MISDvícenásobným tokem instrukcí MISD

ProcesorProcesor

Data Data

Instrukce

Paměť

Page 35: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Maticový procesor s jedním tokem instrukcí a vícenásobným tokem dat SIMDinstrukcí a vícenásobným tokem dat SIMD

Řídící jednotka systému Paměť programů

Instrukce

Instrukce

Data Data

P ěť d tPaměť dat

Page 36: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Multiprocesor s mnohonásobnýmMultiprocesor s mnohonásobným tokem instrukcí a dat MIMDtokem instrukcí a dat MIMD

Procesor

Instrukce Instrukce DataData

Paměť

Page 37: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Obecné uspořádání čísla v pevnéObecné uspořádání čísla v pevné řádové čárce

Znaménko

Číslo

Řádová čárka

Page 38: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Obecné uspořádání čísla v pohyblivéObecné uspořádání čísla v pohyblivé řádové čárce

Znaménko Znaménko

Exponent MantisaExponent Mantisa

Page 39: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Obecná struktura instrukce

Operační kód Adresová část

Page 40: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Tříadresová instrukceTříadresová instrukce OK A1 A2 A3

• Y = A * B + (C – D) * E / F• Instrukce Význam• Instrukce Význam• Násob a b p1 A * B -> P1• Odečti c d - C - D -> R

Ná b R * E > R• Násob - e - R * E -> R• Děl - f - R / F -> R• Sečti - p1 - R + P1 -> Y

Page 41: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Dvouadresová instrukceDvouadresová instrukce OK A1 A2

• Y = A * B + (C – D) * E / F• Instrukce Význam• Násob a b A * B -> R• Zapiš p1 - R -> P1• Odečti c d R D > R• Odečti c d R - D -> R• Násob - e R * E -> R• Děl - f R / F -> R• Sečti P1 y R + P1 -> Yy

Page 42: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Jednoadresová instrukce OK A1

• Y = A * B + (C – D) * E / F• Instrukce VýznamInstrukce Význam• Ulož a A -> R• Násob b R * B -> RNásob b• Zapiš p1 R -> P1• Ulož c C -> R• Odečti d R - D -> R• Násob e R * E -> R• Děl f R / F -> R• Sečti p1 R + P1-> R• Zapiš y R -> Y

Page 43: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

S á ů č íhSprávce procesů operačního systému plánování procesůsystému, plánování procesů, komunikace mezi procesy, p y,

kritická sekce, uváznutí, vlákna.

Page 44: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Pojmy

• Program = zápis algoritmu v nějakém í j ( říkl d j éprogramovacím jazyce (například ve strojovém

kódu). Je statický, neměnný (neuvažujeme-li ý j ý h í ů)vývoj nových verzí programů).

• Proces (process, task) = běžící program. Proces je tvořen neměnným kódem programu a konstantami a proměnnými daty jako je stav procesoru, data na zásobníku, globální proměnné, halda, soubory atd

Page 45: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Zdroje systému nutné pro běhZdroje systému nutné pro běh procesuprocesu

• operační paměť • procesor • další prostředky (I/O zařízení soubory• další prostředky (I/O zařízení, soubory

apod.)

Page 46: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

2 stavový model

ý

běží í

vytvoření Spuštění ukončení

neběžící běžící

Potlačení

vytvoření spuštění ukončení fronta

procesor

potlačení

Page 47: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

3 stavový modelý

vytvoření

Procesu je přiřazen procesor ukončení

připravený běžící P íProces musí čekat na dokončení I/O

b jinebo jinou událost I/O nebo jiná

událost je ukončena

čekající

ukončena

ukončení čekající

Page 48: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

5-stavový modelý vytvoření spuštění ukončení

připravený běžící

Čas, priorita

Potlačení – čekání na událost

Aktivace – vznik

obnova

odložení

Odložený připravený

událostudálosti

odložení

ukončení čekající

připravený

odložení Aktivace – vznik události

Odložený čekající

Page 49: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Informace OS o procesuInformace OS o procesu

• Process Control Block – tabulka b h jí í i f ř b é

Ukazatel Stav procesu

Číslo procesu

obsahující informace potřebné pro definici a správu procesu

Programový čítač (čítač instrukcí)

Registry procesoru

– stav procesu (běžící, připravený, …)– čítač instrukcí

i– registry procesoru– informace potřebné pro správu

ěti

Oblast operační paměti

Seznam otevřených souborů paměti

– informace potřebné pro správu I/Oúčtovací informace

..

.. – účtovací informace ..

Page 50: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Přepnutí procesuPřepnutí procesuProces P1 Proces P2Operační systém

Běžící P1

p y

Uložení kontextu P1 Čekající P2

Načtení kontextu P2

Běžící P2 Čekající P1

Uložení kontextu P2

Načtení kontextu P1

Čekající P2

Běžící P1

Page 51: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Nepreemptivní plánováníp p p• V případě nepreemptivního plánování se proces

d k d b d bmusí procesoru sám vzdát. Pokud má být doba, po kterou je proces ve stavu běžící, omezená, je nutné, aby proces kontroloval časovač a po překročení stanovené doby se dobrovolně vzdal procesorustanovené doby se dobrovolně vzdal procesoru vyvoláním služby OS, která je k tomuto účelu určena Výhodou je že proces nemůže být přerušenurčena. Výhodou je, že proces nemůže být přerušen, pokud nechce (například v kritické sekci). N ýh d j ž š ě h jí í ůžNevýhodou je, že špatně chovající se proces může zablokovat celý OS. Takto fungují například MS-Windows.

Page 52: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Preemptivní plánování

• V případě preemptivního plánování OS může odebrat procesu procesor. Zpravidla se tak děje při uplynutí časového kvanta j p p yurčeného pro běh procesu a celá akce je vyvolána přerušením od časovačevyvolána přerušením od časovače. Příkladem OS, který používá preemptivní

lá á í j OS U iplánování je OS Unix.

Page 53: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Strategie plánování procesoruStrategie plánování procesoru -podle těchto kritérií:podle těchto kritérií:

• spravedlnost: každý proces dostane spravedlivý díl času procesoručasu procesoru

• efektivita: udržovat maximální vytížení procesoru, příp jiné části systémupříp. jiné části systému

• čas odezvy: minimalizovat dobu odezvy pro interaktivní uživateleinteraktivní uživatele

• doba obrátky: minimalizovat dobu zpracování každé dávkové úlohykaždé dávkové úlohy

• průchodnost: maximalizovat množství úloh zpracovaných za jednotku časuzpracovaných za jednotku času

Page 54: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Plánovací algoritmyTyp

Využívá charakteristickou veličinu

Princip

FCFS, také FIFO (first come - first served / First in - first out)

toi řádný frontový režim

SXFS (shortest execution -first served)

ti proces s nejkratší dobou provádění, je první obsloužen

LCFS (l l d ř d ě b l h jLCFS (least completed -first served)

tbi přednostně se obsluhuje proces, který zatím běžel nejkratší dobu

EDFS (e lie t d e ti e t řed t ě e b l h jeEDFS (earliest - due-time fisrst served)

tdi přednostně se obsluhuje proces, kterému zbývá nejméně času na dokončení, tj. do okamžiku, kdy musí j , ybýt dokončen

HSFS (highest static priority first served)

Pi přednostně se obsluhuje proces s nejvyšší statickou prioritou

RR (round-robin) Δti cyklická obsluha procesů po časových intervalech

Page 55: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Spolupráce mezi procesyp p p y• sdílená paměť - jednodušší programování,

mocnější - programátor má více prostředků, zpravidla i jednodušší implementace.zpravidla i jednodušší implementace.

• zasílání zpráv - flexibilnější, je možné použít i pro komunikaci mezi procesy běžícími na různých procesorech nebo počítačíchp oceso ec ebo poč tač c

• Některé operační systémy podporují oba mechanismy

Page 56: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Prostředky předávání zprávy p p• SEND zašle zprávu. Nikdy se nezablokuje.

P k d á č ká říj íPokud na zprávu čeká příjemce operací RECEIVE, je mu zpráva doručena a příjemce odblokován.

• RECEIVE zprávu přijímá Pokud žádná zpráva• RECEIVE zprávu přijímá. Pokud žádná zpráva není dostupná, přijímající proces je zablokován.

• Je třeba vyřešit problém adresace, tj. určení odesilatele a příjemce. Lze řešit např. p j pidentifikací procesu na daném počítači. Jiným řešením je zavedení schránek (mailboxů) ařešením je zavedení schránek (mailboxů) a adresace pomocí identifikace schránky.

Page 57: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Sdílená paměť

• Sdílená paměť je paměť, do které má přístup více procesů. Může být použita pro komunikaci mezi procesyp y

Page 58: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Souběh - race condition

• při přístupu dvou nebo více procesů ke sdíleným d ů d jd k h bě ř ž k ždý ůdatům dojde k chybě, přestože každý z procesů samostatně se chová korektně

• K chybě dochází díky tomu, že data jsou modifikována některým procesem v době, kdy s nimi jiný proces provádí několik operací, o kterých se předpokládalo, že budou provedeny jako jeden nedělitelný celek.

Page 59: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Kritická oblast

• Data, která jsou sdílena několika procesy tak, že při přístupu k nim by mohlo dojít k souběhu

• Kritická sekce je nejmenší část programu, ve které se pracuje s daty v nějaké kritickéve které se pracuje s daty v nějaké kritické oblasti, a která musí být provedena jako jeden celek.

Page 60: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Souběh

• Zejména u složitějších datových struktur ( b ě é j é l ži é d i ké(obousměrné spojové seznamy, složité dynamické struktury uložené v souborech apod.) dochází č k ž či é di á í jčasto k tomu, že v určitém stadiu zpracování jsou data dočasně nekonzistentní

• Pokud v tom okamžiku dojde k přepnutí kontextu na proces, který tato data také používá, může nastat souběh

Page 61: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Problém kritické sekce• umožnit přístup ke kritické oblasti procesům, které o to

usilují, při dodržení následujících podmínek:usilují, při dodržení následujících podmínek: – výhradní přístup; v každém okamžiku smí být v kritické sekci

nejvýše jeden proces j ý j p– vývoj; rozhodování o tom, který proces vstoupí do kritické sekce,

ovlivňují pouze procesy, které o vstup do kritické sekce usilují; toto rozhodnutí pro žádný proces nemůže být odkládáno do nekonečna; nedodržení této podmínky může vést například k tomu, ž j ž ě t ikt í lt (d řiže je umožněna pouze striktní alternace (dva procesy se při průchodu kritickou sekcí musí pravidelně střídat) omezené čekání; pokud jeden proces usiluje o vstup do kritické– omezené čekání; pokud jeden proces usiluje o vstup do kritické sekce, nemohou ostatní procesy tomuto vstupu zabránit tím, že se v kritické sekci neustále střídají - mohou do této kritické sekce jvstoupit pouze omezený počet krát (zpravidla pouze jednou)

Page 62: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Znázornění paralelismu pomocí PetrihoZnázornění paralelismu pomocí Petriho sítí (problém kritické sekce)(p )

A C

KSP KSQ

B D

B D

Page 63: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Prostředky pro zajištěníProstředky pro zajištění výlučného přístupuvýlučného přístupu

• Zákaz přerušení• Instrukce Test and set lock• Semafory• Semafory

Page 64: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Princip operace P

P

S(i)=0?ANO

S(i) := S(i) - 1

NE

Page 65: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Princip operace V

V

NEANO

S(i)=C(i)?NE

S(i) := S(i) + 1

Page 66: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Uváznutí - deadlockUváznutí - deadlock• je situace, kdy dva nebo více procesů čekají j y p j

na událost, ke které by mohlo dojít pouze pokud by jeden z těchto procesů pokračovalpokud by jeden z těchto procesů pokračoval (vyřešení dopravní situace couváním).

Page 67: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Podmínky uváznutíy• Výlučný přístup (mutual exclusion). Existence

ř dků k é j řiděl á ýh d íprostředků, které jsou přidělovány pro výhradní použití jednomu procesu, tj. nesdílitelných

dkůprostředků. • Postupné přidělování prostředků (hold and wait). p p p ( )

Procesy nežádají o přidělení všech prostředků najednou, ale postupně. Pokud požadovaný j , p p p ýprostředek není volný, musí proces čekat.

• Přidělování prostředků bez preempce Přidělené• Přidělování prostředků bez preempce. Přidělené prostředky nelze procesu násilím odebrat. C kli ké č ká í• Cyklické čekání

Page 68: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Řešení otázky uváznutíy• ignorovat je - přestože tato strategie vypadá nepřijatelně, používá ji

například OS Unix; v případě uváznutí musí zasáhnout některý z uživatelů a jeden nebo více procesů násilím ukončit; v krajním případě může být nutné znovu nastartovat celý systém

• předcházet mu zabránit splnění aspoň jedné z podmínek nutných• předcházet mu - zabránit splnění aspoň jedné z podmínek nutných pro vznik uváznutí

• vyhýbat se mu - systém se vyhýbá situaci, kdy by došlo k cyklickému y ý y y ý , y y yčekání tím způsobem, že zná maximální nároky procesů na jednotlivé prostředky a před přidělením každého prostředku zjišťuje, zda existuje způsob jak dokončit všechny procesy i když budou vyžadovatzpůsob, jak dokončit všechny procesy i když budou vyžadovat prostředky odpovídající maximálním nárokům; OS přidělí prostředek pouze tehdy, je-li to bezpečné (existuje-li způsob, jak všechny aktivní procesy zdárně dokončit)

• detekovat uváznutí a zotavit se z něj

Page 69: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Předcházení uváznutí

• Strategie předcházení uváznutí se snaží zabránit splnění alespoň jedné z podmínek uváznutí: – Výlučný přístup

Postupné přidělování prostředků– Postupné přidělování prostředků – Přidělování prostředků bez preempce – Cyklické čekání

Page 70: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Výlučný přístupý ý p p• Prostředky, které jsou bez omezení sdílené, nemohou

způsobit uváznutí Příkladem jsou read-only souboryzpůsobit uváznutí. Příkladem jsou read-only soubory. • Virtualizace prostředků - používá se například u tiskáren.

P ží jí ří ti ká l ý t i jí dProcesy nepoužívají přímo tiskárnu, ale výstupy zapisují do diskového souboru, který operační systém vytiskne později. U t í h ří í té čt ž d á d t dU vstupních zařízení systém načte požadovaná data do souborů, ze kterých je pak jednotlivé procesy čtou. Tato

t d ý á li ( i lt i h i l t tmetoda se nazývá spooling (simultaneous peripherial output on-line).

• Bohužel existují prostředky, které jsou z podstaty nesdílitelné, na které není možné tuto metodu použít.

Page 71: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Postupné přidělování prostředkůp p p• Jednorázové přidělování prostředků - každý proces si

vyžádá všechny prostředky, které potřebuje při svém startu y y p y p j pa žádné další mu nebudou později přidělovány. Pokud procesu nemohou být přiděleny všechny požadované

ř dk j řiděl žád é í č kprostředky, nejsou mu přiděleny žádné a proces musí čekat. • Alternativou je strategie, při které je možné přidělovat

ř dk k ý žád é á Díkprostředky pouze procesu, který žádné nemá. Díky tomu může proces několikrát za dobu svého běhu vrátit všechny prostředky a pak žádat o dalšíprostředky a pak žádat o další.

• Nevýhody: žití tř dků j í ké tř dk j l t ě řiděl á– využití prostředků je nízké, prostředky jsou vlastně přidělovány

procesům, které je ve skutečnosti zatím nepotřebují – možnost stárnutí procesů (starvation); nároky procesu kterýmožnost stárnutí procesů (starvation); nároky procesu, který

potřebuje několik často používaných prostředků, nemusí být nikdy uspokojeny a proces tak může čekat neomezenou dobu

Page 72: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Přidělování prostředků bez preempcep p p

• Pokud je možné snadno uschovat a následně• Pokud je možné snadno uschovat a následně obnovit stav prostředků, může operační systém

d b t tř dk kt é tř b jodebrat procesu prostředky, které potřebuje pro jiné procesy.

• Díky nutnosti uschovat o obnovit stav prostředku, je možné tuto strategii používat pouze uje možné tuto strategii používat pouze u prostředků, které to umožňují jako je procesor nebo operační paměťnebo operační paměť.

Page 73: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Cyklické čekání

• Algoritmus, který zamezuje cyklickému č ká íčekání: – Každému typu prostředku je přiděleno číslo. – Pokud má proces přiděleny nějaké prostředky,

může žádat pouze o takové další prostředky, j ji h l j j ljejichž číslo je větší než největší z čísel procesem už držených prostředků. O ř dk k é jí j é čí l í žád– O prostředky, které mají stejné číslo musí žádat najednou.

Page 74: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Shrnutí

• Některé ze strategií, které se používají pro předcházení uváznutí je možné použít pouze propředcházení uváznutí, je možné použít pouze pro určité prostředky (sdílitelné prostředky a prostředky jejichž stav je možné uschovat aprostředky, jejichž stav je možné uschovat a obnovit).

• Ostatní strategie mohou vést k nízkému využitíOstatní strategie mohou vést k nízkému využití prostředků a ke stárnutí procesů, což může být považováno za tak velkou nevýhodu, že v mnoha p ý ,operačních systémech nejsou tyto strategie používány.

Page 75: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vyhýbání se uváznutí• Strategie předcházení uváznutí jsou buď příliš omezující,

nebo nepokrývají všechny prostředky používané v příslušném systému. Pokud není možné zabránit prvním třem podmínkám vzniku uváznutí a není schůdné ani podstatné omezení, které klade na systém výše popsaný algoritmus předcházení cyklickému čekání, je možné použít strategii vyhýbání se uváznutí.

• Při žádosti o prostředek systém kontroluje, zda existuje p y j jalespoň jeden proces, který je možné po přidělení tohoto prostředku dokončit. Po jeho dokončení opět musí existovat p j palespoň jeden proces, který může být dokončen a tak dále až po ukončení všech procesů. Pokud by tato podmínka nebyla p p y p ysplněna, systém prostředek nepřidělí.

Page 76: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Bankéřům algoritmus• Každý proces deklaruje pro každý typ prostředku

maximální množství které bude potřebovatmaximální množství, které bude potřebovat. • Operační systém si musí při přidělování

prostředků ponechat tolik prostředků, aby byl p p p , y yschopen uspokojit maximální požadavky alespoň jednoho procesu.Tí j č ž k čí l í• Tím je zaručeno, že tento proces skončí a uvolní prostředky, které pak mohou být přiděleny dalším procesům OS nekontroluje pouze zda je možnéprocesům. OS nekontroluje pouze, zda je možné dokončit jeden proces, ale všechny aktuální procesy.

Page 77: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Definice problémup• Bankéř chce rozdělit pevný kapitál abstraktních peněžních

jednotek mezi pevný počet zákazníků• Každý zákazník udává předem svou maximální potřebu

peněžních jednotek• Bankéř vyhoví zákazníku, pokud potřeba zákazníka

nepřevyšuje kapitál bankéře• Během transakcí zákazník může vracet nebo si půjčovat

peněžní jednotky• Bankéř musí zaručit, že čekací doba zákazníka na přidělení

peněžních jednotek bude vždy konečná• Běžná půjčka zákazníka nesmí nikdy převýšit jeho

maximální potřebu• Zákazník zaručuje, že dokončí své transakce a splatí půjčku

v konečném čase

Page 78: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Algoritmus

• Stav jistý – jestliže bankéř umožní všem zákazníkům dokončení všech jejich transakcí v konečném čase

• Stav nejistý – opačná situace

Page 79: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Situace

• zákazníka– požadavek = potřeba – půjčka

• bankéře• bankéře– hotovost = kapitál – součet půjček

Page 80: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Příklad

• bankéř má 10 jednotek• zákazníci P,Q R mají potřebu 20 jednotek • zápis = (půjčka)požadavek• zápis = (půjčka)požadavek• Algoritmus vyšetřuje zákazníky jednoho po

druhém a hledá toho, jehož požadavek nepřevyšuje hotovost Hnepřevyšuje hotovost H

Page 81: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stav jistýj ýnejdříve uspokojí zákazníka Q

2 4

H H

4(4) 8

H

HP

2(1)

4(4) 8

10 HP

Q 2(1)

2(7) 2(7) 2(7) R R R

Q

R R R

Page 82: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stav nejistýpřidělil R jednu jednotku a popřidělil R jednu jednotku a po

uspokojení Q se navodí neřešitelnáuspokojení Q se navodí neřešitelná situace

1 3

H H

4(4) 3

2(1)

4(4)

P

P 2(1)

3(6)

PQ

3(6) 3(6)

R R

Page 83: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Procesy a vlákna• Program

– soubor definovaného formátu obsahující instrukce, data a další informace ř b é k d í d éh úk lpotřebné k provedení daného úkolu

• Proces– systémový objekt charakterizovaný svým paměťovým prostorem a

kontextem (paměť i některé další zdroje jsou přidělovány procesům)kontextem (paměť i některé další zdroje jsou přidělovány procesům)• Vlákno, také „sled“

– objekt, který vzniká v rámci procesu, je viditelný pouze uvnitř procesu a je charakterizován svým stavem (CPU se přidělují vláknům)charakterizován svým stavem (CPU se přidělují vláknům)

• Model – jen procesy (ne vlákna)– proces: jednotka plánování činnosti i jednotka vlastnící prostředky

• Model – procesy a vláknaModel procesy a vlákna– proces: jednotka vlastnící zdroje– vlákno: jednotka plánování činnosti

Page 84: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Procesy a vlákna• Každé vlákno si udržuje svůj vlastní

– zásobník– zásobník– PC (program counter)– registry– TCB (Thread CB)

• Vlákno může přistupovat k paměti a ostatním zdrojům svého procesusvého procesu– zdroje procesu sdílí všechny vlákna jednoho procesu– jakmile jedno vlákno změní obsah (nelokální – mimo zásobník)

b ňk š h í lák ( éh ž ) idíbuňky, všechny ostatní vlákna (téhož procesu) to vidí– soubor otevřený jedním vláknem mají k dispozici všechny ostatní

vlákna (téhož procesu)

Page 85: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stavy vláken

• Tři klíčové stavy vláken:– běží– připravený– čekající

• Vlákna se (samostatně) neodkládajíVlákna se (samostatně) neodkládají– všechny vlákna jednoho procesu sdílejí stejný

adresový prostoradresový prostor• Ukončení procesu ukončuje všechny

vlákna existující v rámci tohoto procesuvlákna existující v rámci tohoto procesu

Page 86: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vlákna na uživatelské úrovni• User-Level Threads (ULT)

– Správa vláken se provádí prostřednictvím vláknové knihovny– Správa vláken se provádí prostřednictvím vláknové knihovny („thread library“) na úrovni uživatelského / aplikačního programu

– Jádro o jejich existenci neví přepojování mezi vlákny nepožaduje provádění funkcí jádra nepřepíná se ani kontext procesu ani režimprovádění funkcí jádra nepřepíná se ani kontext procesu ani režim procesoru

– Plánování přepínání vláken je specifické pro konkrétní aplikaci aplikace si volí pro sebe nejvhodnější (např plánovací) algoritmusaplikace si volí pro sebe nejvhodnější (např. plánovací) algoritmus

• Příklady– POSIX Pthreads– Mach C-threads– Solaris threads

Page 87: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vlákna na úrovni jádra• Kernel - Level Threads (KLT)• Správu vláken podporuje jádro nepoužívá se threadSprávu vláken podporuje jádro, nepoužívá se „thread

library“– používá se API pro vláknové služby jádra

informaci o kontextu procesů a vláken udržuje jádro– informaci o kontextu procesů a vláken udržuje jádro– přepojování mezi vlákny aktivuje jádro– plánování na bázi vláken již v jádře OSříkl d• Příklady

– OS/2– Windows 95/98/NT/2000/XP– Solaris– Tru64 UNIX– BeOSBeOS– Linux

Page 88: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Správce operační paměti, metody přidělování paměti, ochrana

ěti i t ál í ěťpaměti, virtuální paměť.

Page 89: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Hlavní úkoly správce paměti

• Přidělovat operační paměť jednotlivým ů kd ž i ji žád jíprocesům, když si ji vyžádají

• Udržovat informace o paměti, o tom, která pčást je volná a která přidělená (a komu)

• Zařazovat paměť, kterou procesy uvolní,Zařazovat paměť, kterou procesy uvolní, opět do volné části

• Odebírat paměť procesům je li to zapotřebí• Odebírat paměť procesům, je-li to zapotřebí• ochrana paměti – umožňuje-li to HW

Page 90: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Strategie přidělování paměti

• Přidělování veškeré volné paměti• Přidělování pevných bloků paměti• Přidělování bloků paměti proměnné velikostip p• Segmentace paměti• Stránkování paměti• Stránkování paměti• Stránkování na žádost (demand paging)• Segmentace se stránkováním na žádost

Page 91: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Přidělování veškeré volné pamětip• Část paměti RAM je obsazena operačním systémem

(kód ě é á í ěti) b t k j k(kód, proměnné, vyrovnávací paměti), zbytek je k dispozici pro uživatelský program. V každém okamžiku je tedy v paměti nejvýše jeden uživatelský programp g

• Přeadresování provádí program zvaný locator. Locator podle tabulky adres v relativním programuLocator podle tabulky adres v relativním programu změní (dle umístění) příslušné adresy na absolutní.

• Ochrana paměti - pouze ochrana OS před přepsáním uživatelským programem (pomocí mezního registru;uživatelským programem (pomocí mezního registru; změna pouze v privilegovaném stavu procesoru)

Page 92: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Spojité přidělování paměti doSpojité přidělování paměti do jednoho úsekujednoho úseku

• Nejjednodušší verze: V paměti v daném okamžiku pouze jeden proces, který může používat celou paměť,p p ,

• Později přechod na systém, kdy jsou v operační paměti umístěny: operační systémoperační paměti umístěny: operační systém a jednouživatelský proces, zbylé místo nevyužité rozdělení na tři souvislé oblasti (úseky)( y)

Page 93: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

operační systém

uživatelský proces

volný prostor

Page 94: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Operačnísystémsystém

Základnísegmentg

overlayinicializace

prováděnívýstup

overlayarea

Page 95: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Strategie přidělování pevných bloků pamětig p p ý p• First fit - procházejí se bloky paměti a přidělí se

bl k d lk j b dprvní blok délka je větší nebo rovna požadované paměti.

• Last fit - vybere se poslední vyhovující W t fit b j ětší h jí í• Worst fit - vybere se největší vyhovující u přidělovaných bloků proměnné velikosti (používá se u strategie přidělování bloků paměti proměnné velikosti pro omezení fragmentace) p g )

• Best fit - vybere se nejmenší vyhovující (pro přidělo ání bloků pe né elikosti se pra idlapřidělování bloků pevné velikosti se zpravidla používá tato strategie)

Page 96: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Přidělování bloků paměti proměnné elikostivelikosti

• Výhody:Výhody:– ve vnitřní paměti může být několik procesů současně– lepší využití paměti

• Nevýhody: – součet paměťových nároků, které jsou současně v paměti musí být menší nebo

roven velikosti pamětiroven velikosti paměti – fragmentace paměti - procesy vyžadují souvislé úseky paměti. Může se stát, že

není možné spustit další proces, protože má větší nároky na paměť než je velikost největšího volného bloku i přesto že součet velikostí volných bloků jevelikost největšího volného bloku i přesto, že součet velikostí volných bloků je větší než paměťové nároky procesu

• Pro odstranění fragmentace používají další strategie správy paměti g p j g p y pnásledující metody:– setřásání bloků; problémy s adresními konstantami lze odstranit použitím

segmentacesegmentace – stránkování = programu se jeví adresní prostor jako souvislý, přestože ve

skutečnosti není

Page 97: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Fragmentace paměti volný blok 30 KB

Proces 1 10 KB

volný blok

Proces 2

40 KB

10 KB

Proces 2

volný blok

10 KB

20 KB

Proces 3

volný blok

10 KB

30 KB

30 KB

Page 98: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Setřesená paměť

Proces 1 10 KB

Proces 2

Proces 3

10 KB

10 KB

volný blok120 KB

volný blok

Page 99: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stránkování paměti

• Stránkování paměti umožňuje přidělit procesu několik nesouvislých úseků paměti, a vytvořit pro proces iluzi, že tato paměť y p p , psouvislá je.

• Při stránkování paměti je fyzická paměť je• Při stránkování paměti je fyzická paměť je rozdělená na rámce - frames (někdy se nerozlišuje rámec a stránka).

Page 100: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

St á k á íStránkování

l i ké f i kélogické adresy

fyzické adresy

CPU fyzickápaměť

p d f d

page table

pf

p

Page 101: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stránkování čísla á ů fyzickáStránkování

0rámců

logický adresový

fyzická paměť

page 01logický adresový prostor

page 0

1 page 20 12

3page 1

page 2

page 2

page 112

43

3

4p g3 7

page 3 5

tabulka stránek

6

page 37

Page 102: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Princip stránkování pamětip p• Logická adresa (= adresa použitá v programu) je

rozdělena na dvě složky číslo stránky a posunutí vrozdělena na dvě složky, číslo stránky a posunutí v rámci stránky (OFFSET). Velikost stránky bývá řádově kilobyty Při velikosti stránky 4 KB je prořádově kilobyty. Při velikosti stránky 4 KB je pro offset potřeba 12 bitů (2^12 = 4K), čili spodních 12 bitů logické adresy je offset zbylé bity jsou číslobitů logické adresy je offset, zbylé bity jsou číslo stránky. Po rozkladu adresy (vše provádí procesor bez asistence programátora) na číslo stránky abez asistence programátora) na číslo stránky a offset se číslo stránky použije jako index do tab lk stránek (každý proces má s oji lastní) Vtabulky stránek (každý proces má svoji vlastní). V tabulce stránek je uvedeno číslo rámce ve fyzické

ěti K čí l á ři jí ff t ý l dkpaměti. K číslu rámce se připojí offset a výsledkem je fyzická adresa v paměti.

Page 103: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vytváření adresy při stránkové organi aci pamětiorganizaci paměti

Tabulka stránek konkrétního

0 1

programu

1 . V

Skutečná adresa slova

.

. Adr. fyz. stránky Adresa slova.

.

Adr. fyz. stránky Adresa slova

d i á k Adadr. virt. stránkyV

Adresaslova

Page 104: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentace paměti

• Fyzická (skutečná) adresa v paměti se získává řič í b h i l i képřičtením obsahu segment registru a logické

adrese (= adresa použitá v programu). Obsah i j OS ži l kýsegment registru nastavuje OS a pro uživatelský

program je nepřístupný. Díky tomu adresní prostor k ždéh čí á 0 d d jí blékaždého procesu začíná na 0 a odpadají problémy s relokací programu. Většina systémů, které

ží jí i ě i d l j ůpoužívají segmentaci paměti dovoluje procesům použít více segmentů.

Page 105: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

SegmentaceSegmentace

operační systémLAP

FAP

Page 106: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentacesegment 0 segment 1 segment 2 segment 3 segment 4

Source Constant

Call

Symbol

text Parsetree

Call stack

ytable

Page 107: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

SegmentaceSegmentace

Symbol table

Source text

Constant table

Parse tree

Call stack

Page 108: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

SegmentaceSegmentacess

limit base

segmentCPU s d fyzická

paměť

segment table

< +

Page 109: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentaceg

t 4

segment 0

1400

segment 0

segment 4 2400

3200segment 3

segment 3

3200

segment 1

segment 2 segment 2limit base 4300

g g

segment 4

0 1000 1400

1 400 6300

2 400 4300

4700

5700

1

3 1100 3200

4 1000 4700

5700

6300

segment 1

6700

Page 110: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Struktura paměťového prostoru procesprocesu

• kód programu -> neměnný (obsah ani délka)kód programu neměnný (obsah ani délka) • konstanty -> neměnné • inicializované statické proměnné -> délka se nemění obsah• inicializované statické proměnné -> délka se nemění, obsah

je nastaven při startu procesu (načte se z souboru, který obsahuje program), při běhu procesu se jejich obsah může obs uje p og ), p bě u p ocesu se jej c obs ů eměnit, délka se nemění

• neinicializované statické proměnné, délka se nemění, obsah p , ,ano

• zásobník (návratové adresy z procedur a lokální proměnné a ( y p pparametry); proměnná velikost i obsah, neobsahuje díry

• halda; proměnná velikost i obsah, může obsahovat díry ; p , y• paměť pro overlaye (překryvné segmenty), dynamické

knihovny

Page 111: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentace paměti

• Výhody: j ž é d i ké ř í ť á í tů běh– je možné dynamické přemísťování segmentů za běhu procesu pro odstranění fragmentace (lze spojovat volné bloky paměti přesunutím překážejícího bloku) y p p p j )

– možnost dodatečně zvětšovat adresní prostor procesu – není nutné provádět relokaci programu – možnost sdílení segmentů

• Nevýhody: – součet nároků procesů v paměti musí být menší nebo

roven velikost paměti (lze obejít odkládáním segmentů na disk) může časo ě náročnéna disk) - může časově náročné

– nutná hardwarová podpora segmentace

Page 112: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Ochrana paměti

• mezní registr na číslo segmentu • pro každý segment mezní registr obsahující

maximální povolenou adresu segmentumaximální povolenou adresu segmentu (limit velikosti segmentu); segmenty mají různou délku !!!různou délku !!!

Page 113: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Ochrana mezními registryg y

HMA

Horní mezní adresa

( HMA – A ) : 0 Překročení horní mezeRSH

HMA

<0 horní meze

AdresovýA Adresový registr paměti RAP

( A- DMA ) : 0 Překročení dolní mezeRSD <0 dolní meze

DMA

Dolní mezní adresa

Page 114: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Ochrana paměti klíčip

adresový registr

Registr klíče programu

KP

B ARAP

4 1

4 1 RKP

&

& B = BRZ

i t á k

4 1 &B = BRZ

BRZ adresa stránky 4 Z – zámek 1

registr zámku

Z

RZP

ZB

Paměť zámků stránek 0 1

Z0 Z1

B ZB

Page 115: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stránkování na žádost (demand paging)( p g g)• V tabulce stránek je pro každou stránku údaj, zda se stránka

nachází v paměti nebo na disku. V případě, že je stránka na p p p , jdisku, je uvedeno i její umístění na disku. Pro stránkování se používá zpravidla zvláštní soubor, partition (oblast na disku)

b d k di knebo dokonce disk. • V případě, že se proces odkazuje na stránku, která je přítomna ve

fyzické paměti vše probíhá jako u běžného stránkování Pokudfyzické paměti, vše probíhá jako u běžného stránkování. Pokud však stránka ve fyzické paměti není (je na disku), dojde k vyvolání vnitřního přerušení "výpadek stránky". Obslužný y p ýp y ýprogram přerušení musí do vnitřní paměti zavést stránku z disku, opravit odkaz v tabulce stránek, a zajistit zopakování instrukce, kt á ý d k t á k ů bil P k d j itř í ětikterá výpadek stránky způsobila. Pokud je ve vnitřní paměti volné místo, použije se libolný z volných rámců. Pokud jsou všechny rámce plné, je nutné vybrat některý z nich a přenést jejvšechny rámce plné, je nutné vybrat některý z nich a přenést jej do stránkovacího souboru na disk.

Page 116: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Algoritmy nahrazování stránekg y

• Algoritmus FIFO• Algoritmus LRU• Algoritmus NUR - zjednodušení• Algoritmus NUR - zjednodušení

algoritmu LRU

Page 117: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Algoritmus FIFOg• Vyhodí z paměti stránku, která je v ní nejdéle.

Bohužel to může být stránka která se používáBohužel to může být stránka, která se používá trvale, což efektivitu algoritmu snižuje.

• Algoritmus FIFO také vykazuje tzv. FIFO anomálií. Pokud se provede tentýž výpočet dvakrát s různě p ý ýpvelkou vnitřní pamětí, mělo by při výpočtu s větší pamětí dojít nejvýše ke stejnému počtu výpadkůpamětí dojít nejvýše ke stejnému počtu výpadků stránek jako při výpočtu s menší pamětí. Při použití t t i FIFO t í žd l tit N í ístrategie FIFO to nemusí vždy platit. Navíc není

snadné implementovat nahrazování stránek pomocí strategie FIFO.

Page 118: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Algoritmus LRU (least recentlyAlgoritmus LRU (least recently used))

• vyhazuje z paměti tu stránku, která nebyla nejdelší dobu použita Implementace tohoto algoritmudobu použita. Implementace tohoto algoritmu může používat buď registr udávající čas posledního odkazu na danou stránku nebo frontuposledního odkazu na danou stránku nebo frontu, na jejiž začátek se zařazuje stránka, na kterou byl právě proveden odkaz. Má-li být z paměti některá p p ý pstránka vyhozena, vybere se ta, která nebyla použita nejdéle (v případě použití fronty je to poslední ve frontě). Algoritmus LRU je sice kvalitní, ale jeho hardwarová implementace je

btíž áobtížná.

Page 119: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Algoritmus NUR (not used recently) g ( y)• Zjednodušení algoritmu LRU.• V tomto případě je každému rámci přiřazen jednobitový

příznak, zda byla příslušná stránka použita. Při hledání oběti se vybere ta stránka, která použita nebyla.

• V algoritmech nahrazování stránek je vhodné brát v úvahu, zda byl obsah stránky změněn. V případě, že nebyl, stačí stránku pouze zahodit (její kopie je na disku). Pokud byla stránka změněna, je nutné ji nahrát na disk, což trvá přibližně stejně dlouho jako načtení nové stránky z disku. Pro tento účel bývá pro každý rámec k dispozici jednobitový příznak, který se vynuluje při zavedení stránky do vnitřní paměti a nastaví při zápisu do rámce.

Page 120: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentace se stránkováním na žádost

• Logická adresa se skládá z čísla segmentu, čísla stránky a offsetu na stránce. Každý proces má vlastní tabulku segmentů. Každý p g ýsegment má vlastní tabulku stránek (pro sdílený segment je tabulka jen jedna)sdílený segment je tabulka jen jedna).

Page 121: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Segmentace se stránkováním naSegmentace se stránkováním na žádostžádost

• Výhody: – odstranění fragmentace – je možné používat více paměti (virtuální

paměť) než je velikost fyzické paměti – je možné sdílet segmenty

• Nevýhody: – složitostsložitost – nutná podpora hardware

Page 122: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vytváření adresy při segmentovéVytváření adresy při segmentové organizaciorganizaci

Virtuální adresar. začátek tab.

segmentů č. segmentu adr. stránky adr. slova

∑ ∑ ∑

Poč. adr.tab. stránek

Sk t č áTabulka T b lk

Adr. fyz. str.

daného segmentu

Skutečná adresa

Tabulka segmentů

Tabulkastránek

Page 123: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

S á b ů iSpráva souborů, organizace adresářů vlastnosti souborůadresářů, vlastnosti souborů,

metody přístupu na disk, výpočet y p p , ýpparametrů disku.

Page 124: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Systémy souborů

• Soubory uchovávají data a programy• OS implementuje abstraktní koncepci

souborů správou velkokapacitních záznamových zařízení

• Systém souborů se skládá ze dvou částí:y– sada souborů obsahující vlastní uložené

informace– struktura adresářů obsahující informace o

souborech

Page 125: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Organizace struktury adresářů • Dnes obvykle v nějaké podobě grafu s kořenem.• Aktuální adresář - pozice uživatele v adresářové struktuře• Absolutní cesta - jméno souboru spojené se jmény všech podadresářů

ležících na cestě z kořenového adresáře k danému souboru• Relativní cesta - jméno spojené se jmény všech podadresářů ležících

na cestě z aktuálního adresáře k danému souboru, obvykle přidány speciální jména adresářů pro aktuální adresář a předchůdce adresářespeciální jména adresářů pro aktuální adresář a předchůdce adresáře (., ..)

• Stromová struktura - adresář obsahuje množinu souborů a adresářůStromová struktura adresář obsahuje množinu souborů a adresářů, strom má kořenový adresář

• Struktura acyklického grafu - sdílení adresářů a souborů, linkyy g , y• Struktura obecného grafu - možnost cyklů znesnadňuje procházení

adresářů

Page 126: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Stromová struktura - /A/B/D/ggA

B Ca

D b dD b c d

e f ge f g

Page 127: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Acyklický graf – /A/B/D/g a /C/g ukazují na stejný souborukazují na stejný soubor

A

B Ca

D b c d

e f g

Page 128: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Obecný graf - /A/B/D/g a např. /A/B/D/A/C/ k jí t j ý/A/B/D/A/C/g ukazují na stejný

souborsouborAA

B Ca

D b c dD b c d

e f g

Page 129: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Správa velkokapacitních záznamových zařízení

V lk k it í á á ří í h á jí• Velkokapacitní záznamová zařízení uchovávají permanentně velké množství dat (na rozdíl od operační paměti)

• Disk má S sektorů H hlav a T stop• Disk má S sektorů, H hlav a T stop. • Převod trojrozměrné adresy (s, h, t), kde s je číslo

sektoru, h je číslo hlavy a t je číslo stopy (cylindru) na jednorozměrný prostor sektorů pomocí formule j ý p p

( )tHhSs ×+×+ ( )tHhSs ×+×+

Page 130: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Alokační metody• Dány možností přímého přístupu na disk.• Souvislá alokace

– Každý soubor zabírá souvislou množinu bloků na disku. Adresa souboru je pak udána pouze adresou prvního bloku.

– Výhodou je malá pravděpodobnost pohybu hlavou disku.– Nevýhodou je nacházení volného místa pro soubor a obtížná

implementace dynamických změn velikosti souboru (zvětšování).• Spojovaná alokace

– Odstraňuje nevýhody souvislé alokace pospojováním bloků použitých pro soubor.

ýh d h ří j á "h ké" lik i l i í– Nevýhodou tohoto přístupu je ztráta "hezké" velikosti a relativní pomalost při náhodném přístupu do souboru.Ú j FAT kd j ý j t ř l– Úpravou je FAT, kde spojový seznam je tvořen polem na vyhrazeném místě disku.

Page 131: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Indexová alokace - upravuje špatný přímý přístup spojované metody umístěním indexů bloků jednotlivých souborůspojované metody umístěním indexů bloků jednotlivých souborů

pohromadě

Page 132: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Plánování disku

• Čas přístupu na disk je dělen na tři části:– SEEK přesun hlavy na požadovaný cylindr– LATENCY otočení disku na začátek požadovaného

ksektoru– TRANSFER přesun dat z disku/na disk

• Při velkých zátěžích v OS s více procesy nejvíce zpomaluje přístup na disk čas SEEK.

Page 133: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Obsluha požadavků na přístup k diskup p p

Při ři á í ž d k OS di k j ř b• Při vyřizování požadavku OS na disk je potřeba nejprve vystavit hlavy na příslušnou stopu a pak počkat, až bude požadovaný sektor pod hlavami. U víceúlohových systémů mohou přicházet požadavky v ceú o ovýc sys é ů o ou p c e po d v yna disk rychleji, než je možné je vyřizovat. V ři á í ž d ků ř dí j k ři há jí (t• Vyřizování požadavků v pořadí, jak přicházejí (tzv. FIFO nebo FCFS - First In First Out, First Come First Serve), není optimální.

Page 134: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

FCFS (First Come First Served)FCFS (First Come, First Served) • Vhodný pro lehké zátěže• Vhodný pro lehké zátěže.• žádosti v pořadí: 98, 183, 37, 122, 14,

124, 65, 67• hlavy jsou na pozici 53hlavy jsou na pozici 53

14 37 53 65 67 12412298 18314 37 53 65 67 12412298 183

Page 135: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

• Používají se jiné algoritmy (oba lze modifikovat vPoužívají se jiné algoritmy (oba lze modifikovat v případě, že existuje rychlý způsob, jak se dostat na stopu 0):stopu 0):– SSF (Shortest Seek First)

• máme-li hlavu na 50 cylindru a přijdou požadavky na 52, 80, 7, 49, 45 -> SSF -> bude vyřízeno v pořadí 50, 49, 52, 45, 80, 7

• dochází k diskriminaci okrajových cylindrů

– Elevátorový algoritmus ý g• totéž co automatické výtahy (nahoru -> dolů)

• pohyb hlavy je změněn na 50 52 80 49 45 7pohyb hlavy je změněn na 50, 52, 80, 49, 45, 7

Page 136: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

SSTF (Shortest Seek Time First)SSTF (Shortest Seek Time First)• Naplánován je požadavek s nejmenším

relativním pohybem hlavy. • Existuje zde možnost že nastaneExistuje zde možnost, že nastane

starvation.

14 37 53 65 67 12412298 183

Page 137: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

SCAN• Je určen směr pohybu hlav. Z fronty jsou

zpracovávány pouze požadavky postupně vzpracovávány pouze požadavky postupně v určeném směru. Po zpracování

jk j ějšíh ž d k ě h bnejkrajnějšího požadavku se směr pohybu hlav obrátí.

14 37 53 65 67 12412298 183

Page 138: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

C-SCAN (Circular SCAN)C SCAN (Circular SCAN)

• posouvá hlavy pouze v jednom směru a po• posouvá hlavy pouze v jednom směru a po zpracování nejkrajnějšího požadavku přesune hl ě čá khlavy opět na začátek.

14 37 53 65 67 12412298 183

Page 139: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Příklad - zadání Di k t• Disk s parametry– 20 povrchů, 25 sektorů/stopu, 800 stop/povrch

512 slabik/blok 3600 ot/min– 512 slabik/blok, 3600 ot/min,– Rotační zpoždění = 16,7 ms

Průměrná doba vystavení = 28 ms (mezi válci 7 ms)– Průměrná doba vystavení = 28 ms (mezi válci 7 ms)• Slabik/stopu

Slabik/blok x bloků/stopu– Slabik/blok x bloků/stopu– 512 x 25 = 12 800 B = 12,8 kB

• Slabik/povrch• Slabik/povrch– Slabik/stopu x stop/povrch– 12 800 x 800 = 10 240 000 B = 10 24 MB12 800 x 800 10 240 000 B 10,24 MB

• Slabik/svazek– Slabik/povrch x povrchů/svazek– Slabik/povrch x povrchů/svazek– 10,24 x 20 = 204,8 MB

Page 140: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Doba přečtení celého disku sekvenčně ( álel po álci sek enčně)(válel po válci, sekvenčně)

• Doba přečtení stopy : 16,7 ms (doba otočky)Doba přečtení stopy : 16,7 ms (doba otočky)• Doba přečtení válce = doba přečtení stopy x

t / ál 16 7 20 334stop/válec = 16,7 x 20 = 334 ms• Doba přečtení svazku = čtení 800 válců + 799 p

vystavení = 800 x 334 + 799 x 7 = 267200 + 5593= 272793 ms = 272 793 s272793 ms 272,793 s

• Doba odpovídající čtení slabik = 273s/204,8MB = 1,33 ms/KB

Page 141: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Příklad - zadání• Disk s parametry

6000 á ů 200– 6000 záznamů po 200B– 1K sektor– 16 sektorů/stopu– Clustery po 4 sektorechClustery po 4 sektorech– Blokování více záznamů do sektorů

P ů ě á d b í 25– Průměrná doba vystavení = 25 ms– 3600 ot/min, rotační zpoždění = 16,7 ms

• Kolik se obsadí clusterů?• Jak dlo ho se čte cl ster/so bor?• Jak dlouho se čte cluster/soubor?

Page 142: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Řešení• Volí se blokovací faktor 5 (24B fragmentace při

K=1024))• Pak je 20 záznamů/cluster (4 sektory x 5)• A je třeba 300 clusterů (6000 záznamů/20)• A je třeba 300 clusterů (6000 záznamů/20)• Průměrná doba čekání na natočení na cluster =

rotační zpoždění/2= 8ms• Průměrná doba přenesení bloku =1/4stopy= rotační p py

zpoždění/4= 4 ms• Průměrná doba čtení clusteru = průměrná dobaPrůměrná doba čtení clusteru průměrná doba

vystavení 25ms + 8ms + 4 ms = 37 msP ů ě á d b čt í b 300 l t ů 37• Průměrná doba čtení souboru = 300 clusterů x 37 ms = 11,1 s

Page 143: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Windows XP, UNIX (Linux) architektura, vlastnosti, služby,

i t linstalace.

Page 144: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

BIOS – Basic Input Output SystemBIOS Basic Input Output System

• Tvoří rozhraní mezi hardwarem a č í téoperačním systémem

• Provádí úvodní test po spuštění počítačep p p• Umožňuje nastavení základních parametrů

počítačepočítače• Zavádí operační systém

P k j č í é ř dk• Poskytuje operačnímu systému prostředky pro realizaci víceúlohového prostředí

Page 145: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Jádro OS DOS• IO.SYS (IBMBIO.COM) – příkazy a rutiny V/V

operací – načte zaváděcí sektor DOSu do operační p ppaměti a předá řízení – zůstává v paměti (mimo zavaděč)zavaděč)

• MSDOS.SYS (IBMDOS.COM) – interní příkazy a rutiny – zůstává v paměti

• COMMAND. COM – interpretCOMMAND. COM interpret – Rezidentní funkce – trvale v paměti (DIR,CLS..)

T i í f k j ě i í bý– Transientní funkce – nejsou v paměti – musí být přístupné na disku

Page 146: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Komponenty Windows 98p y

Page 147: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Windows XPWindows XP

– 32-bitová architektura Intel,– multi-uživatelský univerzální OS pro PC,– plánování – preemptivní multitasking– aplikace modelu klient-server na více různých úrovních– uplatněná architektura mikrojádrauplatněná architektura mikrojádra

• Klíčové cíle:– portabilita, přenositelnost

b č t l hli t– bezpečnost, spolehlivost– splnění norem POSIX– extensibility, rozšiřitelnost– podpora multiprocessingu– velký výkon– podpora národních klonů– slučitelnost s MS-DOS a MS-Windows aplikacemi

Page 148: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Architektura XP

Page 149: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Základní typy přechodů mezi stavyZákladní typy přechodů mezi stavy rámců

Page 150: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Uspořádání virtuální paměti veUspořádání virtuální paměti ve Windows XP

Page 151: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Princip 2 úrovňové hierarchickéPrincip 2-úrovňové hierarchické tabulky stránek v XPy

Page 152: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Executive – Plug-and-Play Manager

• Plug-and-Play (PnP) manager– používá se k rozpoznání a pro přizpůsobení

systému změnám konfigurace hardware– zařízení a driver musí splňovat PnP standard

• Když se přidá nové zařízení (PCI, USB) y p ( , )zavede PnP manager odpovídající driver

• PnP manager také sleduje zdroje používanéPnP manager také sleduje zdroje používané každým zařízením a zavádí potřebné drivery

Page 153: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Executive – Registry• vnitřní databáze• v jednotlivých úlech se pamatují• v jednotlivých úlech se pamatují

– implicitní preference uživatelů– informace o instalacích softwareinformace o instalacích software– bezpečnostní informace– . . .

• systémový úl se používá při zavádění – proto součást Executive

á j i di k hi i d bá• ex. nástroje pro periodickou archivaci databáze a pro návrat k předchozí verzi po instalaci chybné aplikace třetí stranyaplikace třetí strany

Page 154: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Booting – zavedení systému• zapnutí (energie) → spustí se provádění BIOS z ROM• BIOS identifikuje zařízení ze kterého se bude zavádětBIOS identifikuje zařízení, ze kterého se bude zavádět

zavlékací program – bootstrap loader• BIOS zvede zavlékací program ze zavlékacího sektoru

tohoto zařízenítohoto zařízení• Bootstrap loader zná formát systému souborů a zavede z

kořenového adresáře program NTLDRp g• NTLDR

– ze zavlékacího zařízení (boot device) zavede knihovnu HAL, jádro a systémový úl (registry)a systémový úl (registry)

– určí ze systémového úlu driver zařízení pro zavedení operačního systému (boot driver) a zavede jej a spustí jádro

. . .

Page 155: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Systém souborů

• alokační blok se nazývá clusterl t j t ř ji tý čt kt ů délk– cluster je tvořen jistým počtem sektorů, délka =

mocnina 2(sektor pro HD < 1 GB 1 KB pro 1 GB HD 2K pro 2(sektor pro HD < 1 GB, 1 KB pro 1 GB HD, 2K pro 2 GB HD,4 KB pro 4 GB, 32 KB pro 32 GB, 128 KB pro větší disky )

– má délku menší, než by si vynucovalo použití 16-bitové FAT vzhledem ke kapacitám používaných diskůFAT vzhledem ke kapacitám používaných disků (desítky GB),

– je tudíž minimalizovaná vnitřní fragmentaceje ud ov v g e ce

Page 156: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

NTFS — vnitřní uspořádání• diskové adresy NTFS: pořadová čísla – logical cluster numbers

(LCNs)• soubor v NTFS

– není prostým proudem bytů jako vMS-DOS nebo v UNIXu,– je spíše strukturovaným objektem tvořeným atributy

(pojmenované atributy – jméno, přístupová práva, doba vytvoření, . . .nepojmenované atributy – data)

– je popsaný jedním nebo několika záznamy v poli (,,řádku”) uchovávaném ve speciálním souboru ( tabulce”) Master File Table (MFT)ve speciálním souboru (,,tabulce ) – Master File Table (MFT)

– zobrazení souboru –• rezidentní atributy (definice a méně rozsáhlá data) v záznamech MFT• nerezidentní atributy (nerezidentní vůči MFT) – rozsáhlé datové atributy v y ( ) y

externích alokačních blocích referencovaných z rezidentních atributů

Page 157: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

NTFS — vnitřní uspořádáníKaždý soubor na NTFS svazku má

• vnější jméno (až 255 znaků) a• jedinečné vnitřní jméno, ID, file reference:

– 64-bitové hodnota tvořená• 48-bitovým číslem souboru

(pořadové číslo definičního záznamu souboru v MFT) a• 16-bitovým pořadovým číslem inkrementovaným každým použitím záznamu

MFT(lze použít k provádění vnitřních kontrol konzistence)( p p )

• prostor jmen NTFS je organizován do hierarchie adresářů– index jmen v každém adresáři má strukturu B+-stromu– v listech B+-stromu jsou vedle ukazatelů na data zopakovány atributy typu j p y y yp

jméno, rozměr, doba vytvoření (pro výpisy)– rychlé prohlížení – jména souborů jsou tříděná, doba prohlížení neroste

lineárně s růstem počtem souboru

Page 158: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

Vnitřní struktura OS

UNIX

Page 159: Architektura operačních systémů · Architektura operačních systémů, vrstvená struktura, vlastnosti a f k kl ifikfunkce, klasifikace. Abstraktní pohled na systémové komponenty

StavyStavy procesuprocesu


Recommended