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 9 Zarządzanie pamięcią. Toruń, 2004

2 Działanie systemu Peryferia Komputer Procesy Pamięć System Sterowanie Linie komunikacyjne Wejście- Wyjście

3 Zarządzanie pamięcią Podstawy Logiczna i fizyczna przestrzeń adresowa Wymiana Przydział ciągły Stronicowanie Segmentacja Segmentacja ze stronicowaniem

4 Podstawy Program musi być wprowadzony do pamięci operacyjnej i przydzielony odpowiedniemu procesowi Kolejka wejściowa (ang. input queue) zbiór procesów czekających na dysku na wprowadzenie do pamięci w celu wykonania Program użytkownika, zanim zostanie wykonany, przechodzi przez kilka faz

5 Wieloetapowe przetwarzania programu użytkownika moduły wynikowe biblioteka systemowa biblioteka systemowa ładowana dynamicznie łączenie statyczne łączenie dynamiczne program źródłowy kompilator asembler moduł wynikowy program linkujący moduł ładowalny program ładujący obraz binarny programu w pamięci czas kompilacji czas ładowania czas wykonania (run time)

6 Powiązanie rozkazów i danych z adresami pamięci (1) Powią zanie rozkazów i danych z adresami pamię ci moż e zostać wykonane w dowolnym z trzech kroków Czas kompilacji: Jeśli podczas kompilacji jest znane miejsce, w którym proces będzie przebywał, to można wygenerować kod bezwzględny (ang. absolute code); gdy w późniejszym czasie ten adres początkowy ulegnie zmianie, wówczas kod taki trzeba skompilować od nowa

7 Powiązanie rozkazów i danych z adresami pamięci (2) Czas ładowania: Jeśli podczas kompilacji nie wiadomo, gdzie będzie umieszczony proces w pamięci, to kompilator musi wytwarzać kod przemieszczalny (ang. relocatable) Czas wykonania: Jeśli proces może ulegać przemieszczeniu z jednego miejsca pamięci do innego podczas swojego wykonania to trzeba zastosować specjalny sprzęt do mapowania adresów (np. bazowe i graniczne rejestry).

8 Logiczna i fizyczna przestrzeń adresowa Adres oglądany przez jednostkę pamięci zwie się fizyczną przestrzenią adresową ; to w jaki sposób fizyczna przestrzeń adresowa jest odwzorowywana jest podstawową cechą zarzadzania pamięcią Logiczny adres wygenerowany przez CPU; jeśli odwzorowany na adres fizyczny podczas wykonywania programu wtedy jest to wirtualny adres Fizyczny adres adres widziany przez sterownik pamięci Adres logiczny i fizyczny jest taki sam podczas kompilacji i ładowania; logiczny(wirtulany) i fizyczny adres różnią się podczas wykonania

9 Jednostka zarządzania pamięcią (MMU) Urządzenie sprzętowe dokonujące odwzorowania adresów fizycznych na wirtualne (ang. memory-managament unit) W MMU do każdego adresu wytwarzanego przez proces użytkownika dodawana jest wartość rejestru przemieszczenia (ang. relocation register) w chwili odwoływania się do pamięci program użytkownika nigdy nie ma do czynienia z rzeczywistym adresem; program ten działa na na logicznych adresach

10 Przemieszczenie dynamiczne z z użyciem rejestru pamięć rejestr przemieszczenia CPU adres logiczny adres fizyczny jednostka zarządzania pamięcią (MMU)

11 Ładowanie dynamiczne Podprogram nie jest wprowadzany do pamięci dopóty, dopóki nie zostanie wywołany Lepsze wykorzystanie pamięci; nigdy nie zostanie załadowany podprogram, którego się nie używa Schemat ten jest szczególnie przydatny wtedy, kiedy trzeba okazjonalnie wykonać wielkie fragmenty kodu (np. obsługa błedów) Nie wymaga specjalnego wsparcia ze strony systemu operacyjnego; użytkownicy projektują wykorzystanie procedur bibliotecznych

12 Konsolidacja dynamiczna Konsolidację opóźnia się do czasu wykonania W obrazie binarnym, w miejscu odwołania bibliotecznego znajduje się tylko namiastka (ang. stub) procedury będąca małym fragmentem kodu, wskazującym jak odnaleźć odpowiedni, rezydujący w pamięci podprogram biblioteczny lub jak załadować bibliotekę jeśli podprogramu nie ma w pamięci Namiastka wprowadza na swoje miejsce adres podprogramu i go wykonuje System operacyjny sprawdza podprogram czy jest w pamięci a jeśli nie ma to go sprowadza

13 Konsolidacja dynamiczna (c.d.) Do pamięci można załadować więcej niż jedną wersję biblioteki, każdy program posłuży się swoją informacją o wersji, aby wybrać właściwą bibliotekę Niezgodności powodowane zmianami w bibliotece uwidaczniają się tylko w programach skompilowanych z nowym numerem wersji Biblioteki dzielone (ang. shared libraries) Konsolidacja dynamiczna (ang. dynamic linking ) wymaga wspomagania ze strony systemu operacyjnego, niektóre systemy realizują jedynie konsolidację statyczną (ang. static linking)

14 Nakładki Idea polega na przechowywaniu w pamięci tylko tych danych i rozkazów, które są stale potrzebne Nakładki (ang. overlays) są potrzebne w sytuacji gdy proces jest większy niż ilość przydzielonej mu pamięci Implementowane z poziomu użytkownika; nie wymagają wsparcia ze strony systemu operacyjnego; zrozumienie dużego programu jest trudne więc projektowanie nakładek jest złożonym przedsięwzięciem

15 Nakładki - przykład Dwuprzebiegowy asembler I przebieg konstruuje tablicę symboli II przebieg generuje kod maszynowy Kod przebiegu I = 70KB, II = 80KB, tablica symboli = 20KB, wspólne podprogramy = 30KB Wszystkiego 200KB; mamy tylko 150KB pamięci Kod przebiegu I i II są niezależne: I nakładka : I kod + tablica + wspólne podprogramy II nakładka : II kod + tablica + wspólne podprogramy moduł obsługi nakładek = 10KB

16 Nakładki dwuprzebiegowego asemblera tablica symboli 20 kb wspólne podprogramy 30 kb moduły obsługi nakładek 10 kb przebieg 1 przebieg 2 70 kb 90 kb 80 kb

17 Wymiana Proces może być tymczasowo odsyłany (ang. swapped) do pamięci pomocniczej (ang. backing store) i pobierany z powrotem do pamięci operacyjnej w celu kontynuowania działania Pamięć pomocnicza (ang. backing store) - jest nią na ogół szybki dysk dostatecznie pojemny aby pomieścić kopie obrazów pamięci wszystkich użytkowników; powinien także umożliwiać bezpośredni dostęp do tych obrazów pamięci

18 Wymiana (c.d.) Wytaczanie (ang. roll out), wtaczanie (ang. roll in) - wariant wymiany wykorzystywany w planowaniu priorytetowym; proces niskopriorytetowy zostaje wyswapowany w sytuacji gdy nadejdzie proces wysokopriorytetowy do kolejki procesów gotowych; proces wysokopriorytetowy zostaje załadowany do pamięci i wykonany, a gdy skończy, to proces o niższym priorytecie może być sprowadzony do pamięci i wznowiony

19 Wymiana (c.d.) Głównym składnikiem czasu wymiany jest czas transferu (na dysk); całkowity czas transferu jest proporcjonalny do ilości pamięci wyswapowanej Zmodyfikowana metoda wymiany jest stosowana w wielu systemach operacyjnych m.in. Unix, Linux, Windows; w normalnych warunkach wymiana jest zabroniona, jednak gdy nagromadzenie procesów w pamięci osiąga pewną wartość progową może mieć miejsce

20 Wymiana dwu procesów z użyciem pamięci pomocniczej system operacyjny proces 1 wysłanie przestrzeń użytkownika sprowadzenie proces 2 pamięć operacyjna pamięć pomocnicza

21 Zastosowanie rejestrów sprzętowych do ochrony pamięci rejestr graniczny rejestr przemieszczenia pamięć CPU adres < + logiczny tak adres fizyczny nie pułapka błąd adresowania

22 Przydział ciągły Pamięć główna zwykle mieści: Rezydentny system operacyjny przechowywany zwykle w pamięci dolnej (ang. low memory) (wraz z wektorem przerwań) Proces użytkownika przechowywany w pamięci górnej (ang. high memory)

23 Przydział ciągły (c.d.) Wieloprogramowanie ze stałą liczbą zadań (ang. multiprogrammining with a fixed number of tasks - MFT) Rejestr przemieszczenia (ang. relocation-register) jest wykorzystany do do ochrony kodu użytkownika i systemu operacyjnego Rejestr przemieszczenia zawiera wartość najmniejszego adresu fizycznego; rejestr graniczny zawiera zakres adresów logicznych - każdy adres logiczny musi być mniejszy od wartości rejestu granicznego

24 Przydział ciągły (c.d.) Wieloprogramowanie z zmienną liczbą zadań (ang. multiprogramming with a variable number of tasks - MVT) Dziura (ang. hole ) blok dostępnej pamięci; dziury o różnorodnej wielkości są porozrzucane po całej pamięci operacyjnej Gdy proces staje się gotowy, alokuje pamięć z dziury w pamięci operacyjnej na tyle pojemnej aby sprostać wymaganiom procesu System operacyjny zarządza: a) zaalokowanymi partycjami b) wolnymi partycjami (dziurami w pamięci)

25 Przydział ciągły (c.d.) przykład SO SO SO SO Proces 5 Proces 5 Proces 5 Proces 5 Proces 9 Proces 9 Proces 8 Proces 10 Proces 2 Proces 2 Proces 2 Proces 2

26 Przykład planowania 0 kb 400 kb system operacyjny kolejka zadań proces pamięć czas P1 P2 P3 P4 P5 600 kb kb kb kb kb KB 2560 kb

27 Przykład planowania (c.d.) 0 kb 0 kb 0 kb 0 kb 0 kb system operacyjny system operacyjny system operacyjny system operacyjny system operacyjny 400 kb 400 kb 400 kb 400 kb 400 kb P1 P1 P1 P kb 1000 kb 1000 kb 1000 kb 900 kb 1000 kb P2 P2 kończy przydziel P1 P4 P4 przydziel P4 kończy P5 P kb 1700 kb 1700 kb 2000 kb 2000 kb 2000 kb 2000 kb 2000 kb P3 P3 P3 P kb 2300 kb 2300 kb 2300 kb 2300 kb P kb 2560 kb 2560 kb 2560 kb 2560 kb

28 Problem dynamicznego przydziału pamięci Jak na podstawie listy wolnych dziur spełnić zamówienie na obszar o rozmiarze n Pierwsze dopasowanie: (ang. first-fit) - przydziel pierwszą dziurę o wystarczającej wielkości Najlepsze dopasowanie: (ang. best-fit) - przydziel najmniejszą z dostatecznie dużych dziur; przejrzyj całą listę, chyba że jest uporządkowana według rozmiarów. Strategia ta zapewnia najmniejsze pozostałości po przydziale

29 Problem dynamicznego przydziału pamięci (c.d.) Najgorsze dopasowanie: (ang. worstfit) - przydziel największą dziurę; należy również przeszukać całą listę. Strategia ta pozostawia po przydziale największą dziurę, która może okazać się bardziej użyteczna niż pozostałość wynikająca z podejścia polegającego na przydziale najlepiej pasującej dziury Symulacje wykazały, że first-fit i best-fit są lepsze od wyboru worst-fit zarówno pod wzglę dem zmniejszania czasu jak i zużycia pamię ci.

30 Fragmentacja Fragmentacja zewnętrzna (ang. external fragmentation) suma wolnych obszarów w pamięci wystarcza na spełnienie zamówienia ale nie tworzą one ciągłego obszaru Fragmentacja wewnętrzna ( ang. internal fragmentation) zaalokowana pamięć jest nieznacznie większa od żądania alokacji pamięci; różnica ta stanowi bezużyteczny kawałek pamięci wewnątrz przydzielonego obszaru

31 Upakowanie pamięci - przykład 0 kb system operacyjny 0 kb system operacyjny 400 kb 400 kb P5 P5 900 kb 1000 kb 100 kb upakuj 900 kb P4 P kb 1700 kb 2000 kb 300 kb P kb P kb 260 kb 660 kb 2560 kb 2560 kb

32 Fragmentacja - (c.d.) Rozwiązanie problemu zewnetrznej fragmentacji to upakowanie (ang. compaction) Przemieszczenie zawartości pamięci w taki sposów aby cała wolna pamięć znalazła się w jednym wielkim bloku Upakownie nie jest możliwe jeśli ustalanie adresów jest statyczne ; jest możliwe jedynie jeśli ustalanie adresów jest dynamicznie wykonywane podczas działania procesu Problem we/wy Zamknij zadanie w pamięci w czasie wykonywanie we/wy Realizuj we/wy jedynie do buforów systemowych

33 Porównanie sposobów upakowania pamięci 0 kb system operacyjny 0 kb system operacyjny 0 kb system operacyjny 0 kb system operacyjny 300 kb P1 300 kb P1 300 kb P1 300 kb P1 500 kb 600 kb 1000 kb 1200 kb P2 P3 500 kb 600 kb 800 kb 1200 kb P2 P3 P4 500 kb 600 kb 1000 kb 1200 kb P2 P4 P3 500 kb 600 kb P kb P kb P kb 2100 kb przydział początkowy 2100 kb przemieszczono 600kB 2100 kb przemieszczono 400kB 1900 kb P kb przemieszczono 200kB

34 Stronicowanie (ang. Paging) Logiczna przestrzeń adresowa procesu może być nieciągła tj. procesowi można przydzielać dowolne dostępne miejsca w pamięci fizycznej Pamięć fizyczną dzieli się na bloki stałej długości zwane ramkami (ang. frames) (rozmiar jest potęgą 2, między 512B a 16MB) Pamięć logiczną dzieli się na bloki tego samego rozmiaru zwane stronami (ang. pages) Pamiętana jest lista wolnych ramek

35 Przykłady 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

36 Stronicowanie (c.d.) Wykonanie procesu o rozmiarze n stron wymaga znalezienia n wolnych ramek i załadowanie w nie procesu Utworzenie tablicy stron (ang. page table) do odwzorowywania adresów logicznych na fizyczne Eliminiuje się fragmentację zewnętrzna ale może powstać fragmentacja wewnętrzna proces 72766B = 35 stron 2048B B -> 36 ramek -> fragmentacja wewnętrzna = 2048 B B = 926 B

37 Schemat Translacji Adresu Stronicowanie wymaga wsparcia sprzętowego Adres wygenerowany przez CPU jest dzielony na dwie części: Numer strony (ang. Page number) (p) używany jako indeks w tablicy stron zawierającej adresy bazowe wszystkich stron w pamięci fizycznej Odległość na stronie (ang. Page offset ) (d) w połączeniu z adresem bazowym definuje fizyczny adres pamięci posyłany do jednostki pamięci

38 Architektura sprzętu stronicującego f adres logiczny f CPU p d f d p adres fizyczny f f tablica stron pamięć fizyczna

39 Model stronicowania pamięci logicznej i fizycznej strona 0 strona numer ramki 0 1 strona 0 strona strona 3 pamięć logiczna tablica stron strona 2 strona strona 3 pamięć fizyczna

40 Adres logiczny logiczna przestrzeń adresowa = 2^m rozmiar strony = 2^n (B lub słów) adres logiczny = (nr strony, odległość ) nr strony 2^(m-n) odległość = 2^n Przykład (minimalny): strona rozmiaru 4 słów pamięć fizyczna = 32 słowa = 8 stron

41 Przykład minimalny a b c d e f g h i j k l m n o p pamięć logiczna tablica stron i j k l m n o p a b c d e f g h pamięć fizyczna

42 Przydział wolnej ramki lista wolnych ramek lista wolnych ramek strona 1 strona 0 16 strona 0 strona 0 strona 1 17 strona 1 strona 2 strona 2 strona 3 18 strona 3 nowy proces nowy proces strona strona tablica stron nowego procesu

43 Implementacja Tablicy Stron (1) Tablicę stron przechowuje się w pamięci operacyjnej Rejestr bazowy tablicy stron (ang. Page-table base register - PTBR) wskazuje położenie tablicy stron Rejestr długości tablicy stron (ang. Page-table length register - PTLR) wskazuje rozmiar tablicy stron; zwartość ta jest badana w celu sprawdzenia czy dany adres jest dozwolny

44 Implementacja Tablicy Stron (2) Schemat ten wymaga dwóch kontaktów z pamięcia w celu uzyskania dostępu do bajtu - jeden do wpisu do tablicy stron, drugi do danego bajtu. W większości przypadków takie opóźnienie jest nie do zaakceptowania Problem ten rozwiązuje się za pomocą specjalnej, małej i szybko przeszukiwanej, sprzętowej pamięci podręcznej zwanej rejestrami asocjacyjnymi (ang. associative registers ) lub buforami translacji adresów stron (ang. translation look-aside buffers -TLBs)

45 Sprzęt stronicujący z TLB CPU adres logiczny p d numer strony numer ramki f trafienie TLB f f d TLB adres fizyczny f p chybienie TLB f tablica stron pamięć fizyczna

46 Rejestry asocjacyjne Równoległe wyszukiwanie Nr strony Nr ramki Translacja adresu (A, A ) Jeśli A jest w rejestrze asocjacyjnym to weź odpowiadający mu numer ramki W przeciwnym razie weź numer ramki z tablicy stron

47 Efektywny czas dostępu do pamięci (EAT) Przeglądnięcie rejestrów asocjacyjnych = ε jednostek czasu Niech cykl pamięci wynosi 1 jednostkę czasu Współczynnik trafień (ang. hit ratio) procent numerów stron odnajdowywanych w rejestrach asocjacyjnych; współczynnik zależy od liczby rejestrów asocjacyjnych Współczynnik trafień = α Effective Access Time (EAT) EAT = (1 + ε) α + (2 + ε)(1 α) = 2 + ε α

48 Ochrona pamięci Ochrona pamięci jest zaimplementowana za pomocą bitów ochrony przypisanych każdej ramce Bit poprawności (ang. Valid-invalid bit) - każdy wpis w tablicy stron zostaje uzupełniony o dodatkowy bit: poprawny ( valid ) oznacza, że strona, z którą jest on związany, znajduje się w logicznej przestrzeni adresowej procesu, a więc jest ona dozwolona (ang. legal page) niepoprawny ( invalid ) oznacza, że strona nie należy do logicznej przestrzenia adresowej procesu

49 Bit poprawności lub niepoprawności 0 strona 0 strona 1 strona 2 numer ramki v v v v bit poprawności strona 0 strona 1 strona 2 strona v v 6 10,468 12,287 strona 4 strona i i tablica stron strona 3 strona 4 strona 5

50 Stronicowanie wielopoziomowe Logiczna przestrzeń adresowa na 32- bitowej maszynie z rozmiarem strony 4KB (2^12) powoduje, że tablica stron może zawierać do miliona wpisów (2^32/2^12) Ponieważ każda pozycja w tablicy stron ma 4B więc każdy proces może wymagać do 4MB fizycznej przestrzeni adresowej na samą tylko tablicę stron Jednym z rozwiązań jest stronicowanie wielopoziomowe

51 Przykład dwupoziomowego stronicowania (1) Logiczna przestrzeń adresowa na 32- bitowej maszynie z rozmiarem strony 4K jest podzielona na: 20-bitowy numer strony 12-bitowa odległość na stronie Ponieważ dzielimy tablicę stron na strony, numer strony podlega dalszemu podziałowi na: 10-bitowy numer strony 10-bitowa odległość na stronie

52 Schemat dwupoziomowej tablicy stron tablica stron pamięć zewnętrzna tablica stron strona tablicy stron

53 Przykład dwupoziomowego stronicowania (2) Adres logiczny przyjmuje więc postać: numer strony odległość na stronie p 1 p 2 d gdzie p 1 jest indeksem do zewnętrznej tablicy stron, a p 2 oznacza przesunięcie na stronie tej tablicy

54 Tłumaczenie adresu w 32b dwupoziomowej architekturze adres logiczny p1 p2 d p1 p2 zewnętrzna tablica stron strona tablicy stron d

55 Stronicowanie wielopoziomowe a wydajność Ponieważ każdy poziom jest zapamiętany jako osobna tablica w pamięci więc przekształcenie adresu logicznego na fizyczny może wymagać aż czterech dostępów do pamięci Zwiększyliśmy więc pięciokrotnie czas potrzebny do wykonania jednego dostępu do pamięci, zastosowanie pamięci podręcznej pozwala utrzymać wydajność w rozsądnych granicach

56 Stronicowanie wielopoziomowe a wydajność (c.d.) Dla współczynnika α = 0.98, ε = 20 ns i czasu dostępu do pamięci 100 ns otrzymujemy: effective access time = 0.98 x x 520 = 128 nanosekund. Co stanowi jedynie 28-procentowe wydłużenie czasu dostępu do pamięci mimo dodatkowych poziomów przeszukiwania tablic

57 Haszowane tablice stron Przestrzeń adresowa > 32 bitów? Numer strony pamięci wirtualnej jest odwzorowany (ang. hashed ) przy pomocy funkcji haszującej na pozycje w tablicy (ang. hashed page table) Wszystkie strony wirtualne którym odpowiada ta sama pozycja w tablicy (kolizja) zostają umieszczone na jednej liście (metoda łańcuchowa) Element listy: numer strony wirtualnej (p), numer strony pamięci (r), wskaźnik do następnego elementu listy

58 Haszowanie - przykłady Osiem pozycji w tablicy z haszowaniem o etykietach: 0,1,2,3,4,5,6,7 (długość tablicy M=8) Modularna funkcja haszująca - reszta z dzielenia przez 8 Rozwiązywanie kolizji liniową (ang. linear rehashing) metodą łańcuchową (ang. overflow with chaining ) Średni długość przeszukania tablicy długości M jednego z N elementów liniowe haszowanie: 2-2N/M łańcuchowe: 1+ (N-1)/2M

59 Haszowanie liniowe 119 wartość (119) wartość (50) wartość (51) wartość (74) wartość (83) wartość (95) 7

60 Haszowanie łańcuchowe wartość (50) 74 wartość (74) wartość (51) wartość (94) wartość (95) wartość (83) 119 wartość (119) 139 wartość (139) hash table overflow table

61 Wyszukiwanie adresu strony w tablicy z haszowaniem adres logiczny p d r d adres fizyczny q s p r... pamięć fizyczna funkcja haszująca hash table

62 Odwrócona tablica stron Odwrócona tablica stron (ang. inverted page table) ma po jednej pozycji dla każdej rzeczywistej strony pamięci (ramki) Każda pozycja zawiera adres wirtualny strony przechowywanej w ramce rzeczywistej pamięci oraz informacje o procesie posiadającym stronę Zmniejsza się rozmiar pamięci potrzebnej do pamiętania wszystkich tablic stron, jednak zwiększa się czas potrzebny do przeszukania tablicy przy odwołaniu do strony tablica haszowania (ang. hash table) - ogranicza szukanie do jednego lub najwyżej kilku wpisów w tablicy stron

63 Odwrócona tablica stron adres logiczny CPU pid p d i d adres fizyczny wyszukiwanie i pid p pamięć fizyczna tablica stron

64 Strony dzielone Dzielenie kodu Jedna kopia kodu nie modyfikującego samego siebie tj. wznawialnego (ang. reentrant) jest dzielona pomiędzy procesy (np. editory tekstu, kompilatory, system okien) Kod dzielony musi być widziany pod tą samą lokacją w logicznej przestrzeni adresowej dla wszystkich procesów Kod prywatny i dane Każdy proces ma własną kopie kodu i danych Strony dla prywatnego kodu i danych mogą się pojawić w dowolnym miejscu logicznej przestrzeni adresowej

65 Dzielenie kodu w środowisku stronicowanym ed 1 0 ed dane 1 ed dane 3 dane 1 proces P1 tablica stron procesu P1 ed 1 ed ed 1 ed 2 ed ed 3 ed 1 ed dane 2 proces P2 tablica stron procesu P dane 2 ed dane 3 proces P3 tablica stron procesu P3 11

66 Segmentacja Segmentacja (ang. segmentation) to schemat zarządzania pamięcią który urzeczywistnia sposób widzenia pamięci przez użytkownika Program jest zbiorem segmentów czyli jednostek logicznych takich jak: program główny, procedura, funkcja, zmienne lokalne, zmienne globalne, common block, stos, tablica symboli, arrays

67 Program z punkty widzenia użytkownika podprogram stos tablica symboli funkcja sqrt program główny logiczna przestrzeń adresowa

68 Filozofia segmentacji stos podprogram stos podprogram program główny tablica symboli tablica symboli logiczna przestrzeń adresowa program główny pamięć fizyczna

69 Adres logiczny - segmentacja <numer segmentu, odległość> Program użytkownika jest tłumaczony za pomocą kompilatora, który automatycznie konstruuje segmenty odpowiadające programowi Kompilator języka Pascal wytwarza segmenty (1) zmienne globalne (2) stosu wywołań procedur (3) kod funkcji i procedur (4) lokalne zmienne funkcji lub procedury Program ładujący przydziela numery segmentów

70 Sprzęt do segmentacji s granica baza tablica segmentów CPU s d tak < + nie pułapka: błąd adresacji pamięć fizyczna

71 Przykład segmentacji podprogram segment 0 funkcja sqrt stos segment 3 program główny tablica symboli segment 4 granica baza tablica segmentów segment 0 segment 3 segment 2 fizyczna przestrzeń adresowa segment 1 segment 2 logiczna przestrzeń adresowa segment 4 segment 1

72 Implementacja segmentacji (1) Adres logiczny składa się z dwu części : <numer-segmentu, odległość w segmencie>, Tablica segmentów (ang. segment table ) jest wykazem par: bazy zawiera początkowy fizyczny adres segmentu w pamięci granica oznacza długość segmentu

73 Implementacja segmentacji (2) Rejestr bazowy tablicy segmentów (ang. Segment-table base register -STBR) wskazuje na tablicę segmentów w pamięci Rejestr długości tablicy segmentów (ang. Segment-table length register -STLR) oznacza liczbę segmentów przypadających na program; numer segmentu s jest poprawny jeśli s < STLR.

74 Implementacja segmentacji (3) Relokacja dynamiczna za pomocą tablicy segmentów Dzielenie segmenty dzielone ten sam numer segmentu Alokacja first fit/best fit fragmentacja zewnętrzna upakowanie możliwe w dowolnej chwili

75 Dzielenie segmentów w pamięci segmentowanej editor pamięć logiczna procesu P1 granica baza segment editor dane 1 segment 1 tablica segmentów procesu P dane 1 editor granica baza dane 2 pamięć logiczna procesu P2 segment 0 dane 2 segment tablica segmentów procesu P2 pamięć fizyczna

76 Implementacja segmentacji (4) Ochrona. Z każdym elementem tablicy segmentów stowarzyszamy: validation bit = 0 segment niepoprawny uprawnienia read/write/execute Bity ochrony dołączone do każdego segmentu; dzielenie kodu ma miejsce na tym samym poziomie Segmenty mają zmienną długość - problem dynamicznej alokacji pamięci

77 Segmentacja ze stronicowaniem MULTICS MULTICS rozwiązuje problemy fragmentacji zewnętrznej i długich czasów przeszukiwań poprzez stronicowanie segmentów Rozwiązanie to różni się od czystej segmentacji tym, że pozycja w tablicy segmentów nie zawiera adresu bazowego lecz adres bazowy tablicy stron dla tego segmentu

78 Segmentacja ze stronicowaniem Intel 386 Intel 386 (i późniejsze) stosuje segmentację ze stronicowaniem do zarządzania pamięcią z dwupoziomowym schematem stronicowania Maksymalna liczba segmentów w procesie 16K Każdy segment mniejszy niż 4GB Rozmiar strony 4KB

79 Segmentacja Intel 386 (c.d.) Przestrzeń adresowa ma dwie strefy zawierające po co najwyżej 8KB segmentów prywatne segmenty procesu przechowywane w tablicy lokalnych deskryptorów (ang. local descriptor table -LDT) każda pozycja w LDT ma 8B wspólne segmenty procesów przechowywane w globalnej tablicy deskryptorów (ang. global descriptor table - GDT) selektor jest 16b liczbą 13b - numer segmentu 1b - czy segment jest w LDT czy w GDT 2b - ochrona każdy adres logiczny jest parą (selektor, odległość)

80 Segmentacja - Intel 386 (c.d.) Procesor ma 6 rejestrów segmentów do zaadresowania 6 segmentów oraz 6 rejestrów mikroprogramowych (8b) do przechowywania pozycji z LDT i GDT Adres fizyczny ma 32b rejestr wyboru wskazuje na pozycję w LDT lub GDT na podstawie adresu początku segmentu i jego długości tworzony jest adres liniowy (ang. linear address) sprawdzenie poprawności ze względu na długość segmentu jeśli adres jest poprawny to odległość dodaje się do wartości bazowej

81 Segmentacja - Intel 386 (c.d.) W procesorze 386 przyjęto stronicowanie dwupoziomowe adres liniowy składa się z 20b numeru strony 10b wskaźnik do katalogu stron 10b wskaźnik do tablicy stron 12b odległość na stronie

82 Intel tłumaczenie adresu selektor adres logiczny offset deskryptor segmentu + tablica deskryptorów katalog strona offset adres liniowy ramka strony adres fizyczny katalog stron tablica stron wpis katalogowy pozycja tablicy stron rejestr bazowy katalogu stron

83 Ustalanie wielkości pamięci pagesize AIX lsattr -HE -l sys0 -a realmem FreeBSD grep memory /var/run/dmesg.boot HP-UX dmesg grep Phys Linux free Solaris dmesg grep mem True64 vmstat grep ^Total

84 Monitorowanie wykorzystania pamięci vmstat memory - swap lub free page re - liczba przywołanych stron pamięci pi - liczba wczytanych stron fr - liczba stron zwolnionych po - liczba wypisanych stron top KDE System Guard (ksysguard)

85 Wyświetlanie obszarów stronicowania AIX lsps -a FreeBSD pstat -s HP-UX swapinfo -t -a -m Linux cat /proc/swaps swapon -s ; free -m -o Solaris swap -l True64 swapon -s

86 Obszary stronicowania AIX w pliku /etc/swapspaces FreeBSD w pliku /etc/fstab HP-UX w pliku /etc/fstab Linux w pliku /etc/fstab Solaris w pliku /etc/vfstab True64 w pliku /etc/sysconfigtab

87 Podsumowanie Algorytmy zarządzania pamięcią przydział ciągły stronicowanie segmentacja połączenie stronicowania i segmentacji Wybór algorytmu zależy od sprzętu Aspekty które należy brać pod uwagę przy porównywaniu strategii zarządzania pamięcią Wspomaganie sprzętowe - rejestr bazowy i graniczny (schemat z pojedyńczymi obszarami), segmentacja i stronicowanie ( tablice do odwzorowywanie adresów)

88 Podsumowanie (c.d.) Wydajność - segmentacja i stronicowanie mogą mieć zaimplementową tablicę w szybkich rejestrach Fragmentacja - wewnętrzna (stałe jednostki przydziału) i zewnętrzna (zmienne jednostki przydziału) Przemieszczanie - upakowanie likwiduje fragmentację zewnętrzną (program jest przesuwany w pamięci) Wymiana - pozwala na zwiększenie liczby procesów Wspólne użytkowanie - wymaga stronicowania lub segmentacji oraz starannego zaprojektowania Ochrona - różne sekcje programu mogą być określone jako wyłącznie do czytania, wykonywania lub czytania i pisania

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

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

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

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

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

Zarządzanie pamięcią. Zarządzanie pamięcią. Podstawy. Podsystem zarządzania pamięcią. Zadania podsystemu: W systemie wielozadaniowym: W systemie wielozadaniowym: Wpamięci wiele procesów jednocześnie Każdy proces potrzebuje pamięci na: Instrukcje (kod lub tekst) Dane statyczne (w programie) Dane dynamiczne (sterta, stos). System operacyjny

Bardziej szczegółowo

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

Podstawy. Podsystem zarządzania pamięcią - zadania: Wiązanie (binding) rozkazów i danych z adresami pamięci. W systemie wielozadaniowym: W systemie wielozadaniowym: W pamięci wiele procesów jednocześnie Każdy proces potrzebuje pamięci na: Instrukcje (kod lub tekst) Dane statyczne (w programie) Dane dynamiczne (sterta, stos). System operacyjny

Bardziej szczegółowo

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

PRZYDZIAŁ 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ół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

Zarządzanie pamięcią operacyjną

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

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

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

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

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

Przed wykonaniem program musi być pobrany z dysku i. Tam działa a jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany adowany do pamięci. Tam działa a jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większo kszość

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

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

Zarz arz dzanie pam dzanie ięci ę ą

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

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

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

Zarz arz dzanie pam dzanie ięci ę ą

Zarz 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ół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 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

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

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

Współpraca procesora ColdFire z pamięcią

Współpraca procesora ColdFire z pamięcią Współpraca procesora ColdFire z pamięcią 1 Współpraca procesora z pamięcią zewnętrzną (1) ROM Magistrala adresowa Pamięć programu Magistrala danych Sygnały sterujące CS, OE Mikroprocesor FLASH, SRAM, DRAM

Bardziej szczegółowo

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

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

Podstawy. Pamięć wirtualna. (demand paging)

Podstawy. 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ół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 Zarządzanie pamięcią operacyjną

Systemy Operacyjne Zarządzanie pamięcią operacyjną Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 4 stycznia 2007 1 Zagadnienia podstawowe 1 Wiązanie adresów 2 Ładowanie dynamiczne 3 Łączenie dynamiczne 4 Nakładki 2 3 Przydział ciągłych

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

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

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

Zarz¹dzanie pamiêci¹

Zarz¹dzanie pamiêci¹ Zarz¹dzanie pamiêci¹ Wykonywaæ mo na jedynie program umieszczony w pamiêci g³ównej. Wi¹zanie instrukcji i danych z ami w pamiêci mo e siê odbywaæ w czasie: kompilacji: jeœli s¹ znane a priori y w pamiêci,

Bardziej szczegółowo

System plików warstwa fizyczna

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

System plików warstwa fizyczna

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

System plików warstwa fizyczna

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

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

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1 Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie

Bardziej szczegół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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Hierarchia pamięci w systemie komputerowym

Hierarchia pamięci w systemie komputerowym Hierarchia pamięci w systemie komputerowym Aby procesor mógł do końca wykorzystać swą wysoką częstotliwość taktowania musi mieć możliwość odpowiednio szybkiego pobierania danych do przetworzenia. Pamięć

Bardziej szczegółowo

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

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

ang. 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ółowo

Systemy operacyjne, architektura komputerów

Systemy operacyjne, architektura komputerów Systemy operacyjne, architektura komputerów 1. Struktura komputera: procesor, we/wy, magistrala, pamiec. Działanie komputera. Linie magistrali systemowej. Linia danych do przenoszenia danych np. szyna

Bardziej szczegółowo

Podstawowe zagadnienia informatyki

Podstawowe zagadnienia informatyki Podstawowe zagadnienia informatyki Artur Opaliński (pokój E112) e-mail: (p. wykład administracyjny) URL: (p. wykład administracyjny) Obsługa pamięci Treść wykładu Adresowanie pamięci Architektury pamięci

Bardziej szczegółowo

Technologie informacyjne (2) Zdzisław Szyjewski

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

dr inŝ. Jarosław Forenc

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

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

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz] 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ółowo

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

Budowa systemów komputerowych

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

Stronicowanie w systemie pamięci wirtualnej

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

Architektura systemów informatycznych

Architektura systemów informatycznych Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego

Bardziej szczegół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

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

Nakł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ół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 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład

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

Podstawy programowania

Podstawy programowania Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

System plików przykłady. implementacji

System plików przykłady. implementacji Dariusz Wawrzyniak Plan wykładu CP/M MS DOS ISO 9660 UNIX NTFS System plików (2) 1 Przykłady systemu plików (1) CP/M katalog zawiera blok kontrolny pliku (FCB), identyfikujący 16 jednostek alokacji (zawierający

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

Mikroprocesor Operacje wejścia / wyjścia

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

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

System plików przykłady implementacji

System plików przykłady implementacji System plików przykłady implementacji Dariusz Wawrzyniak CP/M MS DOS ISO 9660 UNIX NTFS Plan wykładu System plików (2) Przykłady implementacji systemu plików (1) Przykłady implementacji systemu plików

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

System plików. Warstwowy model systemu plików

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

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie 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ół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

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 4: Architektura i zarządzanie pamięcią IA-32 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Tryby pracy Rejestry

Bardziej szczegółowo

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK 1 2 3 Pamięć zewnętrzna Pamięć zewnętrzna organizacja plikowa. Pamięć operacyjna organizacja blokowa. 4 Bufory bazy danych. STRUKTURA PROSTA

Bardziej szczegółowo

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 3 Planowanie procesora. Zarządzanie pamięcią.

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 3 Planowanie procesora. Zarządzanie pamięcią. Zbigniew S. Szewczak Systemy Operacyjne Wykład 3 Planowanie procesora. Zarządzanie pamięcią. Toruń, 2005 Propozycje terminu egzaminu piątek, 17.02.2006, g.12.00-14.00 niedziela, 19.02.2006, g.14.00-16.00

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

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

System operacyjny MACH

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

4. Procesy pojęcia podstawowe

4. 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

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

Organizacja typowego mikroprocesora

Organizacja 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ół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

Działanie systemu operacyjnego

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

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

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

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski System plików dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp System plików System plików jest tym komponentem systemu operacyjnego,

Bardziej szczegółowo

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

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

Informatyka 2. Wykład nr 10 ( ) Plan wykładu nr 10. Politechnika Białostocka. - Wydział Elektryczny. ext2. ext2. dr inŝ.

Informatyka 2. Wykład nr 10 ( ) Plan wykładu nr 10. Politechnika Białostocka. - Wydział Elektryczny. ext2. ext2. dr inŝ. Rok akademicki 2008/2009, Wykład nr 10 2/32 Plan wykładu nr 10 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki

Bardziej szczegółowo

Architektura komputerów

Architektura 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ół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 I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Systemy operacyjne Zarządzanie pamięcią

Systemy operacyjne Zarządzanie pamięcią Systemy operacyjne Zarządzanie pamięcią [] Zarządzanie pamięcią Czego programiści oczekują od pamięci systemu: by była duża, by była szybka, by była nieulotna. Hierarchia pamięci: mała szybka droga pamięć

Bardziej szczegółowo

Mikroprocesory rodziny INTEL 80x86

Mikroprocesory rodziny INTEL 80x86 Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając

Bardziej szczegółowo

Struktura systemów komputerowych

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

1.1 Definicja procesu

1.1 Definicja procesu 1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu 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

4. Procesy pojęcia podstawowe

4. 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

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

Bardziej szczegółowo

Urządzenia wejścia-wyjścia

Urządzenia wejścia-wyjścia Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

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

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

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