Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zbigniew S. Szewczak Podstawy Systemów Operacyjnych"

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)

Pamięć wirtualna. Pamięć wirtualna

Pamięć 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ółowo

Systemy operacyjne III

Systemy 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ółowo

Wykł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 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ółowo

dr inż. Jarosław Forenc

dr 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ółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarzą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ółowo

Zarządzanie pamięcią operacyjną

Zarzą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ółowo

TEMAT 5 Zarządzanie pamięcią operacyjną

TEMAT 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ółowo

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

ZARZĄ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ółowo

Systemy Operacyjne Pamięć wirtualna cz. 2

Systemy 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ółowo

Architektura komputerów

Architektura 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ółowo

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

Zarzą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ółowo

Od programu źródłowego do procesu

Od 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ółowo

Stronicowanie na ¹danie

Stronicowanie 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ółowo

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

ZARZĄ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ółowo

Schematy zarzadzania pamięcia

Schematy 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ółowo

Architektura komputerów

Architektura 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ółowo

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

Pamięć 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ółowo

Architektura komputerów

Architektura 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ółowo

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

architektura 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ółowo

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

Wykł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ółowo

Zarządzanie zasobami pamięci

Zarzą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ółowo

Wydajność 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ść 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ółowo

Wydajność 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. 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ółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura 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ółowo

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

SYSTEMY 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ółowo

Działanie systemu operacyjnego

Dział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ółowo

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

3 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ółowo

Architektura systemu komputerowego

Architektura 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ółowo

Od programu źródłowego do procesu

Od 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ółowo

Pytania do treści wykładów:

Pytania 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ółowo

Wydajność 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ść 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ółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć 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ółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY 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ółowo

Plan wykładu. Architektura systemów komputerowych. Strategie zapisu. Cezary Bolek

Plan 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ółowo

System pamięci. Pamięć wirtualna

System 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ółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA 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ółowo

Architektura Systemów Komputerowych 2

Architektura Systemów Komputerowych 2 Architektura Systemów Komputerowych 2 Pytania egzaminacyjne z części pisemnej mgr inż. Leszek Ciopiński Wykład I 1. Historia i ewolucja architektur komputerowych 1.1. Czy komputer Z3 jest zgodny z maszyną

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW

ZASADY 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ółowo

KOMPONENTY SYSTEMÓW OPERACYJNYCH

KOMPONENTY 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ółowo

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 6 Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Rodzaje planowania Planowanie długoterminowe. Decyzja o

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja 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ółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY 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ółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY 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ółowo

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania Plan wykładu Bazy danych Wykład 10: Fizyczna organizacja danych w bazie danych Model logiczny i model fizyczny Mechanizmy składowania plików Moduł zarządzania miejscem na dysku i moduł zarządzania buforami

Bardziej szczegółowo

Sprzętowe wspomaganie pamięci wirtualnej

Sprzę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

Pamięć wirtualna w AS/400

Pamięć wirtualna w AS/400 Pamięć wirtualna w AS/400 Jan Posiadała 19 listopada 2002 1 Spis treści 1 Wpowadzenie - co to takiego AS/400 3 2 Organizacja pamięci 4 2.1 Koncepcja wymiany................................. 4 2.2 Koncepcja

Bardziej szczegółowo

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

obszar 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ółowo

Architektura komputerów

Architektura 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ółowo

1. Rola pamięci operacyjnej

1. Rola pamięci operacyjnej 1. Rola pamięci operacyjnej Pamięć operacyjna jest jedną z podstawowych części systemu komputerowego. Do niej trafiają niemal wszystkie dane programów (a także i same programy - zostanie to wyjaśnione

Bardziej szczegółowo

System pamięci. Pamięć wirtualna

System 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ółowo

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku System plików Definicje: Plik jest logiczną jednostką magazynowania informacji w pamięci nieulotnej Plik jest nazwanym zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej Plik jest

Bardziej szczegółowo

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej 1. Pamięć wirtualna Jeśli na komputerze brakuje pamięci RAM wymaganej do uruchomienia programu lub wykonania operacji, system Windows korzysta z pamięci wirtualnej, aby zrekompensować ten brak. Aby sprawdzić,

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA 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ółowo

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 9 Zarządzanie pamięcią. Toruń, 2004 Działanie systemu Peryferia Komputer Procesy Pamięć System Sterowanie Linie komunikacyjne Wejście- Wyjście

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu

Procesy 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ółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY 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ółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Wybrane zagadnienia elektroniki współczesnej

Wybrane zagadnienia elektroniki współczesnej Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie 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ółowo

Pliki. Operacje na plikach w Pascalu

Pliki. Operacje na plikach w Pascalu Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku Systemy plików i zarządzanie pamięcią pomocniczą Koncepcja pliku Metody dostępu Organizacja systemu plików Metody alokacji Struktura dysku Zarządzanie dyskiem Struktura pliku Prosta sekwencja słów lub

Bardziej szczegółowo

Mikroinformatyka. Tryb wirtualny

Mikroinformatyka. Tryb wirtualny Mikroinformatyka Tryb wirtualny Tryb wirtualny z ochroną Wprowadzony w 80286. Rozbudowany w 80386. - 4 GB pamięci fizycznej, - 64 TB przestrzeni wirtualnej, - pamięć podzielona na segmenty o rozmiarze

Bardziej szczegółowo

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

System pamięci. Pamięć wirtualna

System 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ółowo

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie) Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie) służy do przechowywania danych aktualnie przetwarzanych

Bardziej szczegółowo

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski

Instytut Informatyki Uniwersytet Wrocławski. Dane w sieciach. (i inne historie) Marcin Bieńkowski Dane w sieciach (i inne historie) Marcin Bieńkowski Jak przechowywać dane w sieciach (strony WWW, bazy danych, ) tak, żeby dowolne ciągi odwołań do (części) tych obiektów mogły być obsłużone małym kosztem?

Bardziej szczegółowo

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci

Bardziej szczegółowo

dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl WSTĘP 1 Struktury danych oraz algorytmy do implementacji interfejsu systemu plików

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko Struktury systemów operacyjnych Usługi, funkcje, programy mgr inż. Krzysztof Szałajko Usługi systemu operacyjnego Wykonanie programu System operacyjny umożliwia wczytanie programu do pamięci operacyjnej

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,

Bardziej szczegółowo

Tadeusz Pankowski

Tadeusz Pankowski Problem odtwarzania bazy danych Odtwarzanie bazy danych (recovery) Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski System bazy danych musi być w stanie odtworzyć swój poprawny stan w sposób automatyczny,

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka

Bardziej szczegółowo

Mikroinformatyka. Wielozadaniowość

Mikroinformatyka. Wielozadaniowość Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment

Bardziej szczegółowo

Windows XP Wiersz polecenia

Windows XP Wiersz polecenia Windows XP Wiersz polecenia, opracował Jan Biernat 1 z 7 Windows XP Wiersz polecenia DOS (ang. Disk Operating System) pierwszy przenośny (dyskowy) system operacyjny komputerów PC i mikrokomputerów lat

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) wiczenie trzecie Temat: Potoki i ł cza nazwane w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Komunikacja z wykorzystaniem

Bardziej szczegółowo

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań

Podsumowanie. Klasyfikacja ze względu na sposób przetwarzania. Klas. ze względu na liczbę wykonywanych zadań Podsumowanie 1. Klasyfikacja systemów operacyjnych 2. Zadania systemu operacyjnego 3. Zarządzanie zasobami systemu komputerowego 4. Zasoby zarządzane przez system operacyjny 5. Struktura systemów operacyjnych

Bardziej szczegółowo

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi) Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie drugie (jedne zajęcia) Temat: Procesy i sygnały w Linuksie. Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Budowa procesu

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension) System plików i zarządzanie pamięcią pomocniczą Koncepcja pliku Ciągła logiczna przestrzeń adresowa Koncepcja pliku Metody dostępu Organizacja systemu plików Metody alokacji Struktura dysku Zarządzenie

Bardziej szczegółowo

System pamięci. Pamięć podręczna

System pamięci. Pamięć podręczna System pamięci Pamięć podręczna Technologia Static RAM (SRAM) Ułamki nanosekund, $500-$1000 za GB (2012r) Dynamic RAM (DRAM) 50ns 70ns, $10 $20 za GB Pamięci Flash 5000-50000 ns, $0.75 - $1 Dyski magnetyczne

Bardziej szczegółowo

Programowanie w asemblerze Środowiska 64-bitowe

Programowanie w asemblerze Środowiska 64-bitowe Programowanie w asemblerze Środowiska 64-bitowe 24 listopada 2015 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor

Bardziej szczegółowo

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu

Bardziej szczegółowo

Procesory rodziny x86. Dariusz Chaberski

Procesory rodziny x86. Dariusz Chaberski Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo