Zbigniew S. Szewczak Podstawy Systemów Operacyjnych
|
|
- Arkadiusz Krzemiński
- 8 lat temu
- Przeglądów:
Transkrypt
1 Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 10 Pamięć wirtualna. Toruń, 2004
2 Odrabianie wykładów czwartek, , S7, g za czwartek, , S7, g za 12.05
3 Pamięć wirtualna Podstawy Stronicowanie na żądanie Sprawność stronicowania na żądanie Zastępowanie stron Algorytmy zastępowania stron Przydział ramek Szamotanie Inne rozważania Segmentacja na żądanie
4 Podstawy Wykonywane rozkazy muszą rezydować w pamięci, jednak cały program nie musi programy często zawierają fragmenty obsługi sytuacji wyjątkowych tablice, listy mają zwykle nadmiar przydzielonej pamieci pewne możliwości programu są rzadko stosowane Zalety programu częściowo rezydującego brak ograniczeń na pamięć więcej programów: lepsze wykorzystanie procesora mniejsza liczba operacji we/wy dla załadowania programu więc program wykonuje się szybciej
5 Podstawy (c.d.) Pamięć wirtualna (ang. virtual memory ) pozwala na odseparowanie pamięci logicznej użytkownika od pamięci fizycznej Można jedynie część programu załadować do pamięci w celu wykonania Logiczna przestrzeń adresowa procesu może dlatego być znacznie większa niż fizyczna przestrzeń adresowa Potrzeba wymiany stron między dyskiem a pamięcią Pamięć wirtualną można zaimplementować jako: Stronicowanie na żądanie (ang. demand paging) Segmentacja na żądanie (ang. demand segmentation) np.os/2
6 Pamięć wirtualna i fizyczna strona 0 strona 1 strona 2... strona n pamięć wirtualna odwzorowanie pamięci pamięć fizyczna
7 Stronicowanie na żądanie Nigdy nie dokonuje się wymiany strony w pamięci jeśli nie jest to konieczne - procedura leniwej wymiany (ang. lazy swapper) Mniej operacji we/wy Mniej pamięci Szybsza reakcja Więcej użytkowników Jeśli strona jest potrzebna odwołaj się niepoprawne odwołanie abort brak strony w pamięci sprowadź z stronę do pamięci Zgodność z Zasadą lokalności odniesień
8 Stronicowanie na żądanie (c.d.) Proces jest traktowany jako ciąg stron Procedura wymiany dotyczy całego procesu Procedura stronicująca (ang. pager) dotyczy poszczególnych stron procesu Gdy proces ma zostać wprowadzony do pamięci, wówczas procedura stronicująca zgaduje jakie strony będą w użyciu przed ponownym załadowaniem na dysk (ang. swap space) Nigdy nie dokonuje się wymiana całego procesu dlatego używamy określenia stronicowanie (ang. page) zamiast wymiana (ang. swap)
9 Przesyłanie do obszaru ciąłego program A swap out program B swap in pamięć operacyjna
10 Bit poprawności Z każdą pozycją w tablicy stron stowarzyszony jest bit poprawności (ang. valid-invalid bit): 1 w pamięci, 0 poza pamięcią (dozwolona lub nie) Początkowo bit poprawności ustawiany jest na 0 (lub i) dla wszystkich pozycji Nr ramki bit poprawności Przykład 1 Μ tablica stron
11 Tablica stron z brakami stron 0 0 A numer ramki 0 4 bit poprawności v B 1 i 4 A C D E F v i i v i C F C F A B D E 6 G 7 H pamięć logiczna 7 i tablica stron pamięć fizyczna
12 Brak strony Implementacja bitu poprawności wymaga wsparcia ze strony sprzętu Jeśli wystąpi odwołanie do strony z bitem 0, sprzęt stronicujący spowoduje przejście do systemu operacyjnego: błąd zwany brakiem strony (ang. page-fault) Czyste stronicowanie na żądanie (ang. pure demand paging): Nigdy nie sprowadzaj strony do pamięci wcześniej niż jest to niezbędne
13 Procedura obsługi braku strony 1. System operacyjny sprawdza wewnętrzną tablicę oraz decyduje, że: 2. jeśli odwołanie niedozwolone - kończy proces 2. jeśli odwołanie dozwolone tylko zabrakło strony w pamięci to sprowadza tę stronę 3. System znajduje wolną ramkę na liście wolnych ramek 4. System wczytuje stronę z dysku do wolnej ramki 5. System wstawia bit 1 (lub v) w tablicy stron 6. System wykonuje przerwany rozkaz
14 Etapy obsługi braku strony system operacyjny 3 strona w pamięci pomocniczej odniesienie 1 2 pułapka umieść M 6 wznowienie wykonywania tablica stron i pamięć fizyczna 5 4 odnowienie tablicy stron sprowadzenie brakujacej strony
15 Co się stanie gdy zabraknie wolnej ramki? Zastąpienie strony - szukamy strony w pamięci która nie jest używana i zapisujemy na dyska wydajność potrzebny jest taki algorytm, który zminimalizuje liczbę braków strony Pewne strony mogą być sprowadzane do pamięci po kilka razy Może się okazać, że kilka stron w pamięci jest potrzebnych do wykonania jednego rozkazu MVC (przenieś znaki), EX (wykonaj) sposób adresowania - np. pośrednie, autoincrement (PDP-11) Wn. Sposób zastąpienia strony zależy od architektury komputera
16 Sprawność stronicowania na żądanie Prawdopodobieństwo braku strony p jeśli p=0 to brak braku stron jeśli p=1 to każde odwołanie generuje brak strony Efektywny czas dostępu (EAT) EAT = (1-p) * cd + p* czas obsługi strony cd - czas dostępu do pamięci (10 do 200 ns) czas obsługi strony obsługa przerwania wywołanego brakiem strony (1 do 100 µs) czytanie strony wznowienie procesu(1 do 100 µs)
17 Prefiksy metryczne 10^-3 - mili (m); 10^3 - kilo (k) 10^-6 - micro (µ); 10^6 - Mega (M) 10^-9 - nano (n); 10^9 - Giga (G) 10^-12 - pico (p); 10^12 - Tera (T) 10^-15 - femto (f); 10^15 - Peta (P) 10^-18 - atto (a); 10^18 - Exa (E) 10^-21 - zepto (z); 10^21 - Zetta (Z) 10^-24 - yocto (y); 10^24 - Yotta (Y)
18 Przykłady wykorzystania 1.7 yg - masa protonu 1 as - czas przejścia światła przez atom 1 pg - masa bakterii 1 µl - kropelka wody 1 Ms - 11,6 dni 0,3 Gm - sekunda świetlna 9,5 Pm - rok świetlny 1 ZL - objętość Pacyfiku 1 YL - pojemność Ziemii
19 Czas obsługi braku strony Przejście do systemu operacyjnego Przechowanie kontekstu Określenie, że przerwanie to brak strony Określenie dopuszczalności i położenia strony Czytanie z dysku do wolnej ramki Przydzielenie procesora w trakcie transferu Przerwanie we/wy po transferze strony Odebranie sterowania i przełączenie kontekstu Skorygowanie tablicy stron Czekanie na przydział procesora i wznowienie
20 Stronicowanie na żądanie - przykład cd = 100 ns czytanie strony z dysku twardego opóźnienie (ang. latency) - 8ms przeszukiwanie (ang. seek) - 15ms przesyłanie (ang. transfer) - 1ms Czytanie strony = 25 ms = ns EAT = (1 p) *(100) + p *( ) = *p ns Wn. EAT jest proporcjonalny do p (page-fault rate) dlatego rozsądnym jest utrzymywanie małego prawdopodobieństwa p braku strony
21 Tworzenie procesu Podczas tworzenia procesu pamięć wirtualna pozwala na realizację technik poprawiajacych wydajność systemu kopiowanie przy zapisie (ang. copy-on-write) odwzorowanie plików do pamięci (ang. memory-mapped files)
22 Kopiowanie przy zapisie Kopiowanie przy zapisie umożliwia procesowi potomnemu jak i rodzicowi dzielenie tych samych stron w pamięci Jeśli któryś z nich modyfikuje stronę to jest ona kopiowana Kopiowanie przy zapisie poprawia wydajność tworzenia procesów np. Linux, W2K, Solaris 2 Wolne strony są alokowane z puli wyzerowanych stron (ang. zero-fill-on-demand) vfork - rodzic jest zawieszony i potomek używa jego przestrzeni adresowej, np. funkcja systemowa exec
23 Odwzorowanie plików do pamięci We/wy na pliki odwzorowane w pamięci to dostęp do bloków danych dyskowych wymapowanych na strony Plik jest początkowo czytany jako żądanie strony Blok danych o wielkości strony zostaje wczytany Operacje we/wy na pliku to we/wy na pamięci Uproszczenie dostępu do pliku, bez wywołań systemowych read(), write() Wiele procesów może korzystać z pliku dzieląc strony w pamięci Solaris 2
24 Zastępownie stron - dzielenie stron pliku pamięć wirtualna procesu A pamięć fizyczna pamięć wirtualna procesu B plik na dysku
25 Zapotrzebowanie na zastąpienie strony - brak wolnej ramki PC H umieść M J M pamięć logiczna użytkownika 1 ramka bit poprawności v v v tablica stron użytkownika 1 i monitor D H B A B D E pamięć logiczna użytkownika 2 ramka bit poprawności 6 v i 2 v 7 v tablica stron użytkownika 2 4 umieść M 5 J 6 A 7 E pamięć fizyczna M
26 Zastępowanie stron Ochrona przed nadprzydziałem (ang. overallocation) pamięci przez dodanie do obsługi braku strony możliwości zastąpienia strony (ang. page replacement). 1. Zlokalizowanie potrzebnej strony na dysku 2. Odnalezienie wolnej ramki jeśli ramka istnieje - zostaje użyta w przeciwnym razie typowanie ramki ofiary (ang. victim) ramka ofiara zapisana na dysk; zmiana w tablicy stron 3. Wczytanie potrzebnej strony 4. Wznowienie procesu
27 Zastępowanie strony ramka o f bit poprawności i v tablica stron 2 4 zmiana na invavlid f reset tablicy stron dla nowej strony ofiara strona ofiara swap out 1 strona potrzebna swap in 3 pamięć fizyczna
28 Zastępowanie stron (c.d.) Gdy nie ma wolnych ramek - potrzebne jest dwukrotne przesyłanie stron a w konsekwencji wydłużenie efektywnego czasu dostępu Zastosowanie bitu modyfikacji (zabrudzenia) (ang. modify (dirty) bit ) do zredukowania czasu dostępu - tylko strony zmodyfikowane są zapisywane na dysk
29 Zastępowanie stron (c.d.) Zastępowanie stron jest podstawą stronicowania na żądanie i dopełnia rozdzielenie pamięci logicznej od fizycznej Z pomocą tego mechanizmu otrzymujemy wielką pamięć wirtualną używając mniejszej pamięci fizycznej Dwa główne problemy algorytm przydziału ramek (ang. frame-allocation algorithm) algorytm zastępowania stron (ang. page-replacement algorithm)
30 Algorytmy zastępowania stron Minimalizacja częstości braków stron (ang. pagefault rate) Algorytm ocenia się na podstawie wykonania go na pewnym ciągu odniesień (ang. reference string) do pamięci i zsumowaniu liczby braków stron w tym ciągu Dla zilustrowania algorytmów zastępowania stron będziemy używać pamięci z trzema wolymi ramkami oraz następujacego ciągu odniesień 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1.
31 Algorytm zastępowania FIFO Algorytm FIFO (ang. First-In-First-Out) stowarzysza z każdą ze stron czas kiedy została ona sprowadzona do pamięci Jeśli trzeba zastąpić stronę to zastępowana jest najstarsza ze stron Implementuje się za pomocą kolejek FIFO (IPC System V, POSIX) Dla ciągu odniesień z trzema ramkami mamy 15 braków stron (w tym trzy początkowe braki stron)
32 Algorytm FIFO - przykład Ciąg odniesień: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 ramki (3 strony mogą być w pamięci w w tym samym czasie) braków stron ramki braków stron 4 4 3
33 Anomalia Belady ego Anomalia Belady ego (ang. Belady s anomaly) odzwierciedla fakt, że w niektórych algorytmach zastępowania stron współczynnik braków stron może wzrastać ze wzrostem wolnych ramek (mimo, że intuicja zdaje się sugerować, że zwiekszenie pamięci procesu powinno polepszyć jego działanie) Poszukiwanie optymalnego algorytmu zastępowania stron, który cechuje najniższy współczynnik braków stron
34 Krzywa braków stron (FIFO) 16 liczba braków stron liczba ramek
35 Algorytm optymalny Zastąp tę stronę, która najdłużej nie będzie używana; nazywany OPT lub MIN Przykład 3 ramek 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, braków stron Nie ma anomalii Belady ego
36 Algorytm optymalny (c.d.) Bardzo trudny do realizacji bo wymaga wiedzy o przyszłej postaci ciągu odniesień (podobnie jak przy planowaniu procesora metodą SJF) Używany głównie w studiach porównawczych wiedza o tym, że jakiś algorytm odbiega od optymalnego o 12,3% a średnio jest od niego gorszy o 4,7% może okazać się cenną inna sprawa to wartość wartości średniej
37 Algorytm LRU Zastąp tę stronę, która najdawniej była użyta (ang. Least Recently Used) Przykład 3 ramek 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 Nie jest dotknięty anomalią Belady ego Odwracalność braków stron
38 Algorytm LRU a FIFO - przykład Ciąg odniesień: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Zastępujemy najdawniej używaną stronę
39 Algorytm LRU (c.d.) Dwie implementacje Liczniki - do każdej pozycji w tablicy stron dołączamy rejestr czasu użycia, do procesora zaś dodajemy zegar logiczny lub licznik. Wskazania zegara są zwiększane wraz z każdym odniesieniem do pamięci. Ilekroć występuje odniesienie do pamięci, tylekroć zawartość rejestru zegara jest kopiowana do rejestru czasu użycia należącego do danej strony w tablicy stron Stos - przy każdym odwołaniu do strony jej numer wyjmuje się ze stosu i umieszcza na szczycie - najlepsza implementacja to dwukierunkowa lista ze wskaźnikami do czoła i do końca najwyżej 6 zmian wskaźników nie jest potrzebne przeszukiwanie listy
40 Przykład - LRU i użycie stosu
41 Algorytmy stosowe Algorytm stosowy (ang. stack algorithm) to taki algorytm dla którego zbiór stron w pamięci w przypadku n ramek jest podzbiorem zbioru stron w pamięci w przypadku n+1 ramek Przykład: LRU Własności: klasa algorytmów stosowych nie jest dotknięta anomalią Belady ego
42 Algorytmy przybliżające LRU Bit odniesienia (ang. reference bit) Z każdą stroną stowarzyszamy na początku bit 0 Czytanie lub pisanie na stronie ustawia bit na 1 Zastąp stronę stronę jeśli ma bit 0 nie można poznać porządku użycia stron Algorytm drugiej szansy (ang. second chance) Algorytm FIFO (wymaga zegara) Gdy strona (FIFO) ma bit odniesienia = 1 to strona dostaje drugą szansę na pobyt w pamięci: bit odniesienia = 0 i czas przybycia = bieżący zostawia się stronę w pamięci zastępuje się następną w porządku FIFO stronę według powyższych zasad
43 Zegarowy algorytm drugiej szansy następna ofiara bity odniesienia strona
44 Ulepszony algorytm drugiej szansy (x,y) - x - bit odniesienia, y- bit modyfikacji 4 klasy (od najniższej) (0,0) - nie używana ostatnio i nie zmieniana: najlepsza ofiara (0,1) - nie używana ostatnio ale zmieniona: gorsza ofiara bo wymaga zapisu na dysk (1,0) - używana ostatnio i czysta: może być wkrótce użyta (1,1) - używana ostatnio i zmieniana - najgorsza ofiara, prawdopodobnie będzie zaraz użyta Algorytm drugiej szansy ale zastępujemy pierwszą napotkaną stronę z najniższej niepustej klasy (x,y)
45 Algorytmy zliczające Wprowadzamy liczniki odwołań do każdej ze stron Algorytm LFU (ang. least frequently used) - zastąp stronę najrzadziej używaną Algorytm MFU (ang. most frequently used) - uzasadnia się tym, że strona z najmniejszą wartością licznika została prawdopodobnie dopiero co sprowadzona i będzie jeszcze używana Implementacja kosztowana i nie przybliżają dobrze algorytmu OPT
46 Algorytmy buforowania stron Zanim usunie się z pamięci ramkę ofiarę wczytuje się nową stronę do którejś z wolnych ramek Nie trzeba czekać na zakończenie zapisywania strony ofiary aby wznowić proces Z chwilą zapisania do swapu ramki ofiary dołączana jest ona do listy wolnych ramek Rozwinięcie tej idei: lista zmodyfikowanych stron gdy urządzenie stronicujące jest wolne (ang. idle) zmodyfikowna strona jest zapisywana na dysk Lista wolnych stron wraz listą odwiedzających stron VAX/VMS - ramka ofiara (FIFO) może być użyta
47 Przydział ramek Każdy proces wymaga minimalnej liczby ramek Przykład: IBM ramek potrzebnych do wykonania rozkazu typu SS MVC: rozkaz długośći 6 bajtów może zajmować 2 strony dane wejściowe (256 znaków) mogą zajmować 2 strony obszar na który przesyłamy może zajmować 2 strony gdy MVC jest argumentem rozkazu EXECUTE jeszcze 2! Dwa główne schematy przydziału przydział stały (ang. fixed allocation) przydział priorytetowy (ang. priority allocation)
48 MVC - Move Characters MVC D1(L,B1), D2(B2) prześlij pole danych o długości L z pod adresu wyznaczonego przez zawartość rejestru B2 powiększonego o przesunięcie D2 pod adres (B1)+D1 Przykład L=08, B1=x B, D1=001,B2=x B,D2=000 MVC 1(8,11), 0(11) - format Assemblera D207B001B000 - format maszynowy rejestr 11 zawiera x 358 ; pod adresem 358 mamy: 00F1F2F3F4F5F6F7F8F9 po wykonaniu MVC mamy pod adresem 358 :
49 EX - Execute EX R1, D2(X2,B2) do bitów 8-15 rozkazu z pod adresu (X2)+(B2)+D2 są dodawane logicznie bity rejestru R1 i tak zmodyfikowany rozkaz jest wykonywany Przykład pod adresem 3820 mamy D2FFB001B000; R11=x 358, pod adresem 358 mamy 00F1F2F3F4F5F6F7F8F9 R1=3, X2=0, B2=x A, D2=000, R10 = x EX 1,0(0,10) - format Assemblera 4410A000 - format maszynowy po wykonaniu EX mamy pod adresem 358: F5F6F7F8
50 Przydział stały Przydział równy (ang. equal allocation) - np. jeśli mamy 100 ramek i 5 procesów, to każdy proces może dostać 20 ramek Przydział proporcjonalny (ang. proportional allocation) - każdemu procesowi przydziela się dostępną pamięć proporcjonalnie do jego rozmiaru
51 Przydział proporcjonalny Przykład s(i) rozmiar pamięci wirtualnej procesu P(i) S = s(1)+s(2)+...+s(n) m - całkowita liczba ramek procesowi P(i) przydzielamy a(i)~ m*(s(i)/s) ramek m=64, n=2, s(1)=10, s(2)=127 a(1)= 64*(10/137) ~ 5 ramek a(2)= 64*(127/137) ~ 59 ramek
52 Przydział priorytetowy Zastosowanie metody przydziału proporcjonalnego, w którym liczba ramek zależy nie od względnych rozmiarów procesu, lecz od priorytetów procesów albo od kombinacji rozmiaru i priorytetu Jeśli proces P i generuje błąd braku strony wybierz do zastąpienia jedną z jego ramek wybierz do zastąpienia ramkę procesu o niższym priorytecie
53 Porównanie przydziału globalnego i lokalnego Zastępowanie globalne (ang. global replacement) umożliwia procesom wybór ramki ze zbioru wszystkich ramek, nawet gdy ramka jest w danej chwili przydzielona do innego procesu: jeden proces może zabrać ramkę drugiemu procesowi Zastępowanie lokalne (ang. local replacement) wybór ograniczony do zbioru ramek przydzielonych do danego procesu Lepszą przepustowość systemu daje globalne - zastępowanie lokalne ma mniejszy zakres
54 Szamotanie Jeśli proces nie ma wystarczająco dość ramek to współczynnik braków stron jest znaczny. Powoduje to: słabe wykorzystanie CPU system operacyjny reaguje: trzeba zwiększyć wieloprogramowość i podnieść wykorzystanie CPU nowy procesy z kolejki procesów gotowych staje się aktywnym Szamotanie (ang. trashing) - proces się szamocze jeśli spędza więcej czasu na stronicowaniu niż na wykonaniu
55 Przyczyna szamotania System operacyjny nadzoruje wykorzystanie jednostki centralnej Jeśli jest ono za małe planista przydziału procesora zwiększa stopień wieloprogramowości Strony zastępowane są według globalnego algorytmu bez brania po uwagę do jakich procesów należą Procesom zaczyna brakować stron Procesy ustawiają się w kolejce do urządzenia stronicującego Planista opróżnia kolejkę procesów gotowych
56 Powstrzymanie szamotania Zmniejszenie stopnia wieloprogramowości Lokalny (lub priorytetowy) algorytm zastępowania jeśli proces zaczyna się szamotać nie może on kraść ramek innemu procesowi bo może on też zacząć się szamotać Trzeba dostarczyć procesowi potrzebne ramki Należy zabezpieczyć się przed możliwością wystapienia braku ramek
57 Szamotanie - diagram wykorzystanie procesora szamotanie stopień wieloprogramowości
58 Model strefowy a chaos Model strefowy (ang. locality model) zakłada, że w trakcie wykonania przechodzi się z jednej strefy programu do innej, gdzie przez strefę programu rozumie się zbiór stron pozostajacych we wspólnym użyciu Ogólnie ujmując, program składa się z wielu różnych stref, które mogą na siebie zachodzić Strefy programu są określne przez jego strukturę oraz strukturę jego danych Model strefowy neguje losowość programów System operacyjny nie radzi sobie z chaosem
59 Zasada lokalności odniesień
60 Model zbioru roboczego Założenie: procesy mają charakter strefowy - parametr do definiowania okna roboczego (ang. working-set window) oznaczający ustaloną liczbę ostatnich odniesień do stron WS(i) - zbiór roboczy (ang. working-set) procesu P(i) - całkowita liczba odniesień do stron w ostatnich jednostkach czasu za małe nie obejmie całego zbioru roboczego za duże to będzie zachodzić na kilka stref programu nieskończone - wszystkie strony użyte przez proces Szamotanie jeśli WS(1)+..+WS(n) > #(pamięć) - należy zawiesić w takiej sytuacji jakiś proces
61 Utrzymanie śladu zbioru roboczego Trudno jest utrzymać ślad zbioru roboczego Model zbioru roboczego można przybliżać z pomocą zegara generującego przerwania w stałych odstępach czasu oraz bitu odniesienia Przykład = przerwania zegarowe co 5000 odniesień dwa bity przechowywane w pamięci dla każdej strony po wystąpieniu przerwania zegara kopiuje się i zeruje wartości bitów odniesień wszystkich stron jeśli wystąpi brak strony to badamy bit odniesienia i dwa bity w pamięci: conajmiej jeden ustawiony bit określa zbiór roboczy
62 Utrzymanie śladu zbioru roboczego - przykład (c.d.) Wada: nie można powiedzieć, w którym miejscu przydziału 5000 odniesień wystąpiło dane odniesienie Można zwiekszyć historię odniesień (t.j. ilość bitów z 2 do 10) i liczbę przerwań ( np. co 1000 odniesień) Wada: zwiększony koszt obsługi
63 Model zbioru roboczego - przykład ślad odwołań do stron t 1 WS(t 1 )= { 1,2,5,6,7 } 2 WS(t )= { 3,4 } t 2
64 Częstość braków stron Metodą mierzenia szamotania jest mierzenie częstości braków stron (ang. page-fault frequency - PFF) ustala się górną i dolną granicę pożądanego poziomu braków stron jeśli proces przekracza górną granicę do dostaje dodatkową ramkę jeśli częstość występowania braków stron spada poniżej dolnej granicy to usuwa się ramkę z procesu, którego ten objaw dotyczy
65 Częstość braków stron - wykres liczba braków stron ograniczenie górne zwiększ ilość ramek ograniczenie dolne zmniejsz ilość ramek liczba ramek
66 Przykłady implementacji pamięci wirtualnej - WNT stronicowanie na żądanie clustering - każdy proces ma przypisany minimalny i maksymalny zbiór roboczy: jeśli proces ma zbiór roboczy bliski maksymalnemu i złapie błąd strony musi zgodnie z lokalną polityką zastępowania wyznaczyć ramkę ofiarę; jeśli proces ma zbiór roboczy bliski minimalnemu może dostać ramkę z globalnej listy wolnych ramek Konkretny sposób wyboru strony do usunięcia ze zbioru roboczego jest zależny od typu procesora
67 Przykłady implementacji pamięci wirtualnej - W2K 4GB pamięci dla procesu w tym 2GB - W2K, 2*64KB - pointers stany stron dostępne - nieużywane przez dany proces powierzone (ang. commited) - np. strony w chwili zapisywania do pliku na dysku zarezerwowane - ciągły zbiór stron nie wliczany do quoty zanim użyty (np. przy zapisie do pamięci)
68 Przykłady implementacji pamięci wirtualnej - Solaris 2 wartość progowa (ang. threshold) wolnej pamięci zwana lotsfree (zwykle 1/64 pamięci fizycznej) poniżej której proces pageout zaczyna podkradanie stron i wymianę pageout weryfikuje pamięć 4 razy na sekundę jeśli liczba wolnych ramek < lostfree to pageout wykonuje algorytm (podobny do zegarowego algorytmu drugiej szansy) zerowanie bitu odniesienia wszystkich ramek sprawdzenie (po pewnym czasie) bitów odniesienia i zwrot wolnych ramek jeśli liczba wolnych ramek < desfree to pageout startuje 100 razy na sekundę aby utrzymać desfree jeśli pageout nie jest w stanie utrzymać desfree przez 30 sekund to zaczyna się swapowanie stron jeśli system nie jest w stanie utrzymać ilości wolnej pamięci na poziomie minfree to pageout jest wołany przy każdym żądaniu nowej strony rozpoznawanie stron bibliotek dzielonych
69 Stronicowanie wstępne Stronicowanie wstępne (ang. prepaging) - jednorazowe wprowadzenie do pamięci wszystkich potrzebnych stron procesu zapobiega wysokiej aktywności stronicowania we wstępnej fazie procesu W systemach implementujących model zbioru roboczego dla każdego procesu przechowuje się listę stron jego zbioru roboczego Przełączenie kontekstu: zapamiętanie listy stron (np. w przypadku I/O) oraz wczytanie stron z tej listy przed restartem
70 Rozmiar strony Rozmiary stron są potęgami 2: od 4096 (2^12) do (2^22) bajtów Wybór rozmiaru strony minimalizacja fragmentacji wewnętrznej - małe strony małe strony - wzrasta wielkość tablicy stron duże strony - minimalizacja czasu operacji we/wy małe strony - lepsza lokalizacja
71 Rozmiar strony (c.d.) Obserwuje się tendencję do wybierania większych stron Intel KB; Motorola od 256B do 32KB Wzrost szybkości procesorów i pojemności pamięci jest szybszy niż wzrost szybkości dysków Z punktu widzenia wydajności systemu braki stron są kosztowne Większy rozmiar strony = większa fragmentacja wewnętrzna
72 Przykładowe rozmiary stron Altlas b słów Honeywell-Multics b słów IBM 370/XA i 370/ESA 4kB VAX 512B IBM AS/ B DEC Alpha 8kB MIPS 4kB - 16MB UltraSPARC 8kB - 4MB Pentium 4kB - 4MB PowerPC 4kB
73 Współczynnik trafień dla TLB Współczynnik trafień dla TLB (ang. TLB reach) odnosi się do ilości pamięci dostępnej za pomocą TLB (tzn. liczby pozycji w TLB razy rozmiar strony) Najlepiej mieć zbiór roboczy w TLB Jak zwiększyć współczynnik trafień TLB? powiększyć rozmiar strony wiele rozmiarów stron (UltraSPARC - 8KB, 64KB, 512KB, 4MB) Konieczność obsługi TLB (musi zawierać rozmiar strony) przez system operacyjny w przypadku wielu rozmiarów stron
74 Odwrócona tablica stron Odwrócona tablica stron nie zawiera pełnych informacji o logicznej przestrzeni adresowej procesu potrzebnych przy stronicowaniu W stronicowaniu na żądanie wprowadza się zewnętrzną tablicę stron procesu (położenia stron wirtualnych) do której odwołanie następuje w przypadku braku strony Zewnętrzne tablice stron podlegają również stronicowaniu Zarządca pamięci wirtualnej może spowodować kolejny brak strony wprowadzając potrzebną zewnętrzną tablicę stron aby zlokalizować stronę wirtualną na dysku
75 Struktura programu Struktura programu zerowania tablicy int A[][] = new int[128][128]; Strona długości 128 słów System operacyjny alokuje mniej niż 128 ramek Program 1: for (int j = 0; j < A.length; j++ ) for (int i = 0; i < A.length; i++ ) A[i][ j] = 0; 128 x 128 braków stron (A w pamięci jest wierszami)
76 Struktura programu (c.d.) Struktura programu zerowania tablicy int A[][] = new int[128][128]; Strona długości 128 słów System operacyjny alokuje mniej niż 128 ramek Program 2: for (int i = 0; i < A.length; i++ ) for (int j = 0; j < A.length; j++ ) A[i][ j] = 0; 128 braków stron (A w pamięci jest wierszami)
77 We/wy a ramki Proces wysyła zamówienie na we/wy i ustawia się w kolejce do urządzenia we/wy Procesor zostaje przydzielony innym procesom Zaczynają występować braki stron W wyniku działania algorytmu globalnego zastępowania stron jeden z procesów zastępuje stronę zawierającą bufor we/wy procesu czekającego w kolejce we/wy Zamówienie na we/wy zaczyna być realizowane do ramki innego procesu
78 We/wy a ramki - diagram bufor przewijak taśmy
79 We/wy a ramki (c.d.) Zakaz wykonywania operacji we/wy wprost do pamięci użytkownika duże nakłady przy kopiowaniu Blokowanie stron w pamięci każda ramka ma bit blokowania stron zablokowanych nie wolno zastępować strona jest odblokowywana po zakończeniu operacji we/wy pula wolnych stron jest zbyt mała? proces próbuje zablokować zbyt wiele stron?
80 Segmentacja na żądanie Jeśli występuje niedostatek sprzętu do realizacji pamięci wirtualnej stosuje się segmentację na żądanie (ang. demand segmentation) OS/2 zamiast stronami przydziela pamięć segmentami opisanymi za pomocą deskryptorów segmentów (ang. segment descriptors) Deskryptor segmentu zawiera bit poprawności wskazujący dla każdego segmentu czy znajduje się on w danej chwili w pamięci Jeśli segment jest w pamięci głównej, kontynuacja W przeciwnym razie przerwanie brak segmentu
81 Konfigurowanie pamięci wirtualnej AIX - schedtune, vmtune FreeBSD - sysctl, /etc/sysctl.conf HP-UX - lotsfree, desfree, minfree wolna pamięć > lotsfree - wstrzymanie podkradania stron desfree < wolna pamięć < lotsfree - podkradanie stron minfree < wolna pamięć < desfree - likwidacja szamotania Linux - /proc/sys/vm Solaris - kstat kstat -m unix -n system_pages grep free True64 - sysconfig
82 Podsumowanie (1) Potrzeba wykonania procesów których logiczna przestrzeń adresowa jest większa niż dostępna fizyczna przestrzeń adresowa Można użyć nakładek ale jest to bardzo trudne Pamięć wirtualna umożliwia wykonywanie bardzo dużych procesów zwalniając jednocześnie programistę od kłopotów związanych z brakiem pamięci
83 Podsumowanie (2) Czyste stronicowanie na żądanie (ang. pure demand paging) polega na nie sprowadzaniu strony do pamięci dopóty, dopóki nie ma do niej odniesienia Potrzebne są algorytmy zastępownia stron w pamięci FIFO - anomalia Belady ego optymalne zastępowanie OPT - wymaga wiedzy o przyszłości Algorytm LRU przybliża OPT ale jest trudny w realizacji Większość algorytmów oparta o algorytm drugiej szansy
84 Podsumowanie (3) Polityka przydziału ramek uzupełnia algorytm zastępowania stron przydział stały lub dynamiczny Proces powinien mieć przydzieloną liczbę ramek wystarczającą dla bieżącego zbioru roboczego, w przeciwnym razie nastąpi szamotanie Rozważenia wymaga również: rozmiar strony blokowanie stron w pamięci (np. dla operacji we/wy)
Zbigniew S. Szewczak Podstawy Systemów Operacyjnych
Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 10 Pamięć wirtualna. Toruń, 2003 Pamięć wirtualna Podstawy Stronicowanie na żądanie Sprawność stronicowania na żądanie Zastępowanie stron Algorytmy
Bardziej szczegółowoPamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?
Pamięć wirtualna Pytanie: Czy proces rezerwuje pamięć i gospodaruje nią w sposób oszczędny? Procesy często zawierają ogromne fragmenty kodu obsługujące sytuacje wyjątkowe Zadeklarowane tablice lub rozmiary
Bardziej szczegółowoSOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów
Bardziej szczegółowoPodstawy. Pamięć wirtualna. (demand paging)
Pamięć wirtualna Podstawy Podstawy Stronicowanie na żądanie Wymiana strony Przydział ramek Szamotanie (thrashing) Pamięć wirtualna (virtual memory) oddzielenie pamięci logicznej użytkownika od fizycznej.
Bardziej szczegółowoNakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb
Pamięć wirtualna Nakładki Nakładki są potrzebne jeśli proces jest większy niż ilość dostępnej pamięci. Przykład - dwuprzebiegowy asembler mamy do dyspozycji 150 kb pamięci, a poszczególne elementy zadania
Bardziej szczegółowoPamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć wirtualna Jan Tuziemski Źródło części materiałów: os-book.com Pamięć wirtualna Na poprzednich wykładach omówiono sposoby zarządzania pamięcią Są one potrzebne ponieważ wykonywane rozkazy procesów
Bardziej szczegółowoPamięć wirtualna. Pamięć wirtualna
Pamięć wirtualna Pamięć wirtualna Podstawy. Stronicowanie na żądanie. Kopiowanie przy zapisie. Zastępowanie stron. Algorytmy zastępowania stron. Przydział ramek. Szamotanie (migotanie). Pliki odwzorowywane
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Bardziej szczegółowoWykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 8 Pamięć wirtualna Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wprowadzenie Podstawowa idea: System operacyjny pozwala na wykorzystanie pamięci o pojemności większej,
Bardziej szczegółowoSystemy Operacyjne Pamięć wirtualna cz. 1
Systemy Operacyjne Pamięć wirtualna cz. 1 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 4 stycznia 2007 1 1 Zasady lokalności czasowej i przestrzennej 2 Pamięć wirtualna
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowodr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoZarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Bardziej szczegółowoTEMAT 5 Zarządzanie pamięcią operacyjną
TEMAT 5 Zarządzanie pamięcią operacyjną Struktura pamięci pamięć -- wielka tablica oznaczona adresami słów lub bajtów procesor pobiera rozkazy z pamięci stosownie do wartości licznika rozkazów rozkazy
Bardziej szczegółowoZarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Bardziej szczegółowoZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ
ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ Wiązanie adresów adr.symbol -> adr. względne ->adresy pamięci kompilacja; kod bezwzględny (*.com) ładowanie; kod przemieszczalny wykonanie adr.względne -> adr. bezwzględne
Bardziej szczegółowoSystemy Operacyjne Pamięć wirtualna cz. 2
Systemy Operacyjne Pamięć wirtualna cz. 2 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 20 stycznia 2007 1 1 Wstęp 2 Minimalna liczba ramek 3 Algorytmy przydziału
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Bardziej szczegółowoZarządzanie pamięcią operacyjną i pamięć wirtualna
Zarządzanie pamięcią operacyjną i pamięć wirtualna Pamięć jako zasób systemu komputerowego. Wsparcie dla zarządzania pamięcią na poziomie architektury komputera. Podział i przydział pamięci. Obraz procesu
Bardziej szczegółowoZarz arz dzanie pam dzanie ięci ę ą
Zarządzanie pamięcią Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci.
Bardziej szczegółowoOd programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoSchematy zarzadzania pamięcia
Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana
Bardziej szczegółowoZarz arz dzanie pam dzanie ięci ę ą
Zarządzanie pamięcią Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci.
Bardziej szczegółowoZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ
ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ Wiązanie adresów adr.symbol -> adr. względne ->adresy pamięci kompilacja; kod bezwzględny (*.com) ładowanie; kod przemieszczalny wykonanie adr.względne -> adr. bezwzględne
Bardziej szczegółowoStronicowanie na ¹danie
Pamiêæ wirtualna Umo liwia wykonywanie procesów, pomimo e nie s¹ one w ca³oœci przechowywane w pamiêci operacyjnej Logiczna przestrzeñ adresowa mo e byæ du o wiêksza od fizycznej przestrzeni adresowej
Bardziej szczegółowoPamięć. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
Bardziej szczegółowoPRZYDZIAŁ PAMIĘCI OPERACYJNEJ
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)
Bardziej szczegółowoPamięć wirtualna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku). Pamięć operacyjna (fizyczna)
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 9 Pamięć operacyjna Właściwości pamięci Położenie Pojemność Jednostka transferu Sposób dostępu Wydajność Rodzaj fizyczny Własności fizyczne Organizacja Położenie pamięci
Bardziej szczegółowoarchitektura komputerów w. 8 Zarządzanie pamięcią
architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności
Bardziej szczegółowoWydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Bardziej szczegółowoZarządzanie zasobami pamięci
Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Bardziej szczegółowoZarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowoWykład 7. Zarządzanie pamięcią
Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona
Bardziej szczegółowoStruktura systemów komputerowych
Struktura systemów komputerowych Działanie systemu komputerowego Struktury WE/WY Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Ogólna architektura systemu Wykład 6, Systemy operacyjne (studia
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoProgramowanie na poziomie sprzętu. Tryb chroniony cz. 1
Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Bardziej szczegółowoTechnologie informacyjne (2) Zdzisław Szyjewski
Technologie informacyjne (2) Zdzisław Szyjewski Technologie informacyjne Technologie pracy z komputerem Funkcje systemu operacyjnego Przykłady systemów operacyjnych Zarządzanie pamięcią Zarządzanie danymi
Bardziej szczegółowoZarządzanie pamięcią operacyjną zagadnienia podstawowe
Zarządzanie pamięcią operacyjną zagadnienia podstawowe Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych. Z punktu widzenia systemu pamięć jest zasobem o strukturze
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Bardziej szczegółowoOd programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowosprowadza się od razu kilka stron!
Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą
Bardziej szczegółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowo3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy
Bardziej szczegółowoProcesor 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]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowoPamięć wirtualna jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku).
jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku). Pamięć operacyjna (fizyczna) jest dla tych zasobów tylko pewnym oknem, przechowującym
Bardziej szczegółowoZarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej
Bardziej szczegółowoArchitektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)
Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowoPytania do treści wykładów:
Pytania do treści wykładów: Wprowadzenie: 1. Jakie zadania zarządzania realizowane są dla następujących zasobów: a) procesor, b) pamięć, c) plik? 2. W jaki sposób przekazywane jest sterowanie do jądra
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoProces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoArchitektura systemu komputerowego
Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie
Bardziej szczegółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
Bardziej szczegółowoPamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Bardziej szczegółowoSystem operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoPlan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek
Architektura systemów komputerowych Pamięć, c.d. Cezary Bolek Katedra Informatyki Plan wykładu Strategie zapisu Bufor zapisu Strategie wymiany bloków w pamięci Współczynniki trafień i chybień Wstrzymania
Bardziej szczegółowoARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Bardziej szczegółowoprojektowanie systemu
projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Bardziej szczegółowoKOMPONENTY SYSTEMÓW OPERACYJNYCH
KOMPONENTY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl PRZYDZIAŁ CZASU PROCESORA Cel: Stałe
Bardziej szczegółowoArchitektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego
Bardziej szczegółowoKomunikacja za pomocą potoków. Tomasz Borzyszkowski
Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania
Bardziej szczegółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy
Bardziej szczegółowoSystem plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Bardziej szczegółowoSprzętowe wspomaganie pamięci wirtualnej
Sprzętowe wspomaganie pamięci wirtualnej Stanisław Skonieczny 6 grudnia 2002 Spis treści 1 Intel 2 1.1 Tryby pracy procesora............................... 2 1.2 Adresowanie liniowe................................
Bardziej szczegółowo, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.
I, ", - hk P-J.. ~,""", ",,> I->~" re. dr... j -:;.",II _/'--- " ~ n\l f.4e ' v f It41I r> ~ '
Bardziej szczegółowoStrojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
Bardziej szczegółowoPamięć Wirtualna w Linuksie 2.4
Pamięć Wirtualna w Linuksie 2.4 Jarosław Bąbel 10 grudnia 2002 1 Spis treści 1 Segmentacja 3 2 Odwzorowanie wirtualnej przestrzeni adresowej procesu 3 3 Stronicowanie 4 3.1 Najważniejsze informacje związane
Bardziej szczegółowoZarządzanie procesami i wątkami
SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 6 - procesy
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu
Bardziej szczegółowoWprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko
Wprowadzenie do systemów operacyjnych mgr inż. Krzysztof Szałajko Co to jest system operacyjny? Co to jest system komputerowy? 2 / 37 Definicja: system operacyjny System operacyjny jest programem pośredniczącym
Bardziej szczegółowoUkład sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Bardziej szczegółowoHierarchia pamięci w systemie komputerowym
Hierarchia pamięci w systemie komputerowym Aby procesor mógł do końca wykorzystać swą wysoką częstotliwość taktowania musi mieć możliwość odpowiednio szybkiego pobierania danych do przetworzenia. Pamięć
Bardziej szczegółowo