pamięćk.pdf
(
362 KB
)
Pobierz
Systemy Operacyjne
Zarządzanie pamięcią
•Podstawy.
•Wymiana
(swapping)
.
•Przydział ciągły pamięci.
• Stronicowanie.
• Segmentacja.
• Segmentacja ze stronicowaniem.
Podstawy
•
Pamięć operacyjna
lub
główna
(main memory)
jest wielką tablicą
oznaczonych adresami słów lub bajtów.
• Aby program mógł być
wykonywany
, musi zostać umieszczony w procesie i
wprowadzony do pamięci operacyjnej
.
• Zbiór procesów czekających na dysku na wprowadzenie do pamięci w celu
wykonania tworzy
kolejkę wejściową
(input queue).
• Jeden z procesów zostaje wybrany i załadowany do pamięci; podczas
wykonywania pobiera
rozkazy
i
dane
z
pamięci
, a po zakończeniu
zwalnia
zajmowaną
pamięć
.
•Wększość systemów pozwala procesowi użytkownika przebywać w
dowolnej części
pamięci fizycznej – wpływa to na zakres adresów
dostępnych dla procesu.
• Program użytkownika przechodzi kilka
faz
zanim zostanie wykonany –
podczas tych faz
reprezentacja adresów
może ulegać
zmianie
.
• W programie źródłowym adresy wyrażone są w sposób
symboliczny
(np.
licznik
) –
kompilator
na ogół
wiąże
je z
adresami względnymi
, a
linker
(
konsolidator
) wiąże dalej te adresy względne z
adresami bezwzględnymi
.
Wiązanie adresów
Wiązanie
rozkazów
i
danych
z
adresami pamięci
może być dokonane
w dowolnym z trzech kroków:
Wiązanie adresów
Program
źródłowy
1.
Faza kompilacji:
Jeżeli
a priori
znane
jest miejsce, w którym proces będzie
przebywał w pamięci, to można
wygenerować
kod bezwzględny
(absolute code)
;
zmiana położenia kodu
w pamięci wymaga jego rekompilacji.
Kompilator
lub asembler
Faza
kompilacji
Inne
moduły
wynikowe
Moduł
wynikowy
2.
Faza ładowania:
Jeżeli przyszłe
położenie procesu w pamięci nie jest
znane podczas kompilacji, to kompilator
musi generować
kod przemieszczalny
(relocatable code);
wiązanie
adresów
następuje w czasie
ładowania
kodu.
Konsolidator
systemowa
Moduł
ładowalny
Faza
ładowania
Program
ładujący
3.
Faza wykonania:
Jeżeli proces podczas
wykonania może być przemieszczany w
pamięci, to wiązanie adresów musi być
opóźnione do czasu wykonania –
wymaga to specjalnego sprzętu
(
stosowane w większości systemów
).
Biblioteka
systemowa
ładowana
dynamicznie
Obraz binarny
utworzony
w pamięci
Faza
wyko-
nania
Łączenie
dynamiczne
Inne
Biblioteka
Logiczna i fizyczna przestrzeń adresowa
•
Adresy logiczne (wirtualne)
– adresy generowane przez CPU.
•
Adresy fizyczne
– adresy widziane przez jednostkę pamięci.
• Adresy logiczne i fizyczne są:
takie same
–w schematach wiązania adresów podczas
kompilacji
i
ładowania
;
różne
–w schematach wiązania adresów podczas
wykonywania
.
• Zbiór wszystkich adresów logicznych generowanych przez
program nazywa się
logiczną przestrzenią adresową
, a zbiór
odpowiadających im adresów fizycznych –
fizyczną
przestrzenią adresową.
• Odwzorowywanie adresów logicznych na fizyczne jest
dokonywane przez
jednostkę zarządzania pamięcią
(memory-
management unit –
MMU
)
– jest to urządzenie
sprzętowe
.
Do każdego adresu generowanego przez proces użytkownika w chwili
odwołania się do pamięci dodawana jest wartość
rejestru
przemieszczenia
(relocation register)
.
Program użytkownika działa na adresach
logicznych
, nigdy nie ma do
czynienia z rzeczywistymi adresami fizycznymi.
Logiczna i fizyczna przestrzeń adresowa
Przemieszczenie dynamiczne z użyciem
rejestru przemieszczenia
rejestru przemieszczenia
Rejestr
przemieszczenia
Adres
15000
Adres
fizyczny
logiczny
Procesor
+
Pamięć
249
15249
Jednostka zarządzania
pamięcią
(MMU)
Przemieszczenie dynamiczne z użyciem
Plik z chomika:
BoczekX-Man
Inne pliki z tego folderu:
pascal.pdf
(163 KB)
pascalkajo.pdf
(98 KB)
pl_01_Dane techniczne _Product Specification.pdf
(879 KB)
pl_00_Okladka & Czynnosci zapobiegawcze _Cover.pdf
(65 KB)
pl_02-06_Opis funkcjonalny _Operation_Instruction_&_Installation.pdf
(304 KB)
Inne foldery tego chomika:
- ▉ NAJNOWSZE FILMY - CHOMIKUJ
- FILMY AVI NOWE CHOMIKUJ
- FILMY HD NOWE CHOMIKUJ
- FILMY HD NOWE CHOMIKUJ(1)
! ! ! ! ! ◢ FACECI OD MIĘSA - sezon 1 lektor PL
Zgłoś jeśli
naruszono regulamin