Pamięć wirtualna. Pamięć wirtualna
|
|
- Izabela Kuczyńska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Pamięć wirtualna Pamięć wirtualna Podstawy. Stronicowanie na żądanie. Kopiowanie przy zapisie. Zastępowanie stron. Algorytmy zastępowania stron. Przydział ramek. Szamotanie (migotanie). Pliki odwzorowywane w pamięci. Inne kwestie stronicowania. Przykłady systemy: Windows XP i Solaris. Wiesław Płaczek Systemy Operacyjne: Wykład 7 1
2 Podstawy Pamięć wirtualna jest techniką, która umożliwia wykonywanie procesów, pomimo że nie są one w całości przechowywane w pamięci operacyjnej. Pozwala stworzyć abstrakcyjną pamięć główną w postaci olbrzymiej, jednolitej tablicy i odseparować pamięć logiczną od pamięci fizycznej. Logiczna przestrzeń adresowa może być większa niż przestrzeń fizyczna. Umożliwia wykonywanie programu, który tylko w części znajduje się w pamięci fizycznej program nie jest ograniczony wielkością dostępnej pamięci fizycznej (może być od niej większy). Zwiększa wieloprogramowość (więcej procesów może być wykonywanych w tym samym czasie) lepsze wykorzystanie procesora i przepustowość. Pozwala na wydajniejsze tworzenie i wymianę procesów mniej potrzebnych operacji wejścia-wyjścia. Uwalnia użytkownika od potrzeby znajomości organizacji i ograniczeń pamięci fizycznej ułatwia programowanie. Pamięć wirtualna jest najczęściej implementowana w formie: Stronicowania na żądanie (demand paging); Segmentacji na żądanie (demand segmentation) rzadziej, np. IBM OS/2. Wiesław Płaczek Systemy Operacyjne: Wykład 7 2
3 Schemat pamięci wirtualnej Strona 0 Strona 1 Strona 2... Strona n Pamięć wirtualna Odwzorowanie pamięci Pamięć fizyczna Dysk Wiesław Płaczek Systemy Operacyjne: Wykład 7 3
4 Wiesław Płaczek Systemy Operacyjne: Wykład 7 4 Stronicowanie na żądanie Procesy podzielone na strony przebywają w pamięci pomocniczej (zwykle dysk). Strona jest sprowadzana z pamięci pomocniczej do operacyjnej tylko wtedy, kiedy jest potrzebna. Mniej operacji WE/WY. Mniejsze zapotrzebowanie na pamięć. Krótszy czas odpowiedzi. Może pracować równocześnie więcej użytkowników. Strona jest potrzebna kiedy następuje do niej odwołanie. Z każdą pozycją w tablicy stron związany jest bit poprawności (valid-invalid bit): Wartość = 1: strona dozwolona i znajduje się w pamięci operacyjnej. Wartość = 0: strona niedozwolona albo jest poza pamięcią operacyjną. Odwołanie do strony z bitem poprawności równym 0 powoduje pułapkę braku strony (page-fault trap), po czym następuje awaryjne przejście do systemu operacyjnego.
5 Wiesław Płaczek Systemy Operacyjne: Wykład 7 5 Tablica stron z brakami stron w pamięci Bit 0 poprawności 1 0 A Ramka 2 1 B C D E F G Tablica stron 12 7 H 13 Pamięć logiczna A C F Pamięć fizyczna A B C D E F Dysk
6 Obsługa braku strony Obsługa braku strony 1. Sprawdzamy wewnętrzną tablicę (w bloku kontrolnym procesu), aby określić czy odwołanie do pamięci było dozwolone. 2. Jeżeli odwołanie było niedozwolone, kończymy proces. Jeśli było dozwolone, lecz zabrakło właściwej strony w pamięci, to sprowadzamy tę stronę. 3. Znajdujemy wolną ramkę. 4. Zamawiamy wczytanie z dysku potrzebnej strony do wolnej ramki. 5. Po zakończeniu czytania modyfikujemy wewnętrzną tablicę procesu oraz tablicę stron, zaznaczając, że strona jest w pamięci. 6. Wznawiamy wykonanie rozkazu przerwanego brakiem strony i kontynuujemy wykonywanie procesu (czasami do wykonania rozkazu potrzeba sprowadzić więcej niż jedną stronę). Skrajny przypadek: czyste stronicowanie na żądanie (pure demand paging) rozpoczynanie wykonywania procesu bez żadnej strony w pamięci (nigdy nie sprowadza się strony do pamięci, zanim nie będzie potrzebna). Wiesław Płaczek Systemy Operacyjne: Wykład 7 6
7 Wiesław Płaczek Systemy Operacyjne: Wykład 7 7 Etapy obsługi braku strony 3 Strona jest w pamięci pomocniczej System operacyjny Odniesienie 1 2 Pułapka Umieść M 6 Wznowienie wykonania 0 Tablica stron 5 Odnowienie tablicy stron Pamięć fizyczna 4 Sprowadzenie brakującej strony
8 Wydajność stronicowania na żądanie Wydajność stronicowania na żądanie Czas dostępu do pamięci: τ (obecnie nanosekundy). Prawdopodobieństwo braku strony: p (0 p 1). Czas obsługi braku strony: Τ. Efektywny czas dostępu: t_ef = (1 p) τ + p Τ. Główne składowe czasu obsługi braku strony: 1. Obsługa przerwania wywołanego brakiem strony. 2. Wczytanie strony z dysku do pamięci (zwykle najbardziej czasochłonne). 3. Wznowienie procesu. Przykład: τ = 100 ns, T = 25 ms = ns, t_ef [ns] = (1 p) p = p. Aby pogorszenie szybkości dostępu do pamięci spowodowane brakiem stron było mniejsze niż 10%, potrzeba: p < , czyli mniej niż 1 brak strony na odniesień do pamięci! Wiesław Płaczek Systemy Operacyjne: Wykład 7 8
9 Kopiowanie przy zapisie Tworząc proces przy pomocy wywołania systemowego fork() można początkowo obejść konieczność stronicowania na żądanie używając techniki podobnej do dzielenia stron. Po wywołaniu fork() proces potomny i macierzysty mogą dzielić początkowo te same strony oznaczone jako kopiowane przy zapisie (copy-on-write). Jeżeli któryś z procesów próbuje zapisać coś na takiej stronie, to tworzona jest kopia tej strony i odwzorowywana w przestrzeni adresowej tego procesu. Wszystkie nie zmienione strony mogą być dzielone przez procesy. Umożliwia błyskawiczne utworzenie procesu i minimalizuje liczbę nowych stron. Jest to popularna technika stosowana w wielu systemach operacyjnych, m.in. Windows XP, Linux i Solaris. W kilku wersjach systemu UNIX (np. Solaris i Linux) występuje funkcja vfork() (virtual memory fork): Nie wykonuje ona kopiowania przy zapisie. Proces macierzysty jest zawieszany, a jego przestrzeni adresowej używa potomek. Jest stosowana wówczas gdy proces potomny natychmiast po utworzeniu wywołuje funkcję exec(). Bardzo wydajna metoda tworzenia procesu używana czasem dla poleceń powłoki. Musi być stosowana ostrożnie trzeba uważać aby proces potomny nie zmieniał przestrzeni adresowej procesu macierzystego. Wiesław Płaczek Systemy Operacyjne: Wykład 7 9
10 Zastępowanie stron Co zrobić kiedy nie ma wolnej ramki dla potrzebnej strony? Zastępowanie stron (page replacement): 1. Zlokalizowanie potrzebnej strony na dysku. 2. Wykonanie algorytmu zastępowania stron w celu wytypowania ramkiofiary (victim frame). 3. Zapisanie strony-ofiary na dysku oraz stosowna zmiana tablic stron i ramek. 4. Wczytanie potrzebnej strony do zwolnionej ramki oraz zmiana tablicy stron i tablicy ramek. 5. Wznowienie działania procesu. Może powodować dwukrotne wydłużenie czasu obsługi braku strony (przesyłanie z pamięci na dysk i z dysku do pamięci)! Aby zmniejszyć narzut związany z zastępowaniem stron, każdą stronę lub ramkę wyposaża się w sprzętowy bit modyfikacji (zabrudzenia) (modify (dirty) bit) tylko strony zmodyfikowane są wysyłane na dysk podczas zastępowania. Zastępowanie stron dopełnia rozdzielenia pamięci logicznej od pamięci fizycznej! Wiesław Płaczek Systemy Operacyjne: Wykład 7 10
11 Wiesław Płaczek Systemy Operacyjne: Wykład 7 11 Schemat zastępowania stron Ramka Bit poprawności 0 r n p Tablica stron Zamiana na niepoprawne 2 r Ofiara Wysłanie strony-ofiary 4 3 Uaktualnienie Sprowadzenie tablicy stron potrzebnej dla nowej strony strony 1 Pamięć fizyczna
12 Wiesław Płaczek Systemy Operacyjne: Wykład 7 12 Algorytmy zastępowania stron Algorytm zastępowania stron powinien minimalizować częstość braków stron (page-fault rate). Algorytm ocenia się na podstawie wykonania go na pewnym ciągu odniesień (reference string) do pamięci i zsumowania braków stron. Ciąg odniesień można tworzyć sztucznie lub na podstawie śledzenia danego systemu. W poniższych przykładach ciąg odniesień ma postać: Liczba braków stron Wykres zależności braków stron od liczby ramek , 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5. Liczba ramek
13 Algorytm FIFO 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 tym samym czasie): braków stron 4 ramki: braków stron Anomalia Belady ego (Belady s anomaly) współczynnik braków stron wzrasta ze wzrostem liczby wolnych ramek! Wiesław Płaczek Systemy Operacyjne: Wykład 7 13
14 Wiesław Płaczek Systemy Operacyjne: Wykład 7 14 Anomalia Belady ego Wykres braków stron dla algorytmu FIFO Liczba braków stron Liczba ramek
15 Algorytm optymalny (OPT) Zastąp tę stronę, która najdłużej nie będzie używana. Przykład: 4 ramki, ciąg odniesień: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5; Algorytm OPT ma najniższy współczynnik braków stron ze wszystkich algorytmów. Jest wolny od anomalii Belady ego. 4 6 braków stron Jest trudny w realizacji, ponieważ wymaga wiedzy o przyszłej postaci ciągu odniesień (skąd ją wziąć?). Algorytm OPT jest używany głównie w studiach porównawczych jako odnośnik dla innych algorytmów. Wiesław Płaczek Systemy Operacyjne: Wykład 7 15
16 Algorytm LRU Algorytm zastępowania najdawniej używanych stron (least recently used LRU): używa niedawnej historii do oszacowania najbliższej przyszłości. Przykład: 4 ramki, ciąg odniesień: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5; braków stron Lepszy od algorytmu FIFO (mniej braków stron) i wolny od anomalii Belady ego często stosowany. Trudność z zapamiętywaniem historii użycia stron może wymagać sporego zaplecza sprzętowego. Algorytm LRU, podobnie jak OPT, należy do klasy algorytmów stosowych: zbiór stron w pamięci przy n ramkach jest zawsze podzbiorem zbioru stron w pamięci przy n + 1 ramkach. Algorytmy takie nie posiadają anomalii Belady ego. Wiesław Płaczek Systemy Operacyjne: Wykład 7 16
17 Implementacja algorytmu LRU Implementacja algorytmu LRU Implementacja z licznikiem: Do każdej pozycji w tablicy stron dołącza się rejestr czasu użycia, a do procesora dodaje się zegar logiczny lub licznik. Wskazania zegara są zwiększane przy każdym odniesieniu do pamięci, a jego zawartość jest kopiowana do rejestru czasu użycia danej strony. Kiedy pojawi się potrzeba zastąpienia jakiejś strony w pamięci, to sprawdza się wartości rejestrów czasu użycia stron i jako stronę-ofiarę wybiera się tę z najmniejszą wartością czasu. Wymaga sporego nakładu: przeglądanie wszystkich stron, uaktualnianie rejestrów czasu użycia (również przy wymianach tablic stron) itd. Implementacja ze stosem: Utrzymywanie stosu numerów stron. Przy każdym odwołaniu do strony jej numer wyjmuje się ze stosu i umieszcza na jego szczycie (na szczycie jest zawsze strona ostatnio użyta). Najlepsza implementacja w postaci listy dwukierunkowej ze wskaźnikami do czoła i końca listy wyjęcie strony i umieszczenie jej na szczycie wymaga zmiany co najwyżej 6 wskaźników. Zastąpienie strony nie wymaga przeszukiwania listy (najdawniej używana strona jest na dnie stosu). Wiesław Płaczek Systemy Operacyjne: Wykład 7 17
18 Algorytmy przybliżające metodę LRU Niewiele systemów posiada odpowiedni sprzęt do realizacji prawdziwego algorytmu LRU często stosowane są algorytmy przybliżające zastępowanie stron metodą LRU. Algorytm bitów odniesienia: Z każdą pozycją w tablicy stron związany jest bit odniesienia (reference bit), początkowo ustawiony na 0. Kiedy następuje odniesienie do strony jej bit odniesienia jest ustawiany na 1. Zastępowana jest ta strona, w porządku FIFO, której bit odniesienia = 0. Algorytm dodatkowych bitów odniesienia: Z każdą stroną związany jest 8-bitowy rejestr; na początku: W regularnych odstępach czasu (np. co 100 ms) system operacyjny wprowadza bit odniesienia na najbardziej znaczącą pozycję rejestru. Jako strona-ofiara przy zastępowaniu wybierana jest strona zawierająca najmniejszą liczbę w rejestrze, np < Algorytm drugiej szansy (zegarowy): Strony przeglądane są w porządku FIFO. Jeżeli bit odniesienia = 0, to strona zostaje wybrana do zastąpienia. Jeżeli bit odniesienia = 1, to bit ten jest zerowany, a strona dostaje drugą szansę, tzn. do zastąpienia bierze się pod uwagę następną stronę itd. Przeglądanie stron wykonuje się cyklicznie. Ulepszenie branie pod uwagę pary: (bit odniesienia, bit modyfikacji). Wiesław Płaczek Systemy Operacyjne: Wykład 7 18
19 Wiesław Płaczek Systemy Operacyjne: Wykład 7 19 Algorytm drugiej szansy (zegarowy) Bit odniesienia Strony Bit odniesienia Strony 0 0 Następna ofiara (a) Cykliczna kolejka stron (b)
20 Algorytmy zliczające Wprowadzenie liczników odwołań do każdej strony. Algorytm LFU najrzadziej używanej strony (least fequently used): do zastąpienia wybiera się stronę o najmniejszej wartości licznika. Może być obarczony błędami wynikającymi z tego, że strona była na początku intensywnie używana, a potem nie jest wcale potrzebna. Rozwiązanie: przesuwanie liczników w prawo o 1 bit w regularnych odstępach czasu. Algorytm MFU najczęściej używanej strony (most fequently used): do zastąpienia wybiera się stronę o największej wartości licznika. Uzasadnienie: Strona o najmniejszej wartości licznika prawdopodobnie została niedawno wprowadzona do pamięci i będzie jeszcze używana. Implementacja tych algorytmów jest kosztowna, a nie przybliżają one dobrze algorytmu OPT. Algorytm buforowania stron Systemy często przechowują pulę wolnych ramek. Potrzebną stronę wczytuje się do wolnej ramki, a dopiero później usuwa się stronę-ofiarę zwalniając ramkę. Wiesław Płaczek Systemy Operacyjne: Wykład 7 20
21 Przydział ramek Minimalna liczba ramek: Istnieje minimalna liczba ramek, które muszą być przydzielone procesowi zdefiniowana jest przez architekturę logiczną komputera. Liczba ramek musi być wystarczająca do pomieszczenia wszystkich stron, do których może odnosić się pojedynczy rozkaz (niektóre rozkazy mogą zawierać wiele poziomów adresowania pośredniego). Algorytmy przydziału ramek: Przydział równy (equal allocation): Każdy proces dostaje tyle samo ramek, np. Jeżeli mamy 100 ramek i 5 procesów, to dajemy każdemu po 20 ramek. Przydział proporcjonalny (proportional allocation): Każdemu procesowi przydziela się liczbę ramek proporcjonalnie do jego rozmiaru. Przydział priorytetowy (priority allocation): Liczba przydzielanych ramek jest proporcjonalna do priorytetu procesu albo do kombinacji rozmiaru i priorytetu (proces o wyższym priorytecie dostaje więcej ramek). Globalny lub lokalny przydział ramek: Zastępowanie globalne: Proces może wybierać ramki do zastąpienia ze zbioru wszystkich ramek jeden proces może odebrać ramkę drugiemu. Zastępowanie lokalne: Proces może wybierać ramki tylko z własnego zbioru przydzielonych ramek gorsza przepustowość, rzadziej stosowane. Wiesław Płaczek Systemy Operacyjne: Wykład 7 21
22 Wiesław Płaczek Systemy Operacyjne: Wykład 7 22 Szamotanie Jeżeli proces nie ma wystarczającej liczby stron w pamięci operacyjnej, to częstotliwość braków stron będzie wysoka. Prowadzi to do: Zmniejszenia wykorzystania procesora. Mniejsze wykorzystanie procesora może być sygnałem dla planisty przydziału procesora do zwiększenia wieloprogramowości. Kolejny proces jest dodawany do systemu, co jeszcze zwiększa częstość braków stron. Wykorzystanie procesora jeszcze się zmniejsza, co jest sygnałem dla planisty do dalszego zwiększania wieloprogramowości itd. Powstaje szamotanina przepustowość systemu gwałtownie spada! Szamotanie (migotanie) (thrashing) sytuacja, w której proces jest zajęty głównie wymianą stron (przesyłaniem między dyskiem a pamięcią operacyjną). Szamotanie powoduje wyraźne zaburzenia wydajności systemu!
23 Unikanie szamotania Szamotanie Wykorzystanie procesora Szamotanie Stopień wieloprogramowości Efekt szamotania można ograniczać za pomocą lokalnego algorytmu zastępowania jeżeli jakiś proces się szamoce, to nie powinien zabierać ramek innemu procesowi i doprowadzać go też do szamotania. Aby zapobiec szamotaniu należy dostarczyć procesowi tyle ramek ile potrzebuje ale jak się o tym dowiedzieć? Model strefowy (locality model): Strefa programu zbiór stron pozostających we wspólnym użyciu. Program składa się z wielu różnych stref, które mogą na siebie zachodzić. W trakcie wykonania proces przechodzi z jednej strefy programu do innej. Aby uniknąć szamotania należy przydzielić procesowi tyle ramek, by mógł w nich pomieścić daną strefę. Wiesław Płaczek Systemy Operacyjne: Wykład 7 23
24 Strefy lokalne w odwołaniach do pamięci Wiesław Płaczek Systemy Operacyjne: Wykład 7 24
25 Model zbioru roboczego Model zbioru roboczego (working-set model) opiera się na założeniu, że program ma charakterystykę strefową (lokalność odwołań). okno zbioru roboczego: ustalona liczba odwołań do stron. Zbiór roboczy zbiór stron, do których nastąpiło ostatnich odwołań: Ślad odwołań do stron t1 t2 ZR(t1) = {1,2,5,6,7} ZR(t2) = {3,4} RZR_i rozmiar zbioru roboczego całkowite zapotrzebowanie na ramki: Z = Σ RZR_i. Szamotanie powstanie, gdy Z > m = całkowita liczba ramek. System przydziela ramki procesom wg. ich zbiorów roboczych. Wiesław Płaczek Systemy Operacyjne: Wykład 7 25
26 Model zbioru roboczego w praktyce Model zbioru roboczego w praktyce Gdy suma rozmiarów zbiorów roboczych wzrasta i zaczyna przekraczać liczbę dostępnych ramek, system operacyjny wstrzymuje jeden proces. Strategia zbioru roboczego zapobiega szamotaniu i utrzymuje stopień wieloprogramowości na wysokim poziomie optymalizuje wykorzystanie procesora. Trudności: Jak dobrać rozmiar zbioru roboczego? za małe nie obejmuje całej strefy programu, za duże może zachodzić na kilka stref ( = : cały program). Jak utrzymywać ślad zbioru roboczego? Wykorzystanie przerwań w stałych odstępach czasu oraz bitu odniesienia. Przykład: = ; o Zegar generuje przerwania co 5000 odniesień. o Dla każdej strony przechowuje się w pamięci 2 bity. o Kiedy pojawia się przerwanie kopiuje się do pamięci oraz zeruje bit odniesienia. o Jeżeli jeden z bitów w pamięci = 1, to strona należy do zbioru roboczego. Ulepszenie: 10 bitów w pamięci i przerwania co 1000 odniesień. Wiesław Płaczek Systemy Operacyjne: Wykład 7 26
27 Wiesław Płaczek Systemy Operacyjne: Wykład 7 27 Częstość braków stron Model zbioru roboczego daje dobre rezultaty, jednak nie jest wygodną metodą nadzorowania szamotania. Prostszym sposobem jest mierzenie częstości braków stron (page-fault frequency PFF): Ustala się dolną i górną granicę częstości braków stron. Jeżeli proces przekracza górną granicę, przydziela się mu dodatkową ramkę (w przypadku niedoboru ramek można wstrzymać jakiś proces). Jeżeli częstość braków stron procesu spada poniżej dolnej granicy, odbiera się mu ramkę. Częstość braków stron Liczba braków stron Liczba ramek Zwiększ liczbę ramek Granica górna Granica dolna Zmniejsz liczbę ramek
28 Pliki odwzorowywane w pamięci Podczas sekwencyjnego przetwarzania pliku na dysku za pomocą standardowych funkcji systemowych open(), read() i write() każdy kontakt z plikiem wymaga odwołania do systemu i dostępu do dysku. Zamiast tego można skorzystać z metod pamięci wirtualnej i potraktować WE/WY plikowe jak rutynowy dostęp do pamięci. Tego typu podejście zwane odwzorowaniem pliku w pamięci (operacyjnej) (memory mapping) polega na logicznym skojarzeniu z plikiem fragmentu pamięci wirtualnej. Odbywa się przez odwzorowanie bloku dyskowego na stronę(y) pamięci. Pierwszy dostęp do pliku odbywa się za pośrednictwem stronicowania na żądanie i skutkuje brakiem strony, co powoduje wczytanie do pamięci porcji pliku o rozmiarze strony (czasem jednorazowo wczytuje się więcej stron). Następne operacje czytania i pisania pliku obsługiwane są jak zwyczajne dostępy do pamięci operacyjnej. Zapisy do pamięci niekoniecznie muszą oznaczać zapisy do pliku na dysku! Prostszy i szybszy kontakt z plikami, łatwe dzielenie części plików przez procesy! W niektóre systemach odwzorowania w pamięci dokonywane są tylko poprzez specjalne wywołania systemowe, a inne plikowe operacje WE/WY realizowanie są za pomocą standardowych funkcji systemowych. Np. system Solaris zawsze wykonuje odwzorowanie jeśli użyto funkcji mmap(), to plik odwzorowywany jest w przestrzeni procesu, jeśli nie, to w przestrzeni jądra. Wiesław Płaczek Systemy Operacyjne: Wykład 7 28
29 Pliki odwzorowane w pamięci Pamięć wirtualna procesu A Pamięć fizyczna Pamięć wirtualna procesu B Pamięć dyskowa Wiesław Płaczek Systemy Operacyjne: Wykład 7 29
30 Inne kwestie stronicowania Inne kwestie stronicowania Stronicowanie wstępne (prepaging): Jednorazowe wprowadzenie do pamięci wszystkich stron, które wiadomo, iż będą potrzebne, np. całego zbioru roboczego. Trzeba rozstrzygnąć czy koszt stronicowania wstępnego jest mniejszy niż koszt obsługi odpowiednich braków stron. Rozmiar strony: Jaki wybrać rozmiar strony? Zmniejszanie rozmiaru strony zmniejsza fragmentacje wewnętrzną, ale zwiększa zużycie pamięci na przechowywanie tablic stron. Zwiększanie rozmiaru strony zmniejsza zużycie pamięci na tablice stron, ale powoduje większą fragmentację wewnętrzną pamięci. Czas operacji WE/WY potrzebnych do odczytania i zapisania strony składa się z czasu: wyszukiwania, wykrywania i przesyłania. We współczesnych systemach komputerowych szybkość przesyłania jest na ogół znacznie większa od pozostałych dwóch, co przemawia za dużym rozmiarem stron. Mniejsze strony łatwiej dopasować do stref programu (większa rozdzielczość). Przy większych stronach zmniejsza się liczba braków stron. Obecnie jest tendencja do zwiększania rozmiarów stron (wzrost szybkości procesorów i pojemności pamięci jest szybszy niż szybkości dysków). Wiesław Płaczek Systemy Operacyjne: Wykład 7 30
31 Inne kwestie stronicowania c.d. Zasięg TLB: Współczynnik trafień w buforze TLB podczas tłumaczenia adresów wirtualnych może wpływać znacząco na szybkość dostępu do pamięci. Zasięg TLB ilość pamięci dostępnej w buforze, czyli liczba jego pozycji pomnożona przez rozmiar strony. Zwiększanie zasięgu TLB zwiększanie liczby pozycji w buforze lub zwiększanie rozmiaru strony. Niektóre architektury udostępniają strony o różnych rozmiarach, np. system Solaris korzysta ze stron 8 KB i 4 MB zależnie od potrzeb. Odwrócona tablica stron: Odwrócona tablica stron ma po jednej pozycji na każdą ramkę, a indeksowana jest za pomocą pary <PID,numer_strony> pozwala to zaoszczędzić miejsca w pamięci. Odwrócona tablica stron nie zawiera jednak pełnych informacji o logicznej przestrzeni adresowej procesu, potrzebnych do obsługi braków stron. Aby umożliwić stronicowanie na żądanie, dla każdego procesu utrzymuje się zewnętrzną tablicę stron zawierającą informację o położeniu każdej strony wirtualnej procesu. Odwołania do takich tablic występują tylko wskutek braków stron, zatem dostęp do nich nie musi być szybki. Wiesław Płaczek Systemy Operacyjne: Wykład 7 31
32 Inne kwestie stronicowania c.d. Struktura programu: Struktura programu może mieć również spory wpływ na stronicowanie! Przykład: const n = 1024; float t[][] = new float[n][n]; Każdy wiersz tablicy umieszczony w pamięci na jednej stronie. Program 1: for (j = 0; j < n; j++) for (i = 0; i < n; i++) t[i][j] = 0.0; maksymalnie 1024 x 1024 braków stron! Program 2: for (i = 0; i < n; i++) for (j = 0; j < n; j++) t[i][j] = 0.0; maksymalnie 1024 braki stron! Dobra lokalność kodu i struktur danych zwiększa efektywność stronicowania. Używanie wskaźników (również OOP) na ogół psuje lokalność kodu! Wiesław Płaczek Systemy Operacyjne: Wykład 7 32
33 Inne kwestie stronicowania c.d. Powiązanie stron z operacjami wejścia-wyjścia: Jak pogodzić zastępowanie stron z operacjami WE/WY? Np. proces wysyła zamówienie na operacje WE/WY i zanim te operacje zostaną zrealizowane, system zastępuje jego stronę z buforem inną stroną. Stosuje się dwa rozwiązania: 1. Wykonywanie operacji WE/WY za pośrednictwem pamięci systemu. 2. Blokowanie (locking) stron w pamięci do czasu zakończenia operacji WE/WY (każdej ramce przyporządkowuje się bit blokowania) ryzykowne! Przetwarzanie w czasie rzeczywistym: Proces lub wątek działający w czasie rzeczywistym powinien niezwłocznie otrzymać procesor i działać z minimalnymi opóźnieniami. Ponieważ pamięć wirtualna może powodować przestoje w wykonywaniu procesu, dlatego większość systemów czasu rzeczywistego (i systemów wbudowanych) nie posiada pamięci wirtualnej. System Solaris umożliwia zarówno podział czasu, jak i obliczenia w czasie rzeczywistym proces czasu rzeczywistego ma możliwość powiadamiania systemu o ważnych stronach, a uprzywilejowani użytkownicy mogą blokować strony w pamięci (niebezpieczeństwo nadużycia!). Wiesław Płaczek Systemy Operacyjne: Wykład 7 33
34 Pamięć wirtualna w MS Windows XP Pamięć wirtualna jest realizowana przy użyciu stronicowania na żądanie z grupowaniem (clustering) do pamięci sprowadzana jest nie tylko brakująca strona, ale także pewna liczba stron z jej otoczenia. Zaraz po utworzeniu procesowi przypisuje się minimum i maksimum zbioru roboczego w tym zakresie przydziela się procesowi strony w zależności od ilości wolnej pamięci (czasem pozwala się procesowi przekroczyć maksimum). Zarządca pamięci wirtualnej utrzymuje wykaz wolnych ramek, z którym skojarzona jest pewna wartość progowa (threshold value). Gdy ilość wolnej pamięci spada poniżej wartości progowej, zarządca pamięci wirtulanej stosuje taktykę zwaną automatycznym przycinaniem zbioru roboczego (authomatic working-set trimming) w celu przywrócenia wartości ponadprogowej procesom, które mają więcej stron niż wynosi ich minimum zbioru roboczego odbierane są strony. Algorytm wyznaczania strony do usunięcia zależy od typu procesora: W jednoprocesorowych systemach x86 Windows XP używa odmiany algorytmu zegarowego. Dla procesorów Alpha i wieloprocesorowych systemów x86 Windows XP stosuje odmianę algorytmu FIFO. Wiesław Płaczek Systemy Operacyjne: Wykład 7 34
35 Pamięć wirtualna w systemie Solaris Z wykazem wolnych stron związany jest parametr lotsfree (tzn. miejsca pod dostatkiem) będący progiem rozpoczynania stronicowania na ogół wynosi 1/64 rozmiaru pamięci fizycznej. W ustalonych odstępach czasu jądro sprawdza, czy ilość wolnej pamięci nie jest mniejsza od lotsfree jeżeli tak, to uruchamiany jest proces wymiatania stron (pageout). Proces wymiatania stron realizuje odmianę algorytmy drugiej szansy zwaną algorytmem zegara dwuwskazówkowego (two-handed-clock algorithm): Pierwsza wskazówka obiega wszystkie strony pamięci i ustawia ich bity odniesień na 0. Po pewnym czasie druga wskazówka sprawdza bity odniesień do stron w pamięci i zwalnia te strony, których bity są dalej równe 0. Szybkość analizowania stron (scanrate) w powyższym algorytmie jest określona za pomocą kilku parametrów sterujących: od slowscan (wolna analiza) do fastscan (szybka analiza). Odległość w stronach między wskazówkami zegara jest określona przez parametr handspread. Jeżeli ilość wolnej pamięci spada poniżej poziomu desfree, to jądro zaczyna wymianę procesów (swapping). Jeżeli system nie jest w stanie utrzymać ilości wolnej pamięci na poziomie minfree, to wymiatanie jest wołane przy każdym zamówieniu nowej strony. Wiesław Płaczek Systemy Operacyjne: Wykład 7 35
SOE 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoZbigniew S. Szewczak Podstawy Systemów Operacyjnych
Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 10 Pamięć wirtualna. Toruń, 2004 Odrabianie wykładów czwartek, 1.04.2004, S7, g. 12.00 za 19.05 czwartek, 15.04.2004, S7, g. 12.00 za 12.05 Pamięć
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ą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ółowoZbigniew 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoPodstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
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ółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych
Systemy operacyjne Systemy operacyjne Inżynieria obliczeniowa, II rok Krzysztof Wilk Katedra Informatyki Stosowanej i Modelowania wilk@agh.edu.pl Wykłady: 7 tygodni po 2 h, s. 209, B-4 Projekty: 2 godziny
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ół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ół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ół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ół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ół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ół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ółowoobszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)
Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja
Bardziej szczegółowoSYSTEMY OPERACYJNE LABORATORIUM 2014/2015
1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.
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ółowoProjektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI
Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny 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ół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ółowoWprowadzenie do systemów operacyjnych
SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny
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ą. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.
Zarządzanie pamięcią Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem. Zarządzanie pamięcią podstawy pamięć operacyjna (główna) (main memory,
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ół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ół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ółowoStan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.
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 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ółowoLEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
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ół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ół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ół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ółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
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ół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ół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ół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ół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ół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ółowoSYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM
Bardziej szczegółowoOgraniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
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ół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ół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ół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ół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ółowoSystemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych
Systemy operacyjne Struktura i zasady budowy Rozdział 1 Wprowadzenie do systemów komputerowych Zadaniem systemu operacyjnego jest pośredniczenie pomiędzy aplikacjami, programami narzędziowymi i użytkownikami
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ółowoArchitektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Bardziej szczegółowoSystemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy
Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa
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ółowo