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

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

Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.

Podobné prezentace


Prezentace na téma: "Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem."— Transkript prezentace:

1 Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem ČR. Název SŠ:SOU Uherský Brod Autoři:Ing. Radim Bublík Název prezentace: (DUMu) Správa paměti III. Tematická oblast:Operační systémy Ročník: 1. ročník oboru Mechanik opravář motorových vozidel Číslo projektu:CZ.1.07/1.5.00/34.0369 Datum vzniku:16. 3. 2013

2  Záměrem této sady výukových materiálů s názvem Operační systémy je poskytnout žákům potřebné informace o logické struktuře a fundamentálních principech fungování moderních operačních systémů, s nimiž (nebo jejich obdobami) se budou velmi pravděpodobně setkávat po celý svůj život.  Jednotlivé DUMy (prezentace a pracovní listy) v této sadě pokrývají vybrané tematické oblasti, které jsou probírány v předmětu Informační a komunikační technologie na naší SŠ.  Tato prezentace je konkrétně zaměřena na tematický celek Správa paměti.

3 Jednalo se o jistou optimalizaci předešlé metody: nyní se velikost přiděleného bloku určuje až při žádosti procesu o paměť. Počet a délka bloků se zde neustále mění a tedy nelze již tyto informace udržovat v jednoduché tabulce. Místo tohoto řešení je zde udržován dynamický spojový seznam (viz schéma dále), který užívá hlavičky bloků k uložení režijních informací (typicky informace o vlastníkovi bloku a adresa počátku následujícího bloku). Paměť vyhrazená pro hlavičku bloku není procesu přístupná (ani o ní neví). pokud proces požádá o přístup do “své” paměti, k jeho adresovému prostoru se dostaneme tak, že od prvního bloku postupujeme po ukazatelích na následující bloky a postupně kontrolujeme informace v hlavičkách, až nalezneme blok, který hledáme. Stejně postupujeme i v případě, kdy hledáme volný blok pro přidělení nově spuštěnému procesu. Při uvolňování bloku se buď jen změní informace o vlastníkovi (je-li obklopen využívanými bloky) a nebo se spojí s volnými bloky, které jej obklopují. [1]

4 Výhody:  všechny výhody předešlé metody (i když správa paměti je o něco náročnější a vyhledávání bloku pomalejší)  částečně odstraňuje nevýhody předchozí metody Nevýhody:  počet procesů, které lze spustit, je limitován požadavky již spuštěných procesů  pokud je paměť fragmentována, je maximální velikost požadavku na paměť limitována velikostí největšího volného bloku  určitá pravděpodobnost fragmentace [1]

5 Každému procesu je přiřazeno několik (různě dlouhých) bloků paměti, segmentů. Pokud je to třeba (a je v daném směru volná paměť), lze segmenty prodlužovat. Každý segment obvykle mívá určitý účel, např. segment pro kód procesu (code segment), datový segment (data segment, jeden nebo více - segment pro proměnné s dynamickou délkou se obvykle nazývá halda), zásobníkový segment (stack segment, obsazuje se od nejvyšších adres k nejnižším), překryvný segment (overlay segment, např. pro dynamické knihovny). Některé segmenty jsou plně konstantní (code segment např.), jiné mají konstantní délku, ale proměnný obsah (zásobník). To lze zohlednit při umisťování segmentů v paměti a řešení fragmentace. Procesy, které jsou instancemi téhož programu, mohou sdílet plně konstantní segmenty (pokud to OS umožňuje). [1]

6 Procesy používají relativní adresy, adresy začátku jednotlivých segmentů jsou uloženy v segmentových registrech procesoru (tedy je to opět HW závislé řešení - každý procesor má jiné registry). Absolutní adresa je pak vypočtena pomocí obsahu segmentových registrů. Adresa objektu z hlediska procesu má tedy dvě části:  segment (určení, ve kterém segmentu se nachází)  offset (relativní adresa v rámci segmentu, první Byte v segmentu má offset = 0) Případné přesouvání segmentu nezpůsobí procesu problém s adresami. Je nutné zajišťovat mapování relativní adresy v segmentu na absolutní adresu. Je-li implementován multitasking, je nutné při “výměně” procesů na procesoru uložit obsah segmentových registrů odstavovaného procesu a při znovupřidělení procesoru tomuto procesu znovu tyto hodnoty do registru načíst. [1]

7 Výhody:  velikost segmentů může být různá, podle potřeby procesu  segmenty je možné prodlužovat a přesouvat  pokud to správce paměti umožní, některé segmenty lze sdílet Nevýhody:  nutnost HW podpory (segmentové registry)  ochrana paměti je komplikovanější (segmenty mají proměnnou délku)  paměť, kterou lze dalšímu procesu přidělit, je omezena velikostí největšího souvislého bloku volné paměti  určitá pravděpodobnost fragmentace, lze ji řešit přesouváním segmentů [1]

8 Tato metoda rozlišuje fyzickou adresu objektu v paměti (to je absolutní adresa objektu) a logickou adresu tohoto objektu (s tou pracují procesy). Paměťový prostor je rozdělen na stejně dlouhé úseky: stránky, pokud možno spíše kratší (obvykle 1kB nebo více), procesu je přiděleno tolik úseků, kolik potřebuje. Procesu se jeho adresový prostor jeví jako spojitý, třebaže fyzicky spojitý být nemusí, používá z jeho hlediska “absolutní adresy”, které jsou ve skutečnosti pouze logickými adresami (od nuly) nebo se jako v případě segmentace paměti skládají ze dvou částí - čísla stránky a relativní adresy uvnitř stránky. Máme zde konstantní počet stránek (paměť je opět rozdělena již při startu OS) a navíc jsou všechny stejně dlouhé, tedy opět můžeme evidenci stránek vést ve dvou jednoduchých tabulkách (evidence procesů a obsazení paměti, viz dále). Při jakémkoliv přístupu do paměti správce paměti provádí překlad adres: číslo stránky * délka stránky + offset [1]

9 [1]

10 Výhody:  proces může dostat tolik stránek, kolik potřebuje (pokud jsou volné), stránky nemusí na sebe navazovat  nejsou problémy s fragmentací Nevýhody:  fragmentace uvnitř stránek (proces nemusí potřebovat celou poslední stránku)  omezení daná velikostí fyzického adresovacího prostoru [1]

11 [1] VAVREČKOVÁ, Šárka. SLEZSKÁ UNIVERZITA V OPAVE. Operační systémy: Přednášky [online]. 2006, 2012-15-11 [cit. 2013-03-16]. Dostupné z: http://axpsu.fpf.slu.cz/~vav10ui/obsahy/os/ospredn/ospredn.pdf


Stáhnout ppt "Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem."

Podobné prezentace


Reklamy Google