Zarz¹dzanie pamiêci¹



Podobne dokumenty
Zarządzanie pamięcią operacyjną

Stronicowanie na ¹danie

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Od programu źródłowego do procesu

Zarządzanie pamięcią operacyjną

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Zarządzanie zasobami pamięci

Zarządzanie pamięcią. Zarządzanie pamięcią. Podstawy. Podsystem zarządzania pamięcią. Zadania podsystemu: W systemie wielozadaniowym:

Schematy zarzadzania pamięcia

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

Podstawy. Podsystem zarządzania pamięcią - zadania: Wiązanie (binding) rozkazów i danych z adresami pamięci. W systemie wielozadaniowym:

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

architektura komputerów w. 8 Zarządzanie pamięcią

Architektura komputerów

Systemy Operacyjne Zarządzanie pamięcią operacyjną

Systemy Operacyjne Pamięć wirtualna cz. 2

Wykład 7. Zarządzanie pamięcią

Przed wykonaniem program musi być pobrany z dysku i. Tam działa a jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z

dr inż. Jarosław Forenc

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

Zarz¹dzanie pamiêci¹ pomocnicz¹. Struktura dysku

Charakterystyka systemów plików

dr inŝ. Jarosław Forenc

Zarz arz dzanie pam dzanie ięci ę ą

Zagospodarowanie magazynu

dr inż. Jarosław Forenc

Architektura komputerów

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Budowa systemów komputerowych

Technologie informacyjne (2) Zdzisław Szyjewski

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

Blokady. Model systemu. Charakterystyka blokady

Współpraca procesora ColdFire z pamięcią

Hierarchia pamięci w systemie komputerowym

Zarz arz dzanie pam dzanie ięci ę ą

dr inż. Jarosław Forenc

Systemy operacyjne III

Stronicowanie w systemie pamięci wirtualnej

Od programu źródłowego do procesu

Wprowadzenie. System operacyjny - program, który poœredniczy miêdzy u ytkownikiem komputera a sprzêtem komputerowym. Zadania systemu operacyjnego:

Sieci komputerowe cel

Bazy danych. Andrzej Łachwa, UJ, /15

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

Base 6T - widok z przodu

Zarządzanie pamięcią operacyjną i pamięć wirtualna

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Czy przedsiêbiorstwo, którym zarz¹dzasz, intensywnie siê rozwija, ma wiele oddzia³ów lub kolejne lokalizacje w planach?

WERSJA ROZPROSZONA I ZINTEGROWANA

OFERTA PROMOCYJNA

Jak usprawnić procesy controllingowe w Firmie? Jak nadać im szerszy kontekst? Nowe zastosowania naszych rozwiązań na przykładach.

API transakcyjne BitMarket.pl

Architektura komputerów

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

L A K M A R. Rega³y DE LAKMAR

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

DE-WZP JJ.3 Warszawa,

INSTRUKCJA U YTKOWNIKA DO KASY SHARP ER-A457P wersja oprogramowania: 27801RAR1C PROGRAMOWANIE FORMATU RAPORTÓW, KROK (PGM2)

WYKŁAD. Zarządzanie pamięcią operacyjną

Lekcja 173, 174. Temat: Silniki indukcyjne i pierścieniowe.

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

System plików. Warstwowy model systemu plików

Regulatory temperatury

Inwestycja: Temat opracowania: OPIS MINIMALNYCH WYMAGAŃ TECHNICZNO UŻYTKOWYCH WYPOSAŻENIA HALI SPORTOWEJ w ZGORZELCU

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Wykład 2. Budowa komputera. W teorii i w praktyce

Systemy mikroprocesorowe - projekt

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

elektroniczna Platforma Usług Administracji Publicznej

Projektowanie bazy danych

PRZEPIĘCIA CZY TO JEST GROźNE?

Celem wykładu jest przedstawienie podejść do zarządzania jednym z kluczowych zasobów systemu komputerowego pamięcią operacyjną. Ponieważ zarządzanie

Pracownia internetowa w ka dej szkole (edycja 2004/2005)

O autorze... 9 Wprowadzenie... 11

mprofi.pl nowa generacja usług mobilnych TWOJA APLIKACJA MOBILNA: Komunikator na smartfony

ZMYWARKI FRANKE DO ZABUDOWY

Procesy. W sk³ad procesu wchodzi:

SST SZCZEGÓŁOWE SPECYFIKACJE TECHNICZNE.

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Sieci komputerowe. Definicja. Elementy

Spe³nienie wymagañ czasu rzeczywistego w obrêbie rodziny sterowników PLC

Działanie systemu operacyjnego

Przedmowa Czêœæ pierwsza. Podstawy frontalnych automatów komórkowych... 11

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Mikroprocesor Operacje wejścia / wyjścia

Jedyny w Polsce tak nowoczesny system. wyœwietlania tekstu oparty o TABLET 10,1

WZORU UŻYTKOWEGO. d2)opis OCHRONNY (19) PL (11)62749 EGZEMPLARZ ARCHIWALNY. Zbigniew Kuska, Mysłowice, PL Michał Żydek, Piekary Śląskie, PL

STATUT SOŁECTWA Grom Gmina Pasym woj. warmińsko - mazurskie

Instrukcja sporządzania skonsolidowanego bilansu Miasta Konina

Transkrypt:

Zarz¹dzanie pamiêci¹ Wykonywaæ mo na jedynie program umieszczony w pamiêci g³ównej. Wi¹zanie instrukcji i danych z ami w pamiêci mo e siê odbywaæ w czasie: kompilacji: jeœli s¹ znane a priori y w pamiêci, to generuje siê kod absolutny; zmiana po³o enia kodu w pamiêci wymaga jego rekompilacji ³adowania: trzeba generowaæ kod przemieszczalny wykonania: jeœli proces mo e siê przemieszczaæ w pamiêci podczas wykonania, to trzeba wi¹zaæ dynamicznie; wymaga specjalnego sprzêtu Dynamiczne ³adowanie - podprogram ³aduje siê do pamiêci dopiero po wywo³aniu Dynamiczne ³¹czenie - ³¹czenie opóÿnione do czasu wykonania; zazwyczaj dotyczy bibliotek systemowych Nak³adki - w pamiêci przechowuje siê tylko te czêœci przestrzeni owej, które s¹ niezbêdne w danej chwili; umo liwia wykonywanie programów wiêkszych od przydzielonego im obszaru pamiêci; implem. przez u ytk. Logiczna i fizyczna przestrzeñ owa: y logiczne (wirtualne): generowane przez CPU y fizyczne: widziane przez jednostkê pamiêci y logiczne i fizyczne s¹: - takie same, gdy y wi¹ e siê w czasie kompilacji i ³adowania - ró ne, gdy y wi¹ e siê w czasie wykonania Zarz¹dzanie pamiêci¹ str. 1

Jednostka zarz¹dzaj¹ca pamiêci¹ (MMU): urz¹dzenie sprzêtowe, które odwzorowuje y wirtualne na fizyczne Wymiana (swapping): Proces mo e zostaæ czasowo wys³any z pamiêci g³ównej do zewnêtrznej, a po jakimœ czasie sprowadzony ponownie do pamiêci g³ównej Jako pamiêæ zewnêtrzna na potrzeby wymiany s³u y du y szybki dysk z dostêpem bezpoœrednim G³ówny narzut: czas transmisji Ró ne wersje wymiany s¹ realizowane w wielu systemach, np. w Unixie czy Microsoft Windows Alokacja ci¹g³a Przydzia³ pojedynczego obszaru Pamiêæ podzielona na dwa obszary: dla rezyduj¹cego systemu operacyjnego i dla u ytkownika Rejestr bazowy (relokacji) i graniczny s³u ¹ do ochrony oraz do dynamicznej translacji ów logicznych na fizyczne system operacyjny system operacyjny u ytkownik u ytkownik Np. IBM PC: BIOS (programy steruj¹ce urz¹dzeñ) w ROMie (górne y), SO w RAMie (dolne y) Zarz¹dzanie pamiêci¹ str. 2

rejestr bazowy 24000 procesor logiczny + fizyczny 224 24224 pamiêæ Przydzia³ wielu obszarów W systemach wieloprogramowych w pamiêci równoczeœnie przebywa wiele programów, ka dy we w³asnym obszarze Metoda stref statycznych: pamiêæ jest na sta³e podzielona na obszary o ustalonej wielkoœci (np. IBM OS/360 MFT) Metoda stref dynamicznych: liczb i wielkoœæ stref zmienia siê dynamicznie (np. IBM OS/360 MVT) Dziura: wolny obszar pamiêci; dziury ró nych rozmiarów s¹ rozrzucone po pamiêci SO SO SO SO proces 5 proces 5 proces 5 proces 5 proces 8 proces 9 proces 9 Þ Þ Þ proces 10 proces 2 proces 2 proces 2 proces 2 Strategia wyboru wolnego obszaru: Pierwszy pasuj¹cy (first fit): przydziela siê pierwszy obszar o wystarczaj¹cej wielkoœci (nastêpny pasuj¹cy: szukanie rozpoczyna siê od miejsca, w którym ostatnio zakoñczono szukanie); z regu³y krótszy czas szukania Zarz¹dzanie pamiêci¹ str. 3

Najlepiej pasuj¹cy (best fit): przydziela siê namniejszy z dostatecznie du ych obszarów; wymaga przeszukania ca³ej listy (o ile nie jest uporz¹dkowana wg rozmiaru); pozostaj¹ca czêœæ obszaru jest najmniejsza Najgorzej pasuj¹cy (worst fit): przydziela siê najwiêkszy obszar; wymaga przeszukania ca³ej listy; pozostaj¹ca czêœæ obszaru jest najwiêksza Pierwszy pasuj¹cy i najlepszy pasuj¹cy lepsze w terminach czasu i wykorzystania pamiêci Fragmentacja zewnêtrzna: suma wolnych obszarów w pamiêci wystarcza na spe³nienie ¹dania, lecz nie stanowi spójnego obszaru Fragmentacja wewnêtrzna: przydzielona pamiêæ mo e byæ nieco wiêksza ni ¹dana. Ró nica miêdzy tymi wielkoœciami znajduje siê wewn¹trz przydzielonego obszaru, lecz nie jest wykorzystywana Redukowanie fragmentacji zewnêtrznej poprzez kompresjê: umieszczenie ca³ej wolnej pamiêci w jednym bloku; mo liwe tylko w przypadku, gdy y s¹ wi¹zane w czasie wykonania; ró ne strategie kompresji; kompresja a operacje wejœcia-wyjœcia Stronicowanie Pamiêæ fizyczna jest podzielona na bloki jednakowego rozmiaru, zwane ramkami (rozmiar jest potêg¹ 2, miêdzy 0.5 K bajtów a 8 K bajtów) Logiczna przestrzeñ owa procesu jest podzielona na bloki o rozmiarze takim jak ramki, zwane stronami Zarz¹dzanie pamiêci¹ str. 4

Strony przebywaj¹ w pamiêci pomocniczej, s¹ sprowadzane do pamiêci g³ównej i umieszczane w wolnych ramkach (program o n stronach potrzebuje n ramek); strony nie musz¹ zajmowaæ ci¹g³ego obszaru fizycznego Fragmentacja wewnêtrzna, brak fragmentacji zewnêtrznej (ma³e ramki to mniejsza fragmentacja wewnêtrzna, ale wiêkszy narzut na tablice stron) System przechowuje informacje o wolnych ramkach Tablica stron procesu s³u y do odwzorowywania ów logicznych w y fizyczne Adres logiczny sk³ada siê z dwóch czêœci: numer strony (p) - s³u y jako indeks w tablicy stron przesuniêcie w stronie (d) - numer bajtu w stronie CPU logiczny fizyczny p d f d pamiêæ fizyczna p f tablica stron Implementacja tablicy stron: Tablica stron jest przechowywana w pamiêci g³ównej Rejestr bazowy tablicy stron wskazuje jej pocz¹tek Ka dy dostêp do danych/instrukcji programu wymaga dwóch dostêpów do pamiêci g³ównej Zarz¹dzanie pamiêci¹ str. 5

Przyœpieszenie translacji u jest mo liwe dziêki zastosowaniu rejestrów asocjacyjnych (zwanych tak e buforami translacji bliskiego otoczenia, ang. TLB) numer strony (klucz) numer ramki (wartoœæ) Porównywanie danej pozycji z kluczami w rejestrach asocjacyjnych odbywa siê równoczeœnie dla wszystkich kluczy (szybkie, ale drogie). Wynik: pole wartoœci. Jeœli nie ma, to trzeba zajrzeæ do tablicy stron Wspó³czynnik trafieñ (ang. hit ratio) - procent numerów stron znajdowanych w rejestrach asocjacyjnych (zale y od liczby rejestrów) Efektywny czas dostêpu do pamiêci: wspó³czynnik trafieñ = a czas przegl¹dania TLB = e czas dostêpu do pamiêci = 1 mikrosekunda efektywny czas dostêpu = (1 + e) a+(2+e) (1 - a) Odwrotna tablica stron Posiada po jednej pozycji dla ka dej ramki; pozycja zawiera wirtualny strony umieszczonej w ramce oraz identyfikator procesu bêd¹cego w³aœcicielem strony - w porównaniu z tradycyjn¹ tablic¹ stron zmniejsza zu ycie pamiêci, ale wyd³u a czas potrzebny na znalezienie u - u ycie tablicy mieszaj¹cej pozwala skróciæ czas wyszukiwania Zarz¹dzanie pamiêci¹ str. 6

CPU logiczny pid p d i d fizyczny pamiêæ fizyczna wyszukiwanie (z pomoc¹ tablicy miesz.) pid p i Stronicowanie umo liwia dzielenie wspólnego kodu (taki kod musi byæ wielowejœciowy, ang. reentrant, czyli nie mo e modyfikowaæ sam siebie); edytory, kompilatory itp. Do ochrony pamiêci s³u ¹ bity ochrony przypisane ka dej ramce i zwykle umieszczone w tablicy stron Segmentacja odwrotna tablica stron Schemat zarz¹dzania pamiêci¹ zgodny ze sposobem widzenia pamiêci przez u ytkownika Program jest zbiorem segmentów. Segment jest jednostk¹ logiczn¹, tak¹ jak: program g³ówny, procedura, funkcja, stos, tablica symboli, tablice, zmienne lokalne i globalne Adres logiczny: <numer_segmentu, przesuniêcie> Tablica segmentów: ka da pozycja zawiera fizyczny pocz¹tku segmentu i rozmiar segmentu Rejestr bazowy tablicy segmentów zawiera tablicy Ochrona: z ka d¹ pozycj¹ w tablicy segmentów s¹ zwi¹zane bity ochrony Zarz¹dzanie pamiêci¹ str. 7

Dzielenie: na poziomie segmentów jest bardziej naturalne ni na poziomie stron, ten sam ów w ró nych pozycjach tablic segmentów ró nych procesów Przydzia³ pamiêci: pierwszy/najlepszy pasuj¹cy, fragmentacja zewnêtrzna Segmentacja ze stronicowaniem Multics: ka dy segment ma swoj¹ tablicê stron, znika problem fragmentacji zewnêtrznej; deskryptor segmentu zawiera tablicy stron segmentu (w pamiêci), d³ugoœæ segmentu i pomocnicze bity; tablica segmentów te jest stronicowana Intel 386: segmentacja z dwoma poziomami stronicowania logiczny selektor przesuniêcie deskryptor segmentu + liniowy katalog strona przesuniêci fizyczny pozycja katalogu pozycja tablicy stron rejestr segmentu Zarz¹dzanie pamiêci¹ str. 8