Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Podobne prezentacje


Prezentacja na temat: "SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ"— Zapis prezentacji:

1 SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

2 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
tablica ponumerowanych słów lub bajtów (każdy element tablicy ma swój adres), adresowana przez system operacyjny bezpośrednio (pamięć swobodnego dostępu - RAM), - programy oraz ich dane muszą znajdować się w pamięci operacyjnej. Jeśli programy nie mieszczą się w pamięci operacyjnej, to system operacyjny gromadzi je w pamięci pomocniczej.

3 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WIĄZANIE ADRESÓW program źródłowy – adresy symboliczne kompilator – adresy symboliczne + adresy względne (relokowalne) linker – adresy względne + adresy bezwzględne (absolutne) konkretnych komórek pamięci

4 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WIĄZANIE ADRESÓW Powiązanie adresów rozkazów i danych z adresami komórek pamięci - faza kompilacji (compile time) – generowanie kodu bezwzględnego - faza ładowania (load time) – generowanie kodu relokowalnego - faza wykonywania (run time) – wiązanie adresów na etapie wykonywania (procesy przemieszczane w pamięci).

5 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WIĄZANIE ADRESÓW Ø Kompilator wiąże adresy symboliczne z adresami bezwzględnymi lub względnymi (przenaszalnymi, relokowalnymi), tj. adresami liczonymi względem początku danego bloku (modułu) programu. Kompilator może tworzyć kod wynikowy z adresami bezwzględnymi (np. pliki .COM w systemie MS-DOS). Ø Program łączący/ładujący wiąże adresy względne z adresami bezwzględnymi.

6 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WIĄZANIE ADRESÓW Ø Ładowanie dynamiczne - podprogram jest wprowadzany do pamięci dopiero wówczas, kiedy jest potrzebny (został wywołany). Ø Łączenie dynamiczne (dotyczy głównie bibliotek systemowych) powoduje odroczenie łączenia do czasu konieczności odwołania się do danej funkcji bibliotecznej (w odpowiednim miejscu kodu programu umieszcza się zakładkę do tej funkcji). .

7 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WIĄZANIE ADRESÓW (address binding) PRZEMIESZCZANIE PROCESÓW Relokacja statyczna – dwa rejestry graniczne – początek i koniec strefy zajmowanej przez program, Relokacja dynamiczna – dwa rejestry: limit – długość strefy adresów logicznych base – wartość minimalnego adresu fizycznego obszaru z załadowanym zadaniem.

8 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
WYMIATANIE (swapping) przesyłanie procesu pomiędzy pamięcią operacyjną a dyskową; (wyrzucanie procesów na dysk, gdy w PAO brakuje miejsca) CEL: zwiększenie liczby zadań jednocześnie przetwarzanych przez system; ścisła zależność techniki wymiatania z techniką wiązania adresów

9 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
ORGANIZACJA PAMIĘCI JEDEN SPÓJNY OBSZAR PAMIĘĆ STRONICOWANA PAMIĘĆ SEGMENTOWANA PAMIĘĆ WIRTUALNA

10 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
JEDEN SPÓJNY OBSZAR Rejestr bazowy – r. przemieszczenia (relokacji) Rejestr graniczny Pamięć podzielona na obszary (strefy, partycje) – statyczne i dynamiczne Fragmentacja pamięci wewnętrzna – część strefy nie wykorzystana przez proces (pamięć przydzielana jest nieco większa niż zamawiana), zewnętrzna – strefy nie wykorzystane, bo za małe dla potrzeb procesu (duża liczba małych dziur).

11 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
JEDEN SPÓJNY OBSZAR ALGORYTMY WYSZUKIWANIA WOLNYCH MIEJSC W PAMIĘCI pierwsza pasująca (first fit) - algorytm bardzo szybki, - następna pasująca (next fit); najlepiej pasująca (best fit) – lepsze wykorzystanie pamięci.

12 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
Wykonywanie programu większego niż pamięć fizyczna: nakładkowanie: wymaga to dokładnej znajomości struktury programu i starannego zaprojektowania nakładek, wymiana procesów - jeden lub wiele procesów jest przenoszonych do pamięci pomocniczej, aby zrobić miejsce procesowi, któremu planista przydzielił kolejny kwant czasu, stronicowanie (paging) - skuteczny sposób przydziału pamięci procesom z wykorzystaniem nieciągłych obszarów pamięci.

13 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ STRONICOWANA przestrzeń adresowa dzielona na strony (page), pamięć fizyczna dzielona na ramki (frame). MMU (memory management unit) – jednostka zarządzania pamięcią – przekształca adres wirtualny na adres fizyczny na podstawie tablic stron. program użytkownika  adres logiczny  MMU   translacja na adres fizyczny  szyna adresowa Zaleta p. stronicowanej: możliwość współdzielenia kodu programu w systemach wielodostępnych

14 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ STRONICOWANA stronicowanie pozwala na implementację mechanizmu dzielenia stron przez dwa lub więcej procesów w celu zwiększenia bezpieczeństwa wprowadza się bity ochrony stron (strona zaznaczona np. tylko do odczytu); próba jej zapisu spowoduje wygenerowanie odpowiedniej pułapki i przejęcie kontroli przez system operacyjny, stronicowanie pozwala na dynamiczne ładowanie potrzebnych fragmentów programów na żądanie.

15 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ STRONICOWANA Metody implementacji pamięci stronicowanej: - pojedyncza tablica z rejestrami; zaleta: odwołania do szybkich rejestrów zamiast do PAO, wada: ograniczona liczba rejestrów – 256, - tablica stron w całości w PAO; wada: konieczność dodatkowej operacji dostępu do pamięci w celu odczytania numeru ramki;  dostęp do tablicy stron (w PAO) na podstawie rejestru bazowego, następnie właściwa operacja dostępu do pamięci

16 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ STRONICOWANA W tablicy stron – przechowywane alokacje wszystkich stron, wykorzystywane tylko niektóre.  pamięć asocjacyjna: pamięć adresowana zawartością. - przechowuje się tylko opisy stron aktywnych, - równoległe na wszystkich adresach przeszukiwanie komórek pamięci wg argumentów,  znacznie szybszy dostęp do pamięci.

17 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ SEGMENTOWANA - każdy segment – liniowa sekwencja komórek, - dynamiczna długość segmentów, adres logiczny złożony z numeru segmentu i przesunięcia w segmencie, - każdy segment w dowolnym miejscu pamięci, Zalety: - łatwiejsza i bardziej elastyczna ochrona pamięci, - zróżnicowanie praw dostępu dla każdego segmentu, - możliwość współdzielenia segmentów.

18 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ STRONICOWANA I SEGMENTOWANA STRONICO-WANIE SEGMEN-TACJA Czy użytkownik jest świadomy, że taka technika jest w systemie stosowana ? NIE TAK Ile jest liniowych przestrzeni adresowych ? 1 WIELE Czy przestrzeń adresowa może przekroczyć rozmiar pamięci fizycznej ? Czy kod i dane w pamięci mogą być w łatwy sposób chronione osobno ? Czy łatwo zarządzać tablicami o zmiennym rozmiarze ? Czy łatwo jest współdzielić fragmenty kodu ?

19 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ WIRTUALNA Suma wielkości przestrzeni adresowych wszystkich zadań przekracza wielkość pamięci fizycznej   w PAO - jedynie część przestrzeni adresowej zadania  wrażenie wykorzystywania nieograniczonej PAO. Pamięć wirtualna jest abstrakcyjną pamięcią główną w postaci wielkiej, jednorodnej tablicy, która jest logicznie oddzielona od pamięci fizycznej.

20 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ WIRTUALNA Adresy generowane w trakcie wykonywania programu są adresami w przestrzeni wirtualnej (adresy liniowe). Są one tłumaczone przez dedykowany układ elektroniczny (Memory Managment Unit, MMU) na adresy w pamięci fizycznej (adresy fizyczne).

21 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
Zalety pamięci wirtualnej:   - jednocześnie może być wykonywanych wiele programów, - możliwe jest wykonywanie programów większych niż dostępna pamięć fizyczna, - procesy mogą wykonywać programy, których kod jest ładowany do pamięci tylko częściowo, - każdy proces może uzyskać dostęp do części dostępnej pamięci fizycznej, - procesy mogą współdzielić w pamięci pojedynczy obraz biblioteki, programu, - programy są relokowalne, - można tworzyć kod niezależny od urządzenia.

22 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ WIRTUALNA Wymagania: oddzielenie wirtualnej przestrzeni adresowej od przestrzeni pamięci fizycznej; stronicowanie przestrzeni adresowej; mechanizm odwzorowania adresów (MMU, tablice stron); - odpowiednie moduły SO obsługujące wymianę części zadań pomiędzy PAO a dyskiem.

23 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA
PAMIĘĆ WIRTUALNA - ZASTĘPOWANIE STRON - dwukrotne przesyłanie stron (jedna na dysk, druga z dysku), wydłużony efektywny czas dostępu. ALGORYTMY ZASTĘPOWANIA STRON: - FIFO – usuwana strona najdłużej przebywająca w PAO, - LRU (least recently used) – usuwana strona najdawniej używana, - algorytm drugiej szansy – FIFO  zmiana bitu odniesienia na 0, ponowne sprawdzanie w następnej kolejce, - LFU (least frequently used) – usuwana strona najrzadziej używana. Ώ


Pobierz ppt "SYSTEMY OPERACYJNE ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ"

Podobne prezentacje


Reklamy Google