Organizacja zarządzania pamięcią. Systemy operacyjne / Zarządzanie pamięcią str.4/59. Zarządzanie pamięcią. Funkcje systemu operacyjnego

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

Download "Organizacja zarządzania pamięcią. Systemy operacyjne / Zarządzanie pamięcią str.4/59. Zarządzanie pamięcią. Funkcje systemu operacyjnego"

Transkrypt

1 Organizacja zarządzania pamięcią Systemy Operacyjne Zarządzanie pamięcią dr inż. Tomasz Jordan Kruk Instytut utomatyki i Informatyki Stosowanej Politechnika Warszawska Na organizację zarządzania mają wpływ: pole adresowe argumentów rozkazu, miejsce pola adresacji w słowie, sprzętowe możliwości przekształcania pola adresacji. W zależności od długości pola adresacji przestrzeń adresowa może pokrywać się z zakresem adresów pamięci operacyjnej, może być większa lub mniejsza. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59 Zarządzanie pamięcią Funkcje u operacyjnego zego programiści oczekują od pamięci u: by była duża, by była szybka, by była nieulotna. Hierarchia pamięci: mała szybka droga pamięć (np. cache), średnia, średnio szybka, umiarkowanie droga, pamięć (np. pamięć operacyjna), ogromna, wolna i tania pamięć (np. pamięć dyskowa/ taśmowa). Funkcje u operacyjnego w kontekście zarządzania pamięcią: zagospodarowanie przestrzeni adresowej poprzez wykorzystanie mechanizmów translacji adresów, ochrona zawartości pamięci, organizacja dostępu do obszarów dzielonych, efektywna organizacja pamięci operacyjnej. Wielkość pamięci operacyjnej przeznaczonej na kod u operacyjnego jest zazwyczaj stała, natomiast bardziej złożony jest przydział pamięci procesom użytkowym. Zarządzanie pamięcią (ang. Memory Management, MM) na poziomie u operacyjnego uwarunkowane architekturą u. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

2 Metody przydziału pamięci Podział pamięci Metody przydziału pamięci operacyjnej procesom użytkowym:. brak podziału, wolna przestrzeń adresowa w danje chwili przydzielana jednemu procesowi użytkowemu. Wieloprogramowanie można realizować przez wymiatanie (ang. swapping),. podział pamięci, wolna przestrzeń adresowa podzielona na części przydzielane pojedynczym procesom użytkowym,. wykorzystanie pamięci wirtualnej, istnieje jedna lub wiele wirtualnych przestrzeni adresowych przydzielanych procesom użytkowym, a mających w niewielkim stopniu pokrycie w pamięci operacyjnej. ele podziału pamięci między procesy: lepsze wykorzystanie elementów sprzętowych u, głównie procesora i pamięci, umożliwienie szybkiego przełączania procesora z pracy z jednym procesem na pracę z innym procesem. Można wyróżnić następujące typy ów z podziałem pamięci: y z podziałem statycznym. Podział statyczny dzieli pamięć na stałe partycje o różnej długości lub na bloki o stałej długości zwane ramami (ang. frame). y z podziałem dynamicznym. Realizacja z wykorzystaniem struktur opisujących wolne bloki pamięci o różnych długościach oraz mechanizm wymiatania. Systemy operacyjne / Zarządzanie pamięcią str.5/59 Systemy operacyjne / Zarządzanie pamięcią str.7/59 rak podziału Podział statyczny na stałe partycje Trzy metody prostej organizacji pamięci dla u operacyjnego i jednego procesu uzytkownika. Multiple input queues Partition 8K 7K Partition User program in RM xfff in ROM Device drivers in ROM User program User program in RM (c) Partition Partition Partition K K K Single input queue Partition Partition Partition a. partycje o stałym rozmiarze z osobnymi kolejkami wejściowymi, b. partycje o stałym rozmiarze z jedną kolejką wejściową. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str.8/59

3 Podział dynamiczny Modelowanie wieloprogramowania Do realizacji dynamicznego podziału pamięci można stosować następujące hipotetyczne funkcje: przydziel( rozmiar, adres ) wybranie spośród bloków wolnych bloku pokrywającego zapotrzebowanie, efektem jest zwrócenie adresu wybranego bloku i usunięcie przydzielonego bloku ze zbioru bloków wolnych, malloc( size ), calloc( n, size ), realloc( ptr, size ). zwolnij( adres ) - dołączenie bloku zajętego do zbioru wolnych bloków, np. free( ptr ), informuj() - zwróc rozmiar aktualnie największego wolnego bloku, np. msize(). PU utilization (in percent) % I/O wait 8 5% I/O wait 8% I/O wait Degree of multiprogramming Wykorzystanie procesora w funkcji liczby procesów w pamięci. Systemy operacyjne / Zarządzanie pamięcią str.9/59 Systemy operacyjne / Zarządzanie pamięcią str./59 Zarządzanie w kontekście wieloprogramowania naliza wydajności wieloprogramowania Dwa zasadnicze aspekty: obsługa relokacji, nie ma pewności gdzie dokładnie program zostanie załadowany do pamięci, wykorzystanie rejestrów bazowych i rejestrów ograniczających. wzajemna ochrona pamięci. Job rrival time : : :5 : PU minutes needed..9 Job starts.9 PU idle PU busy PU/process # Processes Job finishes Time (relative to job 's arrival) (c) Systemy operacyjne / Zarządzanie pamięcią str./59 a. czas nadejścia i wymagania poszczególnych prac, b. wykorzystanie procesora dla procesów z 8% I/O, c. sekwencja zdarzeń z pokazanym w minutach czasem, jaki dany proces otrzymuje w podanym interwale. Systemy operacyjne / Zarządzanie pamięcią str./59

4 Wymiatanie (ang. swapping) lgorytmy alokacji (c) Time (d) D (e) D (f) D Zmiany przydziału pamięci wraz z pojawianiem się i znikaniem procesów z pamięci. Obszary zakreskowane są niewykorzystane. (g) Zadaniem algorytmu alokacji jest wybranie wolnego bloku w celu przydzielenia procesowi pamięci. Wybrane algorytmy alokacji: algorytm pierwszej zgodności (ang. First Fit), wybór pierwszego pasującego ze zbioru/ listy, algorytm najlepszej zgodności (ang. est Fit), wybór najmniejszego wystarczającego bloku ze zbioru/ listy, algorytm najgorszej zgodności (ang. Worst Fit), wybór największego ze zbioru/ listy, algorytm bliźniaków (ang. uddies), podział pamięci (o długości k ) na dwa równe bliźniacze bloki; połowienie jednego aż do uzyskania bloku o minimalnej długości spełniającego zapotrzebowanie. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str.5/59 Fragmentacja Przeciwdziałanie fragmentacji Przy wyborze algorytmu alokacji należy uwzględnić następujące czynniki: prędkość, prostotę, efekt fragmentacji. Fragmentacja wewnętrzna - zjawisko tworzenia niewykorzystywalnych, choć przydzielonych w ramach pewnej struktury (partycja, ramka), obszarów pamięci. Fragmentacja zewnętrzna - zjawisko tworzenia niewykorzystywalnych, nieprzydzielonych obszarów pamięci, zazwyczaj spowodowane niedoskonałością działania organizacji alokacji pamięci procesom uzytkowym. W ie może być zdefiniowana wartość n będąca minimalna dopuszczalną wartością niejawnie przydzielanego bloku, co ułatwia zarządzanie i zwiększa efektywność, ale może prowadzić do zjawiska fragmentacji. Efektom fragmentacji można przeciwdziałać poprzez: zwalnianie i scalanie, zagęszczanie i relokacje, mechanizm stronicowania. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

5 Zarządzanie pamięcią - mapy bitowe i listy Pamięć wirtualna D E Hole 8 Starts at 8 Length P 5 H 5 P 8 P H 8 P P H 9 (c) Process a. fragment pamięci z pięcioma procesami i trzema dziurami, b. odpowiadająca mapa bitowa, c. ta sama informacja w postaci listy. Pamięć wirtualna pamięci złożony z co najmniej dwóch rodzajów pamięci: małej i szybkiej (np. pamięci operacyjnej) oraz dużej, lecz wolnej (np. pamięci pomocniczej), a także z dodatkowego sprzętu i oprogramowania umożliwiającego automatyczne przenoszenie fragmentów pamięci z jednego rodzaju pamięci do drugiego. Pamięć wirtualna ma być prawie tak szybka jak szybsza z pamięci i prawie tak duża jak większa z pamięci. Metody realizacji pamięci wirtualnej: stronicowanie, segmentacja, stronicowanie z segmentacją. Systemy operacyjne / Zarządzanie pamięcią str.7/59 Systemy operacyjne / Zarządzanie pamięcią str.9/59 Problem dynamicznej alokacji Rola jednostki zarządzającej pamięcią Room for growth ctually in use Room for growth -Stack -Data -Program -Stack Room for growth Room for growth PU PU package The PU sends virtual addresses to the MMU Memory management unit Memory Disk controller ctually in use -Data -Program The MMU sends physical addresses to the memory us a. alokacja pamięci dla rosnącego segmentu danych, b. alokacja pamięci dla rosnącego stosu i rosnącego segmentu danych. MMU (ang. Memory Management Unit) może być zintegrowane z procesorem (tak zazwyczaj teraz), ale może być też niezależne (tak zazwyczaj było dawniej). Systemy operacyjne / Zarządzanie pamięcią str.8/59 Systemy operacyjne / Zarządzanie pamięcią str./59

6 Stronicowanie Realizacja stronicowania Stronicowanie bazuje na stałym podziale pamięci. Jednostki podziału: ramy, ramki (ang. frames) dla pamięci fizycznej, strony (ang. pages) dla wirtualnej przestrzeni adresowej procesu. Zadania mechanizmu stronicowania: odwzorowywanie adresów wirtualnych w adresy rzeczywiste:. określenie, do której strony odnosi się adres w programie,. znalezienie ramy, którą aktualnie zajmuje dana strona. przesyłanie - w zależności od potrzeby - stron z pamięci pomocniczej do pamięci operacyjnej oraz odsyłanie już nie używanych stron z powrotem. Korzystanie z pamięci wirtualnej nie stawia żadnych dodatkowych wymagań użytkownikowi. Przydział pamięci realizowany jest owo z wykorzystaniem tablic stron i/ lub tablic ram. Zapewnienie własności przezroczystości wymaga: obsługi przez przerwania określanego jako chybienie strony (ang. page fault), sygnalizującego brak w pamięci strony, do której usiłowano się odwołać. obsługa chybienia ma zgodnie z przyjętym algorytmem wymiany stron przydzielić ramę i ściągnąć stronę z pamięci pomocniczej, w celu minimalizacji strat wydajności odwołań do pamięci wykorzystanie pamięci asocjacyjnych do translacji adresów. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59 Przykład translacji Przykładowa tablica stron Virtual address space K-K 5K-K 5K-5K 8K-5K K-8K K-K K-K K-K 8K-K K-8K K-K K-K K-K 8K-K K-8K K-K 7 5 Virtual page Physical memory address 8K-K K-8K K-K K-K K-K 8K-K K-8K K-K frame Wewnętrzne operacje MM z szesnastoma stronami po k. table Present/ absent bit Virtual page = is used as an index into the page table Należy uwzględniąć następujące fakty: tablica stron może być bardzo duża, -bit offset copied directly from input to output odwzorowywanie musi być bardzo szybkie. Outgoing physical address (58) Incoming virtual address (89) Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

7 TL (ang. Translation Lookaside uffer ) Valid Virtual page Modified Protection frame RW R 8 RW 9 9 RW 9 R 5 R 5 8 RW 8 RW 75 Główny cel: minimalizacja liczby odwołań do pamięci w trakcie stronicowania. spekty dotyczące TL: koszt przełączania kontekstu, koszt wielopoziomowści tablic stron, realizacja: sprzętowa/ programowa. Systemy operacyjne / Zarządzanie pamięcią str.7/59 Odwrócone tablice stron Typowy element tablicy stron aching disabled Modified Present/absent frame number Referenced Protection Systemy operacyjne / Zarządzanie pamięcią str.5/59 Wielopoziomowe tablice stron Second-level page tables table for the top M of memory Top-level page table its 5 PT PT Offset 5 To pages Systemy operacyjne / Zarządzanie pamięcią str./59 Traditional page table with an entry for each of the 5 pages 5-5-M physical memory has -K page frames Hash table - - frame Virtual page Indexed by hash on virtual page Indexed by virtual page Systemy operacyjne / Zarządzanie pamięcią str.8/59

8 Optymalny rozmiar strony lgorytmy wymiany stron Dobór rozmiaru strony ma wpływ na fragmentację wewnętrzną oraz rozmiar tablicy stron. Niech: s przeciętny rozmiar procesu w bajtach, p rozmiar strony, e rozmiar pozycji w tablicy stron. wtedy nadmiar = s e/p + p/ Wyszukiwanie ekstremum, pochodna względem p przyrównana do : se/p + / = Zestawienie wybranych algorytmów wymiany stron: algorytm optymalny, algorytm NRU (ang. not recently used) (bity R i M), algorytm FIFO, algorytm drugiej szansy, algorytm zegarowy, algorytm LRU (ang. least recently used). Zatem optymalny rozmiar strony wynosi p = se Systemy operacyjne / Zarządzanie pamięcią str.9/59 Systemy operacyjne / Zarządzanie pamięcią str./59 Obsługa chybienia lgorytm drugiej szansy Obsługa chybienia przebiega następująco:. wskazanie ramy dla żądanej strony, loaded first 7 8 D E F 5 G 8 H Most recently loaded page. zwolnienie wskazanej ramy,. ściągnięcie żądanej strony w obszar wskazanej ramy,. aktualizacja tablicy ram. 7 8 D E F 5 G 8 H is treated like a newly loaded page Wskazaniem ramy, w przypadku braku ram wolnych, zajmuje się algorytm wymiany stron (ang. page replacement algorithm). Główne zadanie: usunięcie z pamięci operacyjnej strony najmniej potrzebnej w przyszłości, tzn, strony, do której odwołanie nastąpi najpóźniej bądź w ogóle nie nastąpi. a. strony sortowane w porządku FIFO, b. nowa postć listy, gdy bład strony wystąpił w momencie i miał ustawiony bit R. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

9 lgorytm zegarowy wymiany stron Programowa symulacja algorytmu LRU (II) L R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick J K I E D When a page fault occurs, the page the hand is pointing to is inspected. The action taken depends on the R bit: R = : Evict the page R = : lear R and advance hand H G F 5 (c) (d) (e) lgorytm postarzania, pokazano sześć stron w okresie pięciu tyknięć zegara. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str.5/59 Sprzętowy algorytm LRU Zbiór roboczy stron Zbiorem roboczym nazywamy zbiór stron wykorzystywanych w trakcie k ostatnich odwołań do pamięci. Funkcja w(k, t) odpowiada mocy zbioru w chwili t. (c) (d) (e) w(k,t) (f) (g) (h) (i) (j) Do stron odwoływano się w następującej kolejności:,,,,,,,,,. k Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

10 lgorytm zbioru roboczego Porównanie algorytmów wymiany stron Information about one page 8 Time of last use referenced during this tick not referenced during this tick 98 urrent virtual time R (Referenced) bit Scan all pages examining R bit: if (R == ) set time of last use to current virtual time if (R == and age > τ) remove this page if (R == and age τ) remember the smallest time lgorytm Optymalny NRU FIFO Drugiej szansy Zegarowy LRU NFU Postarzanie Zbiór roboczy WSlock Komentarz nieimplementowalny, punkt odniesienia surowy może wymiatać istotne strony duże ulepszenie FIFO realistyczny dobry, ale trudny do implementacji dość ogólna aproksymacja LRU efektywny z dobrą aproksymacją LRU dość kosztowny w implementacji dobry efektywny algorytm table Systemy operacyjne / Zarządzanie pamięcią str.7/59 Systemy operacyjne / Zarządzanie pamięcią str.9/59 Zegarowy algorytm zbioru roboczego nomalia elady ego urrent virtual time 8 8 Youngest page Oldest page ll pages frames initially empty P P P P P P P P P 9 faults Time of last use 8 R bit 8 Youngest page Oldest page P P P P P P P P P P faults 98 (c) 98 New page (d) a. algorytm FIFO wymiany stron na maszynie z trzema ramkami, b. algorytm FIFO wymiany stron na maszynie z czteroma ramkami. więcej błedów strony przy większej liczbie ramek. Systemy operacyjne / Zarządzanie pamięcią str.8/59 Systemy operacyjne / Zarządzanie pamięcią str./59

11 Strony współdzielone Organizacja przestrzeni wymiany Main memory Disk Main memory Disk s s Swap area 7 5 Swap area Process table table table 7 5 Disk map Program Data Data tables a. stronicowanie do statycznego obszaru wymiany, b. dynamiczny zrzut stron. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59 Obsługa błędu strony Rozdzielenie strategii i mechanizmu realizacji MOVE.L #(), () its MOVE instrukcja wywołująca błąd strony, odkąd zacząć powtarzanie instrukcji? } } } Opcode First operand Second operand User space Kernel space. fault User process Main memory. Needed page Fault handler External pager 5. Here is page. Map page in. Request page. arrives MMU handler Disk obsługa błędu strony przez zewnętrzny program typu pager. Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str./59

12 Pojedyncza przestrzeń adresowa Rozmiary segmentów Virtual address space K ddress space allocated to the parse tree all stack Parse tree onstant table Source text Symbol table Free Space currently being used by the parse tree Symbol table has bumped into the source text table Niewygody pojedynczej przestrzeni adresowej na przykładzie mapy pamięci translatora/ kompilatora. K K 8K K K Symbol table Segment K 8K K K Source text Segment K onstants Segment Parse tree Segment all stack Segment Segmentacja pamięci umożliwia każdej tablicy niezależną zmianę rozmiaru. K K 8K K K K 8K K K Systemy operacyjne / Zarządzanie pamięcią str.5/59 Systemy operacyjne / Zarządzanie pamięcią str.7/59 echy segmentacji Stronicowanie a segmentacja (I) celem segmentacji organizacji przestrzeni adresowej w sposób odzwierciedlający logiczny podział informacji, przy organizacji przestrzeni wirtualnej możliwość korzystania z dużej liczby segmentów z nadawanymi przez programistę nazwami, przestrzeń adresowa dwuwymiarowa z racji identyfikacji adresu poprzez parę nazwa segmentu + adres wewnątrz segmentu, odzworowanie adresu organizowane zazwyczaj poprzez osobną dla każdego procesu tablicę segmentów, elementy tablicy segmentów określane mianem deskryptorów segmentu, każdy deskryptor zawiera adres bazy oraz rozmiar segmentu. celem segmentacji logiczny podział pamięci operacyjnej, celem stronicowania fizyczny podział pamięci, stronicowanie mechanizmem niskiego poziomu, niewidocznym dla programisty; segmentacja mechanizmem wyższego poziomu, widocznym dla programisty, rozmiar strony stały, ustalona, wynikający z architektury, rozmiar segmentu dowolny określany przez programistę, zarówno w przypadku zastosowania stronicowania jak i segmentacji całkowita przestrzeń adresowa może być większa od dostępnje pamięci fizycznej, segmentacja umożliwia lepszą ochronę poszczególnych elementów procesu poprzez możliwość rozróżniania segmentów logicznie grupujących elementy procesów, Systemy operacyjne / Zarządzanie pamięcią str./59 Systemy operacyjne / Zarządzanie pamięcią str.8/59

13 Stronicowanie a segmentacja (II) MULTIS: Segmentacja ze stronicowaniem segmentacja umożliwia łatwiejsze zarządzanie elementami procesu o zmiennym rozmiarze (np. stos, sterta), segmentacja udostępnia współdzielenie procedur między procesami (np. segmenty dzielone, a przez to biblioteki dzielone). główny cel wprowadzenia stronicowania: uzyskanie większej pamięci adresowej bez konieczności zakupu dodatkowej pamięci fizycznej, główny cel wprowadzenia segmentacji: umożliwienie rozdzielenia programów i danych na logicznie niezależne przestrzenie adresowe z ułatwieniem współdzielenia wybranych obszarów i lepszej ochrony. segmentacja - może zachodzić fagmentacja zewnętrzna, stronicowanie - może zachodzić fragmentacja wewnętrzna. komputery Honeywell i następne, maksymalnie możliwych 8 segmentów, z których każdy mógł mieć maksymalnie 55 -bitowych słów, stronicowane segmenty, dla każdego procesu tablica segmentów, sama tablica segmentów również stronicowanym segmentem, fizyczne adresy -bitowe, strony rozmieszczane z dopasowaniem do ( ) bajtów, zatem 8 bitów na adres tablicy stron, standardowy rozmiar stron słów, część wewnętrznych małych segmentów u niestronicowana bądź ze stronami po słowa, ewentualny adres segmentu w pamięci pomocniczej w osobnej tablicy wykorzystywanej przez program obsługi chybienia strony. Systemy operacyjne / Zarządzanie pamięcią str.9/59 Systemy operacyjne / Zarządzanie pamięcią str.5/59 Implementacja czystej segmentacji MULTIS: Pamięć wirtualna Segment (7K) Segment (8K) Segment Segment (8K) Segment (K) Segment (7K) Segment (8K) Segment (K) Segment 7 Segment (K) (K) Segment 5 (K) Segment (8K) Segment (K) Segment 7 Segment (K) (K) Segment 5 (K) Segment (K) Segment (K) Segment 7 Segment (K) (c) (d) (e) (K) (K) Segment 5 (K) Segment (K) Segment Segment 7 Segment (K) zjawisko fragmentacji zewnętrznej (ang. external fragmentation, checkerboarding), zbijanie/ gromadzenie segmentów metodą przeciwdziałania fragmentacji (rys. e), wykorzystanie stronicowania metodą przeciwdziałania fragmentacji. bits Segment descriptor Segment 5 descriptor Segment descriptor Segment descriptor Segment descriptor Segment descriptor Segment descriptor Descriptor segment Main memory address of the page table 8 9 entry entry entry table for segment entry entry entry table for segment Segment length (in pages) size: = words = words = segment is paged = segment is not paged Miscellaneous bits Protection bits Pamięć wirtualna u Multics a. segment deskryptorów ze wskazaniami do tablic stron, b. deskryptor segmentu. Systemy operacyjne / Zarządzanie pamięcią str.5/59 Systemy operacyjne / Zarządzanie pamięcią str.5/59

14 MULTIS: Wyznaczanie adresu fizycznego Intel Pentium: Segmentacja ze stronicowaniem Segment number number ddress within the segment Offset within the page 8 -bitowy adres wirtualny w ie Multics. Multics: 5K niezależnych segmentów, każdy do K -bitowych słów, Pentium: K niezależnych segmentów, każdy do G -bitowych słów, pojedyncza GDT (ang. Global Descriptor Table) w ie, LDT (ang. Local Descriptor Table) dla każdego procesu. Word Descriptor frame Segment number Descriptor segment number table Offset Translacja dwuczęściowego adresu wirtualnego na adres w pamięci głównej. Dla przejrzystości pominięto fakt, że segment deskryptorów jest również stronicowany. Systemy operacyjne / Zarządzanie pamięcią str.5/59 Systemy operacyjne / Zarządzanie pamięcią str.55/59 MULTIS: bufory TL Intel Pentium: Selektor i deskryptor segmentu omparison field Segment number Virtual page frame Protection ge Is this entry used? Selektor w Pentium its Index 7 Read/write = GDT/ = LDT Privilege level (-) Read only Read/write Execute only Execute only 7 9 : -it segment : -it segment : Li is in bytes : Li is in pages Privilege level (-) : System : pplication Segment type and protection ase - G D Limit P DPL S Type ase - -9 : Segment is absent from memory : Segment is present in memory Uproszczona wersja buforów TL. pozycji, dla których numer segmentu i strony są porównywane równolegle. W rzeczywistości ze względu na zróżnicowanie rozmiaru stron struktura jest bardziej złożona. ase -5 Limit -5 its Deskryptor segmentu kodu w Pentium Relative address Systemy operacyjne / Zarządzanie pamięcią str.5/59 Systemy operacyjne / Zarządzanie pamięcią str.5/59

15 Intel Pentium: Wyznaczanie adresu fizycznego (I) Intel Pentium: Ochrona Selector Descriptor ase address Offset + User programs Shared libraries System calls Typical uses of the levels Limit Kernel Other fields -it linear address jeżeli stronicowanie wyłączone (czysta segmentacja), uzyskany adres to adres fizyczny, przy włączonym stronicowaniu interpretacja uzyskanego adresu jako wirtualnego, wykorzystanie buforów TL, Level cztery poziomy ochrony, można odwoływać się do danych segmentów swojego i wyższych poziomów, aby odwołać się do procedury innego niż własny poziomu LL ma jako argument nie adres ale selektor do tzw. call gate. Systemy operacyjne / Zarządzanie pamięcią str.57/59 Systemy operacyjne / Zarządzanie pamięcią str.59/59 Intel Pentium: Wyznaczanie adresu fizycznego (II) its Linear address Dir Offset directory table frame Word selected Entries Dir Offset Directory entry points to page table table entry points to word -bitowa logiczna przestrzeń adresowa, strony o rozmiarze K, każdy proces posiada katalog stron z pozycjami, z których każda wskazuje na tablicę stron również z pozycjami. możliwa pojedyncza, stronicowana, -bitowa przestrzeń adresowa na potrzeby aplikacji. Systemy operacyjne / Zarządzanie pamięcią str.58/59

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

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

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

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

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

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ą 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ą 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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) System IT ogólna budowa Historia wirtualizacji Pierwsze komputery lata 40 i 50 Komputer bezpośrednio wykonuje program

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

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

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

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

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

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

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

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

WOJSKOWA AKADEMIA TECHNICZNA

WOJSKOWA AKADEMIA TECHNICZNA WOJSKOWA AKADEMIA TECHNICZNA SYSTEMY WBUDOWANE Prowadzący: Paweł Janicki Autor sprawozdania: Pol Grzegorz Grupa szkoleniowa: I7X3S1 Numer ćwiczenia: Data oddania: 14.06.2009r. 1. Treść zadania Dokonać

Bardziej szczegółowo

Systemy Operacyjne Pamięć wirtualna cz. 1

Systemy Operacyjne Pamięć wirtualna cz. 1 Systemy Operacyjne Pamięć wirtualna cz. 1 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 4 stycznia 2007 1 1 Zasady lokalności czasowej i przestrzennej 2 Pamięć wirtualna

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

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

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

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

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

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

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

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

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

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

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

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

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

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

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

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

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

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego J. Ułasiewicz Komputerowe systemy sterowania 1 1 Architektura PC 1.1. Ogólna struktura systemu jednoprocesorowego Już systemy jednoprocesorowe mogą być środowiskiem, w którym wykonywane jest wiele programów

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

Systemy operacyjne system przerwań

Systemy operacyjne system przerwań system przerwań przerwanie: procesor zawiesza wykonanie bieżącego zadania i przechodzi do obsługi przerwania przerwania: maskowalne i niemaskowalne wektor przerwań adres (tablica adresów) kodu obsługi

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

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

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

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

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

MS Visual Studio 2005 Team Suite - Performance Tool

MS Visual Studio 2005 Team Suite - Performance Tool MS Visual Studio 2005 Team Suite - Performance Tool przygotował: Krzysztof Jurczuk Politechnika Białostocka Wydział Informatyki Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok Streszczenie: Dokument

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

Wykład 10 Zarządzanie pamięcią

Wykład 10 Zarządzanie pamięcią Wykład 10 Zarządzanie pamięcią część pierwsza: pamięć jądra Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Sprzeczności przy projektowaniu systemu zarządzania pamięcią Implementuj możliwie

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

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

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

Mikroinformatyka. Mechanizmy ochrony pamięci

Mikroinformatyka. Mechanizmy ochrony pamięci Mikroinformatyka Mechanizmy ochrony pamięci Mechanizmy ochrony pamięci Ochrona na poziomie segmentów: - limit - typ segmentu - selektor zerowy - poziom uprzywilejowania Ochrona na poziomie stronicowania:

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

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

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

Opracowanie zadań testowych i otwartych z kolokwiów i egzaminów z przedmiotu SOI, prowadzący WBD

Opracowanie zadań testowych i otwartych z kolokwiów i egzaminów z przedmiotu SOI, prowadzący WBD Opracowanie zadań testowych i otwartych z kolokwiów i egzaminów z przedmiotu SOI, prowadzący WBD opracowanie z dnia 28.09.2009r. Autor: exploy@o2.pl Znaczna część pytań pochodzi ze znanych już opracowań,

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

WINDOWS NT. Diagram warstw systemu Windows NT

WINDOWS NT. Diagram warstw systemu Windows NT WINDOWS NT Diagram warstw systemu Windows NT logon process OS/2 application Win16 application Win32 application MSDOS application POSIX application security subsystem OS/2 subsystem Win16 VDM MSDOS VDM

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski

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

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

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

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

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową

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

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo