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 2 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA 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 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 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 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 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 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 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 9 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA ORGANIZACJA PAMIĘCI JEDEN SPÓJNY OBSZAR PAMIĘĆ STRONICOWANA PAMIĘĆ SEGMENTOWANA PAMIĘĆ WIRTUALNA

10 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 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 12 SYSTEMY OPERACYJNE – PAMIĘĆ OPERACYJNA Wykonywanie programu większego niż pamięć fizyczna: a)nakładkowanie: wymaga to dokładnej znajomości struktury programu i starannego zaprojektowania nakładek, b)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, c)stronicowanie (paging) - skuteczny sposób przydziału pamięci procesom z wykorzystaniem nieciągłych obszarów pamięci.

13 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 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 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 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 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 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 ? NIETAK Ile jest liniowych przestrzeni adresowych ? 1WIELE Czy przestrzeń adresowa może przekroczyć rozmiar pamięci fizycznej ? TAK Czy kod i dane w pamięci mogą być w łatwy sposób chronione osobno ? NIETAK Czy łatwo zarządzać tablicami o zmiennym rozmiarze ? NIETAK Czy łatwo jest współdzielić fragmenty kodu ? TAK

19 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 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 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 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 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