Zarządzanie pamięcią operacyjną

background image

ZARZĄDZANIE

PAMIĘCIĄ

OPERACYJNĄ

I PAMIĘĆ

WIRTUALNA

Szymon Kuczaj

background image

PAMIĘĆ JAKO ZASÓB DLA SYSTEMU
SYSTEMU KOMPUTEROWEGO

Pamięć jest zasobem służący do
przechowywania danych i programów.

Z punktu widzenia systemu pamięć jest
zasobem

o strukturze hierarchicznej (począwszy od
rejestrów procesora, przez pamięć

podręczną,

pamięć główną, skończywszy na pamięci
masowej), w której na wyższym poziomie
przechowywane są dane, stanowiące

fragment

zawartości poziomu niższego.

Szymon Kuczaj

background image

HIERARCHIA PAMIĘCI

Szymon Kuczaj

Pamięć I rzędu:

•rejestry

•Pamięć podręczna

•pamięć główna

Pamięć II rzędu:

•dysk magnetyczny

•taśmy dyski
optyczne

background image

PODZIAŁ PAMIĘCI

Podział stały:

partycje o równym rozmiarze,

partycje o różnych rozmiarach

Podział dynamiczny.
Podział na bloki bliźniacze
(zwany też metodą sąsiedzkich stert).

Szymon Kuczaj

background image

PODZIAŁ STAŁY

Podział pamięci na stałe obszary (strefy,
partycje),których rozmiar i położenie
ustalane są na etapie konfiguracji systemu.

Przydział całego obszaru o rozmiarze
większym lub równym zapotrzebowaniu,
określonym w żądaniu.

Zalety: łatwość implementacji i zarządzania.

Wady: słaba efektywność wykorzystania
pamięci (fragmentacja wewnętrzna,
ograniczona odgórnie liczba jednocześnie
przydzielonych partycji).

Szymon Kuczaj

background image

OGÓLNY OBRAZ PAMIĘCI
FIZYCZNEJ

Szymon Kuczaj

background image

PODZIAŁ STAŁY

partycje o równym rozmiarze

problem zbyt małych partycji

Partycje o różnych rozmiarach

Szymon Kuczaj

background image

PODZIAŁ DYNAMICZNY

Podział pamięci tworzony jest w czasie pracy
systemu stosownie do żądań procesów.

Proces ładowany jest w obszar o rozmiarze
dosyć dokładnie odpowiadającym jego
wymaganiom.

Zalety:

lepsze wykorzystanie pamięci (brak

fragmentacji wewnętrznej).

Wady:

skomplikowane zarządzanie,

wynikające z konieczności utrzymywania
odpowiednich struktur danych w celu
identyfikacji obszarów zajętych oraz
wolnych.

Szymon Kuczaj

background image

OBRAZ PROCESU W
PAMIĘCI

Tworzenie obrazu:

– Kompilacja
– Konsolidacja
– Ładowanie kodu

• Relokacja

• Ochrona

• Współdzielenie

Szymon Kuczaj

background image

TRANSLACJA

W wyniku translacji (kompilacja,
asemblacja) powstaje przemieszczalny
moduł wynikowy (relocatable object
module), w którym wszystkie adresy
liczone są względem adresu początku
modułu.

Gdyby program składał się z jednego
modułu, a jego docelowa lokalizacja w
pamięci była z góry znana, na etapie
translacji mogłyby zostać
wygenerowane adresy fizyczne.

Szymon Kuczaj

background image

WSPÓŁDZIELENIE PAMIĘCI

EFEKTYWNOŚĆ

Efektywność wykorzystania pamięci:

współdzielenie kodu programu,

współdzielenie kodu funkcji
bibliotecznych

Kooperacja procesów:

synchronizacja działań procesów,

komunikacja pomiędzy procesami
(współdzielenie danych).

Szymon Kuczaj

background image

OCHRONA PAMIĘCI

Weryfikacja poprawności adresu pod
kątem zakresu dopuszczalności.

Weryfikacja praw dostępu:

– prawa zapisu,
– prawa odczytu,
– prawa wykonania.

Szymon Kuczaj

background image

STRONICOWANIE

Arbitralny podział pamięci fizycznej na ramki, w
któreladowane są odpowiednie strony obrazu
procesu.

Podział logicznej przestrzeni adresowej na strony o
takim samym rozmiarze, jak ramki w pamięci
fizycznej.

Zalety:

– brak problemu fragmentacji zewnętrznej,
– wspomaganie dla współdzielenia i ochrony pamięci.

Wady:

– narzut czasowy przy transformacji adresu,
– narzut pamięciowy (na potrzeby tablicy stron),
– fragmentacja wewnętrzna (niewielka).

Szymon Kuczaj

background image

PAMIĘĆ WIRTUALNA

technika pamięci wirtualnej albo logicznej
(virtual/logical memory) pozwala, po
zaimplementowaniu w komputerze i jego systemie
operacyjnym, na wykorzystywanie wielkich obszarow
pamięci, większych od pamięci fizycznej to pozornie
paradoksalne zachowanie się jest możliwe dzięki
temu, że system mapuje wirtualne adresy
wykorzystywane przez programistę w rzeczywiste
adresy sprzętowe, wykorzystując urządzenia o wielkiej
pojemności, takie jak dyski magnetyczne na pierwszy
rzut oka może się więc wydawać, że system
udostępnia więcej pamięci niż jej sam posiada
przełączanie (swapping) pomiędzy aktywną pamięcią
(RAM) i dyskiem lub innym
urządzeniem, następuje w
porcjach nazywanych stronami (pages) o rozmiarach
od 1kB do wielu MB

Szymon Kuczaj

background image

WIELOPROGRAMOWOŚĆ WYMAGA

UTRZYMYWANIA W PAMIĘCI WIELU

PROCESÓW

wieloprogramowość (multiprogramming)
jest
szczątkową postacią przetwarzania
równoległego (parallel processing), czyli
jednoczesnego
uruchomienia wielu
programów na maszynie
jednoprocesorowej; ponieważ jednak
maszyna jest jednoprocesorowa, nie ma
mowy o naprawdę równoczesnym
przetwarzaniu, lecz jedynie o przełączaniu
procesora pomiędzy programami

Szymon Kuczaj

background image

NAKŁADKOWANIE

ponadto programista, mając do czynienia z utworzoną w

technice pamięci wirtualnej pamięcią logiczną o
jednolitej i czytelnej strukturze, nie musi tracić czasu na
borykanie się z ograniczeniami związanymi z
akcydentalną strukturą pamięci Fizycznej jak
wspomniano, na pierwszy rzut oka wydaje się
nieuniknione umieszczenie wykonywanego kodu w
pamięci fizycznej - można na przykład umieścić tam (o ile
się zmieści) całą logiczną przestrzeń adresową co jednak
zrobić, jeśli proces jest większy od dostępnych zasobow
RAM? jednym ze sposobow na to, aby proces mogł być
większy od przydzielonej mu pamięci, jest technika
nakładek (overlays) nakładkowanie polega na
przechowywaniu w pamięci tylko stale potrzebnych
rozkazow i danych; inne rozkazy wprowadzane są tylko w
razie potrzeby a następnie usuwane, gdy okażą się (być
może tylko chwilowo) zbyteczne

Szymon Kuczaj

background image

ŁADOWANIE
DYNAMICZNE

sposobem lepszego wykorzystania pamięci jest

ładowanie dynamiczne(dynamic loading)
podprogram jest tym razem wprowadzany do
pamięci dopiero wówczas, gdy zostanie wywołany
(podprogramy w formie przemieszczalnej są
przechowywane na dysku) ładowanie dynamiczne,
podobnie jak nakładkowanie, nie wymaga
specjalnego wsparcia SO, oprocz być może
dostarczania procedur bibliotecznych do wykonania
zadania odpowiedni plan programu wykonuje
użytkownik/programista zarowno nakładkowanie
jak i ładowanie dynamiczne pozwalają w zasadzie
wykonywać programy większe od rozmiaru pamięci
fizycznej, jednak kosztem dodatkowej pracy
użytkownika

Szymon Kuczaj

background image

wspomnieliśmy przy okazji omawiania
nakładek, że nie cały program musi być w
pamięci w tym samym czasie zwykle tylko
część programu wymaga przebywania w
pamięci podczas wykonywania; oszczędzać
można miejsce między innymi dzięki temu, że:

program może używać zajmujących dużo
miejsca a bardzo rzadko używanych procedur
obsługi bledów

programiści często z zapasem przydzielają
miejsce na tablice, listy, etc.

Nie które możliwości programu prawie nigdy
nie są wykorzystywane

Szymon Kuczaj


Document Outline


Wyszukiwarka

Podobne podstrony:
8 Systemy Operacyjne 21 12 2010 Zarządzanie Pamięcią Operacyjną
9 Systemy Operacyjne 04 01 2011 Zarządzanie Pamięcią Operacyjną2
Zarządzanie pamięcią operacyjną
2006 08 Zarządzanie pamięcią w systemach operacyjnych [Inzynieria Oprogramowania]
SO Zarządzanie pamięcią w systemach operacyjnych
Stacjonarne II rok I st. B Zarzadzanie i ewidencja operacji gospodarczych 00-00.00.2012
Przenoszenie plików systemowych do pamięci operacyjnej
zarządznie pamięcią
Zarządzanie strategiczne i operacyjne
Frontex, Frontex (Europejska Agencja Zarządzania Współpracą Operacyjną na Zewnętrznych Granicach Pań
PAMIECI OPERACYJNE QULCAZM6ZU7S Nieznany
C Wyklady, Zarzadzanie Pamiecia
Pamięć operacyjna
Katechizm WINDOWS, 11 Pamięć operacyjna

więcej podobnych podstron