Struktura operačních systémů
Jan 21, 2016
Struktura operačních systémů
Monolitická struktura
• Vše tvořeno jedním souborem• Starší operační systémy• Jednoduchá zařízení (tiskárny, navigace, …)
Vrstvená struktura
Virtuální počítače
Holý počítač
Prostředí 1Prostředí 2
Prostředí 3
Operační systém
Modulární architektura
Modul 1Modul 2
Modul klient - server
Systém MS-DOS
• BIOS• IO.sys - obsluha periferií• MSDOS.sys - jádro systému• COMMAND.com - textové uživatelské
rozhraní• CONFIG.sys - Konfiurace hardware• AUTOEXEC.bat – Programy spuštěné po startu
systému
MS DOS
Windows jako nadstavba DOS (3.1)
Windows jako nadstavba DOS (3.1)
• Operační systém MS DOS• WIN.com - Program Windows• Řadiče periferií pro Windows• Win386.exe - využití paměti nad 16 kB• Jádro windows – Krnl386.exe - správa paměti– Gdi.exe - základní grafická zařízení (kurzor, písmo,
…)– User.exe – správce oken
Windows jako nadstavba DOS (3.1)
• Win.ini - konfigurace software• Systém.ini - konfigurace hardware• Progman.exe – správce programů (uživatelské
rozhraní)• VM DOS - virtuální počítač pro DOS
Windows s DOS jádrem (95)
Windows s DOS jádrem (95)
• IFSM – správa systémů souborů• VMM - správa periferií• Správce konfigurace zařízení Plug&Play• Registr – nahrazuje inicializační soubory• Aplikace win32, aplikace MS DOS – virtuální
počítače• Aplikace Win16 – přímo spravuje OS.
Windows NT a dále
UNIX
Správa paměti
Vnitřní (operační paměť)
Funkce modulu správce paměti
• Udržuje informace o využití paměti• Přiděluje paměť procesům• Paměť, kterou procesy uvolní, přidá k volné
paměti• Je-li třeba, odebírá paměť procesům• Rozpozná případy, kdy proces skončí bez
uvolnění paměti (např. násilné ukončení)• Zajišťuje ochranu paměti (nedovolí procesům
přístup mimo vymezený prostor)
Operační paměť
• Obvykle umístěna na základní desce
• Některé části mohou být na rozšiřujících deskách (např. videopaměť)
1kB RAM paměť , 1982
1GB RAM paměť , 2009
Adresování
• Absolutní adresa• Relativní adresa
Adresový prostor
• Fyzický adresový prostor• Logický adresový prostor
• LAP <= FAP reálné přidělování paměti• LAP > FAP virtuální přidělování paměti
Reálné metody přidělování paměti
• Přidělení jedné souvislé oblasti• Přidělení bloků pevné velikosti• Přidělení bloků proměnné velikosti• Segmentace• Stránkování
Přidělování jedné souvislé oblasti paměti
Paměť OS
Paměť procesu
Nevyužitá paměť
$0000
Mezní registr
Swapování
• Celá paměť od mezního registru nahoru je uložena do vnější paměti (na pevný disk).
• Princip zásobníku• Multiprogramový systém (ne multiprocesní)• Některé nadstavby MS DOSu, Windows 2
Přidělování bloků pevné velikosti
Paměť OS
Používá proces 1
nevyužito
nevyužito
Používá proces 2
Volná paměť
Přiděleno procesu 1
Přiděleno procesu 2
Přidělování bloků proměnné velikosti (dynamické přidělování paměti)
Paměť OS
Používá proces 1
Používá proces 2
Volná paměťnull
Segmentace
• Každý proces má přiděleno několik nezávislých segmentů, například– Kód procesu (pevná délka, pevný obsah)– Globální konstanty (pevná délka, pevný obsah)– Globální proměnné (pevná délka, proměnný
obsah)– Zásobník (proměnná délka i obsah)
Segmentace
Paměť OS
kód
data
Rozšířená data
Volná paměť
zásobník
SS
ES
DS
CS
Registry procesoru
Stránkování
• Paměťový prostor procesu je rozdělen na stejně dlouhé úseky – stránky (např. 4096 B)
• Procesu se prostor jeví jako spojitý, je logicky spojitý, logické adresy jsou z intervalu <0,počet stránek x velikost stránky>
• Fyzicky jsou stránky na různých místech paměti, fyzicky je adresový prostro procesu nespojitý
Stránkování
7
6
5
4
3
2
1
0
0 volno
1 Proces 1
2 Proces 2
3 Proces 3
4 Proces 1
5 Volno
6 Proces 2
Tabulka obsazení pamětipaměť
Výběr vhodného místa paměti pro proces
• Předcházíme fragmentaci paměti• Metody– First fit (první souvislý blok, do kterého se
požadavek vejde)– Best fit (blok s nejblíže vyšší velikostí, než je
požadavek)– Last fit– Worst fit (největší volný blok)– …
Setřásání paměti
• Řešení již vzniklé fragmentace• Obvykle časově náročné• Používá se jen v nutných případech, tj. když
nelze nalézt souvislý blok požadované velikosti• Správce paměti informuje každý proces o
změně fyzického paměťového prostoru• Tato zpráva má větší prioritu než jakákoliv
činnost procesu
Virtuální paměť
• http://www.youtube.com/watch?v=59t_0uYbeL8
Virtuální paměť
• Fyzická paměť rozdělena na rámce (fyzické kolejnice)
• Logická paměť rozdělena na stránky (místa pro uložení kolejnic)
• Stránka má buď– Přidělen rámec, nebo– Je odložena (do vnější paměti)
• Některé stránky nelze odložit (systémové procesy)
Virtuální paměť, stránkování na žádost
Rámec 4
Rámec 3
Rámec 2
Rámec 1
Rámec 0
Stránka 7
Stránka 6
Stránka 5
Stránka 4
Stránka 3
Stránka 2
Stránka 1
Stránka 0
Vnější paměť
Proces žádá o stránku 4
Rámec 4
Rámec 3
Rámec 2
Rámec 1
Rámec 0
Stránka 7
Stránka 6
Stránka 5
Stránka 4
Stránka 3
Stránka 2
Stránka 1
Stránka 0
Vnější paměť
Metody výběru oběti
• FIFO – Je odložena stránka, která má rámec přidělen nejdéle
• LIFO• LFU = Less Frequently Used• LRU = Last Recently Used• NRU = Not Used Recently (hodinový
algoritmus cyklicky prochází stránky a nuluje jejich used bit
Segmentace se stránkováním na žádost
Proces 1
Proces 2
kód
data
zásobník
kód
data
zásobník
Stránka 7
Stránka 6
Stránka 5
Stránka 4
Stránka 3
Stránka 2
Stránka 1
Stránka 0
Rámec 3
Rámec 2
Rámec 1
Rámec 0
Vnější paměť