Pam Funkce modulu sprvce pamti Udruje informace o

  • Slides: 22
Download presentation
Paměť

Paměť

Funkce modulu správce paměti Udržuje informace o využití paměti Přiděluje paměť procesům Paměť, kterou

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

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ěť) 1 k. B RAM paměť , 1982 1 GB RAM paměť , 2009

Adresování Absolutní adresa Relativní adresa

Adresování Absolutní adresa Relativní adresa

Adresový prostor Fyzický adresový prostor Logický adresový prostor LAP <= FAP reálné přidělování paměti

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ů

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 Nevyužitá paměť Paměť procesu Mezní registr Paměť OS $0000

Přidělování jedné souvislé oblasti paměti Nevyužitá paměť Paměť procesu Mezní registr Paměť OS $0000

Swapování Celá paměť od mezního registru nahoru je uložena do vnější paměti (na pevný

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 Volná paměť nevyužito Přiděleno procesu 2 Používá proces 2 nevyužito

Přidělování bloků pevné velikosti Volná paměť nevyužito Přiděleno procesu 2 Používá proces 2 nevyužito Přiděleno procesu 1 Používá proces 1 Paměť OS

Přidělování bloků proměnné velikosti (dynamické přidělování paměti) Volná paměť null Používá proces 2 Používá

Přidělování bloků proměnné velikosti (dynamické přidělování paměti) Volná paměť null Používá proces 2 Používá proces 1 Paměť OS

Segmentace Každý proces má přiděleno několik nezávislých segmentů, například Kód procesu (pevná délka, pevný

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 Registry procesoru zásobník SS Volná paměť ES Rozšířená data kód Paměť OS DS

Segmentace Registry procesoru zásobník SS Volná paměť ES Rozšířená data kód Paměť OS DS CS

Stránkování Paměťový prostor procesu je rozdělen na stejně dlouhé úseky – stránky (např. 4096

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í paměť Tabulka obsazení paměti 7 0 volno 6 1 Proces 1 5 2

Stránkování paměť Tabulka obsazení paměti 7 0 volno 6 1 Proces 1 5 2 Proces 2 4 3 Proces 3 3 4 Proces 1 2 5 Volno 1 6 Proces 2 0

Výběr vhodného místa paměti proces Předcházíme fragmentaci paměti Metody First fit (první souvislý blok,

Výběr vhodného místa paměti 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

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ěť https: //www. youtube. com/watch? v=bjcr. HN 3 M 3 K 0

Virtuální paměť https: //www. youtube. com/watch? v=bjcr. HN 3 M 3 K 0

Virtuální paměť Fyzická paměť rozdělena na rámce (fyzické kolejnice) Logická paměť rozdělena na stránky

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 Stránka 7 Rámec 4 Rámec 3 Stránka 6 Stránka

Virtuální paměť, stránkování na žádost Stránka 7 Rámec 4 Rámec 3 Stránka 6 Stránka 5 Stránka 4 Rámec 2 Stránka 3 Rámec 1 Stránka 2 Rámec 0 Stránka 1 Stránka 0 Vnější paměť

Proces žádá o stránku 4 Stránka 7 Rámec 4 Rámec 3 Stránka 6 Stránka

Proces žádá o stránku 4 Stránka 7 Rámec 4 Rámec 3 Stránka 6 Stránka 5 Stránka 4 Rámec 2 Stránka 3 Rámec 1 Stránka 2 Rámec 0 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

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 Rámec 3 Stránka 7 Rámec 2 Stránka 6 Rámec

Segmentace se stránkováním na žádost Rámec 3 Stránka 7 Rámec 2 Stránka 6 Rámec 1 Stránka 5 Rámec 0 Stránka 4 kód Proces 1 data zásobník Stránka 3 Vnější paměť Stránka 2 Stránka 1 Stránka 0 kód data zásobník Proces 2