Algorytmy wymiany. Dariusz Wawrzyniak 1. Podstawowe pojęcia (1) Podstawowe pojęcia (2) Podstawowe pojęcia (3)



Podobne dokumenty
Algorytmy wymiany. Podstawowe pojęcia (1)

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

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

Pamięć wirtualna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Stronicowanie w systemie pamięci wirtualnej

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Pamięć wirtualna jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku).

Temat: Weryfikacja nienaruszalności bezpieczeństwa SIL struktury sprzętowej realizującej funkcje bezpieczeństwa

Podstawy. Pamięć wirtualna. (demand paging)

Układy sekwencyjne asynchroniczne Zadania projektowe

Pobieranie próby. Rozkład χ 2

REGULAMIN FUNDUSZU ROZLICZENIOWEGO

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

KURS EKONOMETRIA. Lekcja 1 Wprowadzenie do modelowania ekonometrycznego ZADANIE DOMOWE. Strona 1

System zielonych inwestycji (GIS Green Investment Scheme)

Rozdział 4 Instrukcje sekwencyjne

Metody rachunku kosztów Metoda rachunku kosztu działań Podstawowe pojęcia metody ABC Kalkulacja obiektów kosztowych metodą ABC Zasobowy rachunek

PROGNOZOWANIE I SYMULACJE. mgr Żaneta Pruska. Ćwiczenia 2 Zadanie 1

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania. Podstawy Automatyki

Tabela doboru przekaźników czasowych MTR17

ZASTOSOWANIE TEORII MASOWEJ OBSŁUGI DO MODELOWANIA SYSTEMÓW TRANSPORTOWYCH

dr inż. Jarosław Forenc

Równania różniczkowe. Lista nr 2. Literatura: N.M. Matwiejew, Metody całkowania równań różniczkowych zwyczajnych.

Równoległy algorytm analizy sygnału na podstawie niewielkiej liczby próbek

LABORATORIUM PODSTAWY ELEKTRONIKI Badanie Bramki X-OR

Stronicowanie na ¹danie

DYNAMIKA KONSTRUKCJI

Kontroler ruchu i kierunku obrotów KFD2-SR2-2.W.SM. Charakterystyka. Konstrukcja. Funkcja. Przyłącze

ANALIZA, PROGNOZOWANIE I SYMULACJA / Ćwiczenia 1

Jednofazowe przekształtniki DC AC i AC DC z eliminacją składowej podwójnej częstotliwości po stronie DC

Podstawy Elektroniki dla Elektrotechniki

Zarządzanie Projektami. Wykład 3 Techniki sieciowe (część 1)

5. Usługodawca jest administratorem danych swoich klientów. Oznacza to, że jeśli posiadasz Konto na naszej

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

EFEKTYWNOŚĆ INWESTYCJI MODERNIZACYJNYCH. dr inż. Robert Stachniewicz

WYKORZYSTANIE STATISTICA DATA MINER DO PROGNOZOWANIA W KRAJOWYM DEPOZYCIE PAPIERÓW WARTOŚCIOWYCH

dr inż. MARCIN MAŁACHOWSKI Instytut Technik Innowacyjnych EMAG

Kontroler ruchu i kierunku obrotów KFD2-SR2-2.W.SM. Charakterystyka. Konstrukcja. Funkcja. Przyłącze

Parytet stóp procentowych a premia za ryzyko na przykładzie kursu EURUSD

Badanie funktorów logicznych TTL - ćwiczenie 1

Kombinowanie prognoz. - dlaczego należy kombinować prognozy? - obejmowanie prognoz. - podstawowe metody kombinowania prognoz

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Kluczowe wnioski ze Światowego Badania Bezpieczeństwa Informacji grudnia 2012

2.1 Zagadnienie Cauchy ego dla równania jednorodnego. = f(x, t) dla x R, t > 0, (2.1)

Bezpieczeństwo - Elastyczność - Efektywność. safetydrive: Bezpieczeństwo funkcjonalne

Ocena płynności wybranymi metodami szacowania osadu 1

Wykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

POMIAR PARAMETRÓW SYGNAŁOW NAPIĘCIOWYCH METODĄ PRÓKOWANIA I CYFROWEGO PRZETWARZANIA SYGNAŁU

Badanie transformatora 3-fazowego

C d u. Po podstawieniu prądu z pierwszego równania do równania drugiego i uporządkowaniu składników lewej strony uzyskuje się:

PODSTAWY PROGRAMOWANIA STEROWNIKÓW PLC

SPRAWOZDANIE Z PROJEKTU Dioda jako czujnik temperatury

Obszary zainteresowań (ang. area of interest - AOI) jako metoda analizy wyników badania eye tracking

Model logistycznego wsparcia systemu eksploatacji środków transportu

ψ przedstawia zależność

Zastosowanie predykcji sygnału odchylenia regulacyjnego do centralnej regulacji mocy czynnej i częstotliwości w systemie elektroenergetycznym

Nakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb

Podstawy Programowania semestr drugi. Wykład trzeci

Przekaźniki czasowe ATI opóźnienie załączania Czas Napięcie sterowania Styki Numer katalogowy

Matematyka finansowa r. Komisja Egzaminacyjna dla Aktuariuszy. XXXVIII Egzamin dla Aktuariuszy z 20 marca 2006 r.

RACHUNEK EFEKTYWNOŚCI INWESTYCJI METODY ZŁOŻONE DYNAMICZNE

Systemy Operacyjne Pamięć wirtualna cz. 1

Różnica bilansowa dla Operatorów Systemów Dystrybucyjnych na lata (którzy dokonali z dniem 1 lipca 2007 r. rozdzielenia działalności)

METODA DOBORU ŚCIEŻEK TRANSMISYJNYCH DLA POPRAWY JAKOŚCI POŁĄCZEŃ GŁOSOWYCH IP

Systemy operacyjne III

Warszawa, dnia 5 czerwca 2017 r. Poz. 13 UCHWAŁA NR 29/2017 ZARZĄDU NARODOWEGO BANKU POLSKIEGO. z dnia 2 czerwca 2017 r.

Pamięć wirtualna. Pamięć wirtualna

Instrukcja do ćwiczenia laboratoryjnego. Badanie liczników

WENTYLACJA i KLIMATYZACJA 2. Ćwiczenia nr 1

MICROMASTER 420. Lista Parametrów Wydanie 06/04. Dokumentacja Użytkownika 6SE6400-5BA00-0AP0_PL

Rozwiązanie uogólnionego problemu optymalnej alokacji zasobów. Cezary S. Zaremba*, Leszek S. Zaremba ** WPROWADZENIE

Matematyka ubezpieczeń majątkowych r. ma złożony rozkład Poissona. W tabeli poniżej podano rozkład prawdopodobieństwa ( )

WNIOSKOWANIE STATYSTYCZNE

RÓWNANIA RÓŻNICZKOWE WYKŁAD 13

Wykład 5 Elementy teorii układów liniowych stacjonarnych odpowiedź na dowolne wymuszenie

Modelowanie i obliczenia techniczne. Równania różniczkowe Numeryczne rozwiązywanie równań różniczkowych zwyczajnych

1.2.1 Ogólny algorytm podejmowania decyzji Algorytm postępowania diagnostycznego Analiza decyzyjna... 27

Struktura sektorowa finansowania wydatków na B+R w krajach strefy euro

( ) ( ) ( τ) ( t) = 0

PROGNOZOWANIE I SYMULACJE EXCEL 2 AUTOR: MARTYNA MALAK PROGNOZOWANIE I SYMULACJE EXCEL 2 AUTOR: MARTYNA MALAK

Spis treści ZASTOSOWANIE PAKIETU MATLAB W OBLICZENIACH ZAGADNIEŃ ELEKTRYCZNYCH I41

Widok z przodu kω. II 10 kω kω Ω R 2 kω. Power Rail

Zarządzanie ryzykiem. Lista 3

Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej. Adam Sosnowski

Analiza metod oceny efektywności inwestycji rzeczowych**

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Architektura komputerów

Ocena efektywności procedury Congruent Specyfication dla małych prób

Zespół zaparzacza z przekładnią zębatą

XXXIV Olimpiada Wiedzy Elektrycznej i Elektronicznej Kraków 31 marca Test dla grupy elektronicznej

MODELE AUTOREGRESYJNE JAKO INSTRUMENT ZARZĄDZANIA ZAPASAMI NA PRZYKŁADZIE ELEKTROWNI CIEPLNEJ

Stanisław Cichocki Natalia Nehrebecka. Wykład 3

Postęp techniczny. Model lidera-naśladowcy. Dr hab. Joanna Siwińska-Gorzelak

Zasada pędu i popędu, krętu i pokrętu, energii i pracy oraz d Alemberta bryły w ruchu postępowym, obrotowym i płaskim

PROGNOZOWANIE I SYMULACJE EXCEL 2 PROGNOZOWANIE I SYMULACJE EXCEL AUTOR: ŻANETA PRUSKA

Założenia metodyczne optymalizacji ekonomicznego wieku rębności drzewostanów Prof. dr hab. Stanisław Zając Dr inż. Emilia Wysocka-Fijorek

Politechnika Częstochowska Wydział Inżynierii Mechanicznej i Informatyki. Sprawozdanie #2 z przedmiotu: Prognozowanie w systemach multimedialnych

Cyfrowe przetwarzanie sygnału przetwornika obrotowo-impulsowego

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 1. Wojciech Waloszek. Teresa Zawadzka.

Transkrypt:

Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany sron Podsawowe pojęcia () N = {,,, n} zbiór numerów sron wirualnych danego procesu M = {,,, m} zbiór numerów ramek danego procesu w pamięci fizycznej VA wirualna przesrzeń adresowa, va VA adres wirualny va = x, w = x c + w, gdzie c jes rozmiarem srony (ramki) RA fizyczna przesrzeń adresowa ra RA adres fizyczny Sysemy operacyjne Algorymy wymiany sron Podsawowe pojęcia () Podsawowe pojęcia () f( x) c+ w,gdy f( x) ra = nieokreślony, gdy f ( x) = błąd srony y, gdy srona jes w ramce y w chwili f ( x) =, gdy brak srony w pamięci Dynamiczne własności procesu określone są przez ciąg zgłoszeń (odniesień do sron) ω = r, r,, r,, gdzie jes dyskreną chwilą czasową, a r = x (x N ) oznacza, że odniesienie do srony numer x wysąpiło jako -e. S san pamięci operacyjnej zdefiniowany jako zbiór numerów sron wirualnych, znajdujących się w ramkach pamięci fizycznej w chwili (S N, S m) Algorymem wymiany jes przewarzanie ciągu zgłoszeń ω = r, r,, r, i generowanie kolejnych sanów pamięci S, S,, S,, Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Podsawowe pojęcia () X zbiór numerów sron sprowadzonych do pamięci w chwili (X N \ S ) Y zbiór numerów sron usuwanych z pamięci w chwili (Y S ) Zmiana sanu pamięci w chwili w sosunku do chwili wynika z ze sprowadzenia sron o numerach ze zbioru X i usunięciu sron o numerach ze zbioru Y S = S X \ Y Formalna definicja algorymu wymiany sron Algorym wymiany A jes zdefiniowany poprzez funkcję przejścia g A, aką że g A (S, Q, r ) = (S, Q ), gdzie Q san wymiany w chwili, reprezenujący hisorię wymiany S san pamięci operacyjnej w chwili r numer srony, do kórej nasąpiło odniesienie w chwili (S, Q ) nazywana jes konfiguracją algorymu wymiany Algorym sprowadzania A F w chwili określa zbiór X Algorym usuwania A R w chwili określa zbiór Y Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Sprowadzanie i usuwanie na żądanie () Algorym sprowadzania jes algorymem sprowadzania na żądanie A DF, gdy sprowadzenie srony nasępuję ylko przy wysąpieniu odniesienia do niej i ylko wówczas, gdy nie ma jej w pamięci. Algorym usuwania jes algorymem usuwania na żądanie A DR, gdy usunięcie srony z pamięci nasępuje w przypadku braku wolnych ramek i wynika z konieczności zwolnienia ramki na porzeby innej sprowadzanej srony. m Sprowadzanie i usuwanie na żądanie () Algorym sprowadzania na żądanie A DF : m ( {,} ( r = ) ) X S X Algorym usuwania na żądanie A DR : ( {,} ( ( r < m) = ) ) Y S S Y Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Klasyfikacja algorymów wymiany Algorymy wymiany na żądanie A DFDR zarówno sprowadzanie sron, jak i ich usuwanie odbywa się na żądanie. Algorymy wymiany ze sprowadzaniem na żądanie A DFR ylko sprowadzanie sron odbywa się na żądanie, ich usuwanie wykonywane jes przez dowolny algorym. Algorymy wymiany ze wsępnym sronicowaniem na żądanie A DP w wyniku wysąpienia błędu srony sprowadzany do pamięci jes zbiór sron (w ym srona żądana). Sysemy operacyjne Algorymy wymiany sron 9 Algorym wymiany na żądanie A DFDR Funkcja przejścia g ADFDR spełnia w każdej chwili nasępujące warunki: S S jeśli r S r r m r y r m { } jeśli = S S S < S { } \{ } jeśli S S = y numer srony wirualnej usuwanej z pamięci Sysemy operacyjne Algorymy wymiany sron Algorym wymiany ze sprowadzaniem na żądanie A DFR S Funkcja przejścia g ADFR spełnia w każdej chwili nasępujące warunki: S \ Y jeśli r S r Y r r m r r m { }\ jeśli = S Y S S < S { } \ Y Y jeśli S S = S Algorym wymiany ze wsępnym sronicowaniem na żądanie A DP Funkcja przejścia g ADP spełnia w każdej chwili nasępujące warunki: S jeśli r S jeśli = S X r S r X S X m S X \ Y jeśli S X S X \ Y = r r m Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Kosz wymiany sron () Z punku widzenia efekywności przewarzania kosz wymiany możemy uożsamiać z czasem realizacji wymiany. W celu uproszczenia analizy możemy przyjąć, że kosz usunięcia srony sanowi sałą część koszu jej sprowadzenia. Kosz wynika zaem z czasu sprowadzania, kóry w ogólności zależy od ciągu zgłoszeń, liczby dosępnych ramek i algorymu wymiany C(A, m, ω) Sysemy operacyjne Algorymy wymiany sron Kosz wymiany sron () Niech h(k) oznacza kosz jednorazowego sprowadzenia grupy k sron, przy czym: h() =, h() =. Całkowiy kosz sprowadzenia sron i ym samym posać funkcji C(A, m, ω) w przypadku ogólnym dana jes wzorem: C( A, m, ω ) = h( X ) Sysemy operacyjne Algorymy wymiany sron Kosz wymiany sron () W przypadku zasosowania dysku jako urządzenia wymiany, na czas sprowadzania wypływ mają: T w czas oczekiwania (suma czasu oczekiwania w kolejce do urządzenia oraz czasu przygoowania urządzenia do ransmisji) T r czas ransmisji danych Posać funkcji h(k) jes zaem nasępująca: h(k) = T w + k T r Sysemy operacyjne Algorymy wymiany sron Kosz wymiany sron () Własność funkcji h(k) przy założeniu, że T w > i k > : h(k) < k (T w + T r ) h(k) k h() Wniosek: sprowadzenie kilku sron jako wyniku realizacji jednego żądania jes bardziej koszowne niż sprowadzenie jednej srony, ale mniej koszowne niż sprowadzanie poszczególnych sron osobno. Sysemy operacyjne Algorymy wymiany sron Kosz wymiany sron () Kosz wymiany można aproksymować za pomocą paramerów FN (liczba wygenerowanych błędów srony) i TN (liczba ransmisji sron). Całkowiy czas oczekiwania na urządzenie (isona składowa czasu wymiany) również jes zależny od liczby błędów srony. Wniosek: należy minimalizować liczbę błędów srony i ym samym redukować czas realizacji wymiany, czyli kosz. Klasyfik. alg. wymiany ze wzgl. na sposób zasępowania sron Zasępowanie lokalne (ang. local replacemen) algorym wymiany zasępuje ylko srony w ramkach przydzielonych procesowi, kóry spowodował błąd srony sronicowanie sayczne. Zasępowanie globalne (ang. global replacemen) algorym wymiany zasępuje srony znajdujące się w dosępnej puli ramek w całym sysemie (w szczególności zaem usuwa srony innych procesów) sronicowanie dynamiczne. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany na żądanie definicje pomocnicze Dysans w przód: k gdy r+ k= x r+ i x << i k d ( x) = gdy r+ i x < i Dysans w ył: k gdy r k= x r i x << i k b ( x) = gdy ri x i< Chwila osaniego sprowadzenia do pamięci: g ( x) = max{ i: i x X } Sysemy operacyjne Algorymy wymiany sron 9 i Algorymy wymiany na żądanie własności Srona x sprowadzana jes w chwili ylko wówczas, gdy r = x i x S Srona y usuwana jes w chwili ylko wówczas, gdy S = m i r S Zachodzi warunek Y X O specyfice algorymu wymiany na żądanie decyduje algorym usuwania sron. Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany na żądanie funkcja koszu Funkcja koszu sprowadza się do nasępującej posaci C( A, m, ω ) = X Algorymy wymiany na żądanie MIN Wybór srony usuwanej w chwili : y = min{ z S : d ( z) = max{ d ( u)}} u S Twierdzenie: w klasie algorymów wymiany na żądanie algorym MIN minimalizuje kosz C(A, m, ω) dla każdego m i ω. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany na żądanie LRU (Leas Recenly Used) Wybór srony usuwanej w chwili : usuwana jes srona y, dla kórej b( y) = max{ b( u)} u S Algorym daje dobre wyniki w przypadku procesów wykazujących lokalność czasową odwołań do pamięci, gdyż dysans w ył dobrze przybliża dysans w przód. Sysemy operacyjne Algorymy wymiany sron Alg. wymiany na żąd. LFU/MFU (Leas/Mos Frequenly Used) Niech FREQ (x) oznacza liczbę odniesień do srony x w ciągu: r, r,..., r - lub r k, r k+,..., r -, gdzie k = g (x) Wybór srony usuwanej w chwili : usuwana jes srona y, dla kórej LFU: FREQ ( y) min{freq ( u)} = u S MFU: FREQ ( y) = max{freq ( u)} u S Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany na żądanie FIFO (ang. Firs In Firs Ou) Wybór srony usuwanej w chwili : usuwana jes srona y, dla kórej g ( y) min{ g ( u)} = u S Algorym daje dobre wyniki w przypadku programów z sekwencyjnym przepływem serowania (mało pęli, wywołań procedur) Algorymy wymiany na żądanie LIFO (ang. Las In Firs Ou) Wybór srony usuwanej w chwili : usuwana jes srona y, dla kórej g ( y) = max{ g ( u)} u S Algorym daje dobre wyniki w przypadku realizacji fragmenu programu zawierającego pęlę, gdyż ponowne wykonanie ej samej insrukcji nasąpi dopiero po wykonaniu całej kolejnej ieracji. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany na żądanie LD (ang. Loop Deecion) Definicja czasu biernego l : niech k = - b (z) l( z) = bk( z) Wybór srony usuwanej w chwili : usuwana jes srona y, dla kórej b ( y) = max{ b ( z)} jeśli b ( z) > l ( z) z S z S l ( y) b ( y) = max{ l ( z) b ( z)} jeśli z S b ( z) l ( z) z S momen osaniego odniesienia do srony w przeszłości Sysemy operacyjne Algorymy wymiany sron Zagadnienia implemenacyjne Implemenacja algorymu FIFO Implemenacja algorymu LRU Algorymy przybliżające meodę LRU algorym drugiej szansy (FINUFO) algorym dodakowych biów odwołań ulepszony algorym drugiej szansy Implemenacja algorymów licznikowych Sysemy operacyjne Algorymy wymiany sron Implemenacja algorymu FIFO Urzymywanie lisy numerów sron w kolejności ich sprowadzania do pamięci Umieszczanie numeru sprowadzanej srony na końcu lisy Usuwanie z pamięci (i z lisy) srony, kórej numer znajduje się na począku lisy Możliwość wysąpienia anomalii Belady ego Sysemy operacyjne Algorymy wymiany sron 9 dla ramek mamy 9 błędów srony, a dla ramek mamy błędów srony Przykład anomalii Belady ego Ciąg odniesień:,,,,,,,,,,, Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Implemenacja algorymu LRU Licznik przed każdym odwołaniem do pamięci zwiększana jes warość pewnego licznika i wpisywana do odpowiedniej pozycji opisującej sronę w ablicy sron (lub w innej specjalnej srukurze sysemu operacyjnego). Z pamięci usuwana jes wówczas srona z najmniejszą warością ego licznika, co wymaga przejrzenia całej ablicy sron. Sos numery sron, do kórych nasępuje odwołanie, odkładane są na szczycie sosu. Przed odłożeniem na szczycie numer srony musi być wydobyy ze środka sosu, czyli z miejsca, gdzie był osanio odłożony. W ej implemenacji pamięci usuwana jes srona z dna sosu. Algorymy przybliżające meodę LRU Niezbędne wspomaganie sprzęowe: bi odniesienia (ang. reference bi) usawiany dla danej srony przez sprzę zawsze, gdy nasępuje zapis lub odczy na ej sronie, bi modyfikacji (ang. modify bi) usawiany dla danej srony przez sprzę zawsze, gdy nasępuje zapis na ej sronie. Algorymy korzysające ze wspomagania sprzęowego: algorym drugiej szansy wykorzysuje bi odniesienia, algorym dodakowych biów odwołań wykorzysuje bi odniesienia, ulepszony algorym drugiej szansy wykorzysuje bi odniesienia i bi modyfikacji. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron ablica sron Algorym drugiej szansy (FINUFO) bi odnies. srona do usunięcia lisa sron Algorym dodakowych biów odwołań ablica sron bi odnies. ablica dodakowych biów odwołań osania srony do usunięcia Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron ablica sron Ulepszony algorym drugiej szansy bi odnies. bi modyf. srona do usunięcia lisa sron Sysemy operacyjne Algorymy wymiany sron Implemenacja algorymów LFU i MFU Urzymywanie liczników odniesień do każdej ze sron i ich inkremenacja przy każdym odwołaniu do odpowiedniej srony Usuwanie srony z najmniejszą (LFU) lub największą (MFU) warością licznika Zerowanie licznika po usunięciu srony z pamięci Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Dobór liczby ramek Minimalna liczba ramek zdefiniowana przez archiekurę kompuera (zależna od maksymalnej liczby komórek adresowanych przez jeden rozkaz). Liczba ramek przydzielona dla procesu podział równomierny (ang. equal allocaion) podział proporcjonalny (ang. proporional allocaion) przydział zależny od prioryeu procesu Przydział ramek Sronicowanie sayczne liczba ramek jes usalona na cały czas cyklu przewarzania procesu, Sronicowanie dynamiczne liczba przydzielonych ramek jes zmienna. liczba ramek przydzielonych procesowi zmienia się w czasie w zależności od porzeb samego procesu oraz działań i porzeb innych procesów w sysemie. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Problem sronicowania saycznego Niech f i, f j i f oznaczają średnią częsość błędów srony odpowiednio procesu P i, P j oraz całego sysemu. Niech m i i m j oznacza liczbę ramek odpowiednio procesu P i, P j. Niech f i oznacza średnią częsość błędów srony procesu P i przy liczbie ramek m i f > f m < m f > f ( ) j i i i i Sysemy operacyjne Algorymy wymiany sron 9 Zjawisko szamoania (migoania) sron (ang. rashing) Szamoanie oznacza isony wzros częsości generowania błędu srony, wynikający z niemożności urzymania w pamięci sron akywnych. Przyczyna szamoania: zby mała liczba dosępnych ramek. Sysemy operacyjne Algorymy wymiany sron Szamoanie w przypadku sronicowania saycznego Szamoanie w przypadku sronicowania dynamicznego Założenie: program wykazuje lokalność przesrzenną odwołań do pamięci. Model srefowy (ang. localiy model) srefa zbiór sron akywnych w czasie wykonywania określonego fragmenu programu, wykonanie programu sprowadza się do przechodzenia z jednej srefy do drugiej, program składa się z wielu sref, najczęściej zachodzących na siebie. Przyczyna szamoania: liczba dosępnych ramek jes mniejsza od rozmiaru srefy. spadek liczby procesów goowych spadek wykorzysania procesora wzros liczby procesów oczekujących zwiększenie liczby zadań w sysemie Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Zapobieganie szamoaniu W sysemie sronicowania dynamicznego szamoanie można ograniczyć przez zasosowanie algorymu zasępowania lokalnego lub prioryeowego (nie likwiduje o jednak problemu!!!). Szamoanie można zlikwidować, dosarczając procesowi ylu wolnych ramek ilu porzebuje do wykonania określonego fragmenu programu (np. procedury, pęli). Jak się dowiedzieć ile wolnych ramek jes porzebnych procesowi? Alg. wymiany ze sprowadzaniem na żądanie własności Srona x sprowadzana jes w chwili ylko wówczas, gdy r = x i x S Możliwe jes usunięcie srony nawe w przypadku odniesienia, kóre nie powoduje błędu srony Możliwy jes warunek: Y > X ( X ) Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Alg. wymiany ze sprowadzaniem na żąd. dodakowe oznaczenia f średnia częsość błędów srony c pf kosz obsługi błędu srony c u kosz przechowywania srony w pamięci przez jednoskę czasu wirualnego Sysemy operacyjne Algorymy wymiany sron Alg. wymiany ze sprow. na żąd. VMIN (ang. Variable-space MIN) Wybór srony usuwanej w chwili : srona usuwana jes naychmias po jej przeworzeniu i ylko wówczas, gdy nie będzie ona wykorzysywana przez czas dłuższy niż c pf /c u jednosek czasu wirualnego cpf Y { r } jeśli d( r ) = > cu Twierdzenie: w klasie algorymów wymiany ze sprowadzaniem na żądanie, przy określonym średnim rozmiarze przydzielonej procesowi pamięci operacyjnej m w, algorym VMIN minimalizuje średnią częsość generowania błędów srony. Sysemy operacyjne Algorymy wymiany sron Zbiór roboczy definicja Zbiór roboczy przykład Zbiór roboczy procesu (ang. working-se) zbiór sron, do kórych nasąpiło odwołanie w ciągu osanich τ odwołań (zw. oknie zbioru roboczego) w czasie działania procesu Okno zbioru roboczego (ang. working-se window) liczba odwołań do pamięci, przez kóre dana srona pozosaje w zbiorze roboczym od osaniego odwołania do niej τ = τ =,,,,,,,,,,,, {,,, } = W(, ) {,,, } = W(, ) {,,,, } = W(, ) {,,, } = W(, ) Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Usalanie liczby porzebnych ramek Zaporzebowanie na ramki w całym sysemie jes sumą rozmiarów zbiorów roboczych, czyli Z = Σ W i, gdzie W i jes mocą (liczbą elemenów) zbioru W i, czyli zaporzebowaniem i-ego procesu na ramki. Jeśli Z > m, gdzie m jes całkowią liczbą ramek w sysemie dosępną dla procesów użykownika, o zaporzebowanie jes zby duże i może powsać szamoanie. Sysem operacyjny musi wówczas wsrzymać wykonywanie jakiegoś procesu i zwolnić zajmowane przez niego ramki Jeśli w sysemie są wolne ramki (Z < m), o można rozpocząć nowy proces. Sysemy operacyjne Algorymy wymiany sron 9 Alg. wymiany ze sprow. na żąd. WS (ang. Working Se) Formalna definicja zbioru roboczego W(, τ) W(, τ ) = z: r i= z = { z: b( z) < τ} < i τ Wybór srony usuwanej w chwili : usuwana jes srona, kóra nie była używana w osanich τ jednoskach czasu wirualnego { τ } Y = y: y S y W(, ) = S \ W(, τ ) Problem: jak dobrać rozmiar okna zbioru roboczego τ? Sysemy operacyjne Algorymy wymiany sron Alg. wymiany ze sprow. na żąd. WS (ang. Working Se) Jak należałoby zinerpreować fak wysąpienia problemu zasępowania (brak wolnej ramki) w przypadku obsługi błędu srony? Alg. wymiany ze sprow. na żąd. DWS (ang. Damped Working Se) Wybór srony usuwanej w chwili : usuwana jes srona, kóra nie była używana w osanich τ jednoskach czasu wirualnego lub w przypadku wysąpienia błędu srony srona, kóre nie była wykorzysywana przez więcej niż ατ jednosek czasu wirualnego (α < ). S \ W(, τ ) jeśli r S Y = { y: b( y) = max{ b( z)} b( y) > ατ} jeśli r S z S Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Koncepcja idenyfikacji zbioru roboczego Dla każdej ramki urzymywany jes wirualny czas osaniego odniesienia do niej. Po każdym odniesieniu do srony zwiększana jes warość licznika odniesień i wpisywana do odpowiedniej ablicy na pozycji odpowiadającej ramce, w kórej znajduję się adresowana srona. Do zbioru roboczego należą e srony, dla kórych różnica pomiędzy bieżącą warością licznika odniesień, a warością wpisaną w ablicy jes mniejsza lub równa rozmiarowi okna zbioru rob. Problemy zasosowania koncepcji zbioru roboczego Kwesia zasadności przesłanki o lokalności czasowej odniesień do pamięci Problem precyzyjnej idenyfikacji zbioru roboczego: moniorowanie odniesień do pamięci urzymywanie odpowiednich srukur danych Problem doboru rozmiaru okna zbioru roboczego Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak 9

Sysemy operacyjne Algorymy wymiany sron Problemy idenyfikacji zbioru roboczego Problem moniorowania odniesień do sron zby duży kosz (narzu czasowy) dosępu do pamięci w przypadku rozwiązań programowych zby duży kosz realizacji rozwiązań sprzęowych Problem złożoności obliczeniowej pamięciowej duża złożoność srukur danych czasowej czas porzebny na akualizację srukur danych oraz na zidenyfikowanie sron (ramek), kóre znalazły się poza zbiorem roboczym Sysemy operacyjne Algorymy wymiany sron Przybliżona realizacja koncepcji zbioru roboczego Wspomaganie sprzęowe bi odniesienia. Okresowe (wyznaczone przez czasomierz lub przez wysąpienie błędu srony) inkremenowanie licznika reprezenującego czas wirualny oraz sprawdzanie biu odniesienia dla każdej z ramek. Jeśli bi odniesienia jes usawiony, o skasowanie biu odniesienia i wpisanie bieżącej warości licznika do ablicy na pozycji odpowiadającej ramce. Jeśli bi odniesienia jes skasowany o sprawdzenie różnicy pomiędzy bieżącą warością licznika a warością wpisaną na odpowiedniej pozycji w ablicy i usunięcie srony, gdy różnica jes większa niż rozmiar okna. Sysemy operacyjne Algorymy wymiany sron Algorym WSClock (). Dla każdej ramki urzymywany jes wirualny czas (przybliżony) osaniego odniesienia do niej.. Wszyskie srony w pamięci (niezależnie od przynależności do procesu) powiązane są w cykl zgodnie z kolejnością ich sprowadzenia (podobnie jak w przypadku alg. drugiej szansy). W wyniku wysąpienia błędu srony sprawdzany jes bi odniesienia do srony wskazywanej jako kolejna do usunięcia.. Jeśli bi odniesienia jes usawiony, zosaje on skasowany, nasępuje wskazanie srony nasępnej w cyklu i sprawdzenie biu odniesienia. Sysemy operacyjne Algorymy wymiany sron Algorym WSClock (). Jeśli bi odniesienia jes skasowany, sprawdzana jes różnica pomiędzy wirualnym czasem bieżącym, a czasem osaniego odniesienia do wskazywanej srony. jeśli różnica jes większa od rozmiaru okna zbioru roboczego, srona jes usuwana, a ramka zosaje wykorzysana dla srony sprowadzanej, w przeciwnym razie srona pozosaje i nasępuje wskazanie srony nasępnej w cyklu i ponawiany jes ciąg działań począwszy od punku algorymu.. W przypadku braku wolnych ramek nasępuje wsrzymanie (zawieszenie) jakiegoś procesu ( planisa średnioerminowy). Sysemy operacyjne Algorymy wymiany sron Algorym WSClock przykład ablica sron bi odnies. czas odnies. 9 9 rozmiar okna: czas bieżący: srona do usunięcia lisa sron Algorym WSClock a koncepcja zbioru roboczego. Na czym polega naruszenie idei zbioru roboczego przez algorym WSClock?. Dlaczego w przypadku zbioru roboczego jes sens sosować algorym usuwania inny niż na żądanie? Sysemy operacyjne Algorymy wymiany sron 9 Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Algorym zegarowy dwuwskazówkowy. Wszyskie srony w pamięci (niezależnie od przynależności do procesu) powiązane są w lisę cykliczną zgodnie z kolejnością ich sprowadzenia (podobnie jak w przypadku alg. drugiej szansy). Lisa przeglądana jes okresowo przez wskazówki: przednią i ylną.. Przednia wskazówka zeruje bi odniesienia.. Jeśli bi odniesienia przed nadejściem ylnej wskazówki zosanie ponownie usawiony, srona pozosaje w pamięci, w przeciwnym przypadku jes usuwana.. Algorym serowany jes nasępującymi paramerami: empo przeglądania, rozsunięcie wskazówek. Sysemy operacyjne Algorymy wymiany sron Algorym dwuwskazówkowy przykład ablica sron bi odnies. srona do usunięcia lisa sron Sysemy operacyjne Algorymy wymiany sron Implemenacja przybliżająca algorym DWS () Dla każdej ramki w sysemie urzymywany jes przybliżony czas osaniego odniesienia. W przypadku wysąpienia błędu srony lub w wyniku przerwania od czasomierza sprawdzany jes bi odniesienia dla każdej ramki. jeśli bi odniesienia jes usawiony, jes on kasowany i nasępuje akualizacja czasu odniesienia do ramki, jeśli bi odniesienia jes skasowany sprawdzany jes zarejesrowany wcześniej czas osaniego odniesienia i obliczany jes dysans w ył b. Implemenacja przybliżająca algorym DWS () W zależności od warości dysansu w ył podejmowane są nasępujące akcje: b > τ srona jes usuwana, a ramka dołączana do puli wolnych ramek, ατ < b τ ramka jes dołączana do zbioru poencjalnych ramek-ofiar, ale srona nie jes usuwana, b ατ srona pozosaje w zbiorze roboczym. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Implemenacja przybliżająca algorym DWS () W przypadku wysąpienia błędu srony podejmowane są nasępujące akcje: jeśli isnieją wolne ramki, jedna z nich zosanie wykorzysana do sprowadzenia srony, jeśli nie ma wolnych ramek ale isnieją poencjalne ramki-ofiary, nasępuje zasąpienie srony w wybranej ramce przez sronę sprowadzaną, jeśli wszyskie ramki są zajęe nasępuje zawieszenie jednego z procesów ( planisa średnioerminowy) i wykorzysanie zwolnionych przez niego ramek. Alg. wymiany ze sprow. na żąd. PFF (ang. Page Faul Frequency) Jeśli częsoliwość błędów srony generowanych przez proces przekroczy usalony poziom f H, o dla sron ego procesu sprowadzanych do pamięci przydzielana są nowe ramki. Jeśli częsoliwość błędów srony spadnie poniżej usalonego poziomu f L, o usuwane są wszyskie srony, do kórych nie było odniesienia od chwili wysąpienia osaniego błędu srony w danym procesie. W szczególności f H = f L Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Implemenacja PFF konrola częsości błędów srony Przy każdym błędzie srony generowanym przez proces zwiększany jes licznik błędów srony danego procesu oraz zerowane są biy odniesienia do jego sron. W określonych okresach czasu (generowanych przez czasomierz) sprawdzane są (a nasępnie zerowane) warości liczników poszczególnych procesów. Jeśli warość licznika jes większa od usalonej górnej granicy, o procesowi przydzielana jes dodakowa ramka. Jeśli warość licznika jes mniejsza od usalonej dolnej granicy, o procesowi zabierana jes jedna ramka (lub wszyskie ramki z wykasowanym biem odniesienia). Implemenacja PFF konrola okresu pomiędzy błędami srony Przy każdym błędzie srony sprawdzany jes czas jaki upłynął od poprzedniego błędu srony. Jeśli czas jes mniejszy od usalonej wielkości T min, o na porzeby sprowadzanej srony przydzielana jes dodakowa ramka. Jeśli czas jes większy od usalonej wielkości T max, o wszyskie srony ze skasowanym biem odniesienia są usuwane (ramki są zwalniane), a bi odniesienia dla sron pozosających w pamięci jes kasowany. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Alg. wymiany ze sprowadzaniem na żąd. VSWS (ang. variableinerval sampled working se) Przy każdym błędzie srony zwiększany jes licznik błędów srony danego procesu n. Co pewien okres czasu T, wynikający ze sanu wymiany, nasępuje konrola odniesień do sron. W ramach konroli e srony, do kórych nie było odniesienia są usuwane (ich ramki są zwalniane), a biy odniesienia sron pozosających na nasępny okres (do kórych było odniesienie) są kasowane. Warość licznika n jes zerowana. Sysemy operacyjne Algorymy wymiany sron 9 Wielkość inerwału czasu dla algorymu VSWS Alg. serowany jes nasępującymi paramerami: T max maksymalna wielkość inerwału czasu T min minimalna wielkość inerwału czasu n max maksymalna liczba błędów srony Konrola nasępuje w chwili, po czasie T od momenu poprzedniej konroli, usalanym nasępująco: n < nmax T = Tmax n n T T < T max min max Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem dodakowe oznaczenia PRED(x) funkcja określająca numer srony, kórą należy ewenualnie wsępnie sprowadzić w przypadku wysąpienia błędu srony w momencie odniesienie do srony nr x. Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem DPMIN (ang. Demand Prepaging MIN) W chwili wysąpienia błędu srony do pamięci sprowadzane jes m pierwszych sron w przyszłym ciągu odniesień. S jeśli r S S = { x, x,, xl} ( l m) jeśli r S Twierdzenie: w klasie algorymów wymiany z wsępnym sronicowaniem na żądanie algorym DPMIN jes opymalny ze względu na liczbę błędów srony. Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem OBL (ang. One Block Lookahead) Niech PRED(i) = i + W chwili wysąpienia błędu srony nasępuje sprowadzenie srony x = r i wymiana zgodnie z algorymem LRU. Jeśli srona nr x = PRED(x ) S -, o nasępuje sprowadzenie srony x i wymiana zgodnie z algorymem LRU. Algorymy wymiany z wsępnym sronicowaniem SL (ang. Spaial Lookahead) () Niech u oznacza nr srony osanio sprowadzanej do pamięci w wyniku odniesienia do niej. Niech począkowo PRED(i) = i + Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem SL () W chwili wysąpienia błędu srony nasępuje sprowadzenie srony x = r i wymiana zgodnie z algorymem LRU. Jeśli przy poprzedniej wymianie nie dokonano wsępnego sprowadzenia lub nie było odniesienia do srony wsępnie sprowadzonej do chwili obecnej PRED(u) := r. Jeśli srona nr x = PRED(x ) S -, o nasępuje sprowadzenie srony x i wymiana zgodnie z algorymem LRU. u := r. Algorymy wymiany z wsępnym sronic. FDPA (Fixed-space Demand Prepaging Alg.) () Algorym wykorzysuje dodakową wiedzę wynikającą ze saycznej analizy kodu (przed wykonaniem programu) lub z informacji dosarczonych przez programisę. Uzyskana wiedza reprezenowana jes w ciągu zgłoszeń przez dodakowe insrukcje dla sysemu operacyjnego: FREE(x) srona x nie będzie wykorzysywana w niedalekiej przyszłości, PRE(x) srona x będzie wkróce wykorzysywana. Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem FDPA () Z każdą sroną x skojarzone są nasępujące biy: bi usunięcia D(x) bi wsępnego sprowadzenia P(x) Z zbiorze sron w pamięci S wyróżnia się nasępujące podzbiory: D = {x : x S D(x) = } P = {x : x S P(x) = } Algorymy wymiany z wsępnym sronicowaniem FDPA () Zasady usuwania sron jeśli S < m y D jeśli D zgodnie z LRU w pozosałych przypadkach Sysemy operacyjne Algorymy wymiany sron Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak

Sysemy operacyjne Algorymy wymiany sron Algorymy wymiany z wsępnym sronicowaniem FDPA () Obsługa odniesienia do srony r = FREE( x) x S D( x): = r = PRE( x) x S P( x) : = r = x x S S : = S, P( x): = r = x x S dokonaj wymiany Algorymy wymiany z wsępnym sronicowaniem FDPA () Realizacja wymiany: sprowadzenie żądanej srony x, usawienie D(x) :=, i usunięcie, jeśli o konieczne, srony ze zbioru S - \P -. Wsępne sronicowanie: jeśli S - \D - < m i x:p(x) =, dokonaj sprowadzenia srony x z ewenualną wymianą. Sysemy operacyjne Algorymy wymiany sron 9 Sysemy operacyjne Algorymy wymiany sron Dariusz Wawrzyniak