Zarządzanie pamięcią

Nasza ocena:

3
Pobrań: 35
Wyświetleń: 763
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Zarządzanie pamięcią - strona 1 Zarządzanie pamięcią - strona 2 Zarządzanie pamięcią - strona 3

Fragment notatki:


Systemy operacyjne wykład 7. Zarządzanie pamięcią Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 1.2 Wykład 7. – zarządzanie pamięcią • Wprowadzenie • Wymiana • Przydział ciągły pamięci • Stronicowanie • Struktura tablicy stron • Segmentacja • Przykład : Intel Pentium Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 1.3 Cel wykładu • Szczegółowy opis róŜnych sposobów organizacji sprzętu pamięci • Przedyskutowanie róŜnych technik zarządzania pamięcią włączając  stronicowanie i segmentację • Szczegółowy opis zarządzania pamięcią przez procesor Intel Pentium, który  wykorzystuje zarówno samą segmentację jak i segmentację ze  stronicowaniem Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 1.4 Podstawy • Program musi być pobrany (z dysku) i umieszczony w pamięci w procesie,  aby mógł być wykonany • Pamięć główna i rejestry są jedynymi nośnikami danych do których CPU ma  bezpośredni dostęp • Dostęp do rejestru w jednym (lub mniej) cyklu zegara • Dostęp do pamięci głównej moŜe zajmować więcej cykli • Pamięć podręczna  znajduje się pomiędzy pamięcią główną, a rejestrami  CPU • Ochrona pamięci jest niezbędna do zagwarantowania poprawnej pracy Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 1.5 Rejestr bazowy i graniczny • Para rejestrów ( bazowy  i  graniczny ) definiuje przestrzeń adresów  logicznych Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009 1.6 Wiązanie ( binding ) adresów • Wiązanie adresów instrukcji i danych z adresami w pamięci moŜe zostać  wykonane na trzech róŜnych etapach – Faza kompilacji :  JeŜeli podczas kompilacji znamy adres w pamięci,  gdzie proces będzie umieszczony moŜna wygenerować kod bezwzględny ( absolute code) ; konieczność rekompilacji w przypadku zmiany adresu  początkowego – Faza ładowania :  JeŜeli lokalizacja procesu w pamięci nie jest znana  podczas kompilacji, trzeba wygenerować kod relokowalny ( relocatable code) – Faza wykonania :  JeŜeli proces moŜe być przemieszczany z jednego  segmentu pamięci do drugiego podczas swojego wykonania, powiązanie  musi zostać odłoŜone aŜ do czasu wykonania. Wymaga specjalnego 

(…)


Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.31
Strony dzielone
• Dzielony kod
– Jedna kopia kodu wznawialnego (reentrant) kodu typu read-only
współdzielona przez wiele procesów (np.: edytory tekstu, kompilatory,
systemy okienek).
– Współdzielony kod musi się pojawić pod tym samym adresem w
logicznej przestrzenie adresowej wszystkich procesów…
… Edition, Silberschatz, Galvin and Gagne ©2009
1.6
Wieloetapowe przetwarzanie programu
uŜytkownika
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.7
Logiczna i fizyczna przestrzeń adresowa
• Koncepcja logicznej przestrzeni adresowej związanej z oddzielną fizyczną
przestrzenią adresową (physical address space) jest sednem właściwego
zarządzania pamięcią…
… jest w
przestrzeni adresowej procesu
• Konsolidacja dynamiczna jest szczególnie uŜyteczna w przypadku dołączania
bibliotek
• System zwany bibliotekami dzielonymi - shared libraries
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.12
Wymiana ( Swapping)



Proces moŜe zostać odesłany/wymieniony (swapped) z pamięci do pamięci
pomocniczej a później sprowadzony…

– Logiczna przestrzeń adresowa o rozmiarze 2m i rozmiarze strony 2n
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.21
Sprzęt stronicujący
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.22
Model stronicowania pamięci logicznej i
fizycznej
Opracowano na podst.: Operating System Concepts – 8th Edition…
… System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.27
Sprzęt stronicujący z TLB
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.28
Efektywny czas dostępu do pamięci
• Czas przeszukiwania pamięci asocjacyjnej = ε
• Zakładamy czas dostepu do pamięci 1 mikrosekunda
• Współczynnik trafień (Hit ratio) – procent numerów stron odnajdywanych w
TLB; wielkość zaleŜna od liczby buforów asocjacyjnych
• Współczynnik trafień = α
• Efektywny czas dostępu (Effective Access Time) (EAT):
EAT = (1 + ε) α + (2 + ε)(1 – α)
=2+ε–α
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.29
Ochrona pamięci
• Ochrona pamięci zaimplementowana za pomocą przypisania bitu ochrony z
kaŜdej ramce
• Bit…
…; trzeba równieŜ przeszukiwać całą listę
• Pozostawia największą pozostałość (dziurę w pamięci) po przydziale
• Strategie wyboru pierwszego lub najlepszego dopasowania są lepsze od
najgorszego dopasowania pod względem szybkości i zuŜycia pamięci
Opracowano na podst.: Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009
1.18
Fragmentacja
• Fragmentacja zewnętrzna (External Fragmentation…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz