Od programu źródłowego do procesu
|
|
- Stefan Baran
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 pozwala procesowi użytkownika przebywać w dowolnej części pamięci fizycznej. System musi uwzględniać to, że program nie wie pod jakim adresem pamięci będzie umieszczony. System musi zawierać mechanizmy tłumaczące adresy w programie na rzeczywiste adresy w pamięci fizycznej. System musi też gospodarować wolną pamięcią, racjonalnie ładując kolejne programy w wolne miejsca pamięci
2 Od programu źródłowego do procesu Inne moduły wynikowe Biblioteka systemowa Program źródłowy Moduł wynikowy Moduł ładowalny Obraz binarny w pamięci Kompilator lub asembler Czas kompilacji Konsolidator (linker) Czas ładowania Program ładujący (loader) Biblioteka systemowa ładowana dynamicznie Czas wykonywania
3 Powiązanie programu z adresami w pamięci może być dokonane w czasie każdej z trzech faz Czas kompilacji - jeśli podczas kompilacji wiadomo pod jakim adresem pamięci program będzie przebywał, to tworzy się kod bezwzględny, np programy.com. w DOS-ie. Aby zmienić położenie takiego programu w pamięci, trzeba go powtórnie przekompilować. Jeśli kod programu ma być przemieszczalny, to adresy muszą być określone w sposób względny, np w odległościach od początku modułu. Czas ładowania - jeśli podczas kompilacji nie określono rzeczywistych adresów pamięci, to program ładujący wylicza je na podstawie adresów względnych. Czas wykonania - jeśli proces może ulegać przemieszczeniu w pamięci podczas wykonywania, to muszą istnieć mechanizmy wyliczania w dowolnym momencie rzeczywistych adresów.
4 Dołączanie dynamiczne Ładowanie dynamiczne -podprogram nie jest wprowadzany do pamięci dopóty, dopóki nie zostanie wywołany. Do pamięci wprowadza się jedynie program główny, a potem sukcesywnie potrzebne moduły. Dzięki temu oszczędza się miejsce w pamięci nie ładując nie potrzebnie wielkich modułów, np obsługi błędów. Konsolidacja dynamiczna - bez tej właściwości wszystkie programy muszą mieć dołączone kopie bibliotek, w tym systemowych. Powoduje to marnotrawstwo dysku i pamięci. Biblioteki dynamicznie linkowane są sprowadzane do pamięci w momencie ich wywołania i tam mogą służyć nawet kilku programom. Dodatkowa zaleta - aktualizacja biblioteki nie wymaga zazwyczaj przekompilowania programu.
5 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 mają wielkość: Kod przebiegu 1: 70 kb Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb
6 Nakładki Robimy dwie nakładki: 1. Tablica symboli, wspólne podprogramy, kod przebiegu 1 oraz moduł obsługi nakładek (10 kb) - razem 130 kb 2. Tablica symboli, wspólne podprogramy, kod przebiegu 2 oraz moduł obsługi nakładek - razem 140 kb Obydwie nakładki są poniżej 150 kb. Kody nakładek 1 i 2 są przechowywane na dysku w postaci obrazów bezwzględnych pamięci i są czytane przez moduł obsługi nakładek, w zależności od potrzeb. Program nakładkowy nie potrzebuje specjalnego wsparcia ze strony systemu operacyjnego, ale wymaga starannego programowania, ze znajomością rzeczy.
7 Logiczna i fizyczna przestrzeń adresowa Adres fizyczny -jest to adres oglądany przez jednostkę pamięci (umieszczony w jej rejestrze adresowym) Adres logiczny - jest to adres wygenerowany przez procesor Odwzorowanie adresów logicznych na fizyczne realizowane jest sprzętowo przez jednostkę zarządzania pamięcią (MMU) W MMU przeliczanie adresu odbywa się najczęściej poprzez dodanie do adresu z procesora wartości rejestru przemieszczenia. Program użytkownika działa wyłącznie na logicznych adresach
8 Wyliczanie adresu fizycznego Rejestr przemieszczenia Procesor Adres logiczny Jednostka zarządzania pamięcią (MMU) Adres fizyczny Pamięć
9 Wymiana Jest to tymczasowe odesłanie procesu do pamięci pomocniczej (na dysk) i przepisanie z powrotem w celu kontynuowania działania. Zazwyczaj po wymianie proces powraca na to samo miejsce w pamięci, chyba że są zapewnione mechanizmy przeliczania adresów. Warunkiem szybkiej wymiany jest używanie dysku o krótkim czasie dostępu i o pojemności zapewniającej pomieszczenie obrazów pamięci wszystkich użytkowników. W planowaniu priorytetowym stosuje się czasem wymianę poprzez wytaczanie procesu, gdy nadchodzi proces o wyższym priorytecie i wtaczanie z powrotem do pamięci, gdy procesy wysoko-priorytetowy skończył działanie
10 Przydział ciągły Pamięć operacyjna zajęta jest przez: System operacyjny - umieszczony zazwyczaj w tej części pamięci, gdzie wektor przerwań - jest to najczęściej pamięć dolna Procesy użytkownika, umieszczane zazwyczaj w pamięci górnej W celu ochrony obszaru pamięci zajętego przez system, a także procesów użytkownika przed wzajemną ingerencją, wykorzystuje się rejestr przemieszczenia i rejestr graniczny rejestr przemieszczenia - wartość najmniejszego adresu fizycznego dla danego procesu (offset) rejestr graniczny - maksymalny adres logiczny procesu
11 Kontrola zakresu adresów Rejestr Graniczny Rejestr przemieszczenia Procesor Adres Logiczny Czy A.L.< R.G? T + Adres fizyczny Pamięć N Błąd adresowania
12 Przydział pamięci przy wielu procesach system system system system system system P1 P1 P1 P1 P6 P4 P4 P4 P4 P2 P5 P5 P5 P3 P3 P3 P3 P3 P3 wolne
13 Kryteria wyboru wolnego obszaru pamięci Dziura - ciągły obszar niezajętej pamięci Pierwsze dopasowanie - system przydziela pierwszą dziurę o wystarczającej wielkości. Szukanie rozpoczyna się od początku wykazu dziur lub od miejsca w którym zakończono ostatnie szukanie. Najlepsze dopasowanie - przydziela się najmniejszą z dostatecznie dużych dziur (najmniejsza pozostałość po przydziale) Najgorsze dopasowanie - przydziela się największą dziurę. Czasami duża pozostałość po takim przydziale jest bardziej przydatna niż malutkie fragmenty po najlepszym dopasowaniu. Ciekawe i oryginalne podejście do zagadnienia, ale praktyka wykazała, że dwie pozostałe metody są lepsze pod względem czasu działania i wykorzystania pamięci.
14 Fragmentacja Dziura - ciągły obszar niezajętej pamięci Fragmentacja zewnętrzna- suma wolnych obszarów pamięci wystarcza na spełnienie zamówienia, ale nie tworzą one spójnego obszaru Fragmentacja wewnętrzna- jeśli po przydzieleniu pamięci do procesu pozostałby wolny obszar wielkości kilku bajtów, to przydziela się go też do procesu, ale stanowi on nieużytek - nie będzie wykorzystany (ale zmniejszy się tablica dziur ) Fragmentację zewnętrzną można zmniejszyć poprzez takie upakowanie procesów, aby cała wolna pamięc znalazła się w jednym dużym bloku. Jest to możliwe tylko wtedy, gdy ustalanie adresów jest wykonywane dynamicznie podczas działania procesu. Przetasowań procesów nie można robić podczas operacji we/wy.
15 Stronicownie pomaga w racjonalnym wykorzystaniu wolnych miejsc w pamięci Pamięć fizyczną dzieli się na bloki o stałej długości (ramki( ramki) ) o długości 2 n (512 B do 16 MB) Pamięć logiczna podzielona jest na strony o tym samym rozmiarze Wolną pamięć obrazuje lista wolnych ramek Proces o wielkości N stron jest ładowany w N ramek (niekoniecznie kolejnych) Tablica stron odwzorowuje adresy logiczne na fizyczne Eliminuje się fragmentację zewnętrzną, ale występuje fragmentacja wewnętrzna (zaokrąglenie w górę wielkości procesu do wielokrotności rozmiaru ramki)
16 Stronicownie Każdy adres wygenerowany przez procesor dzieli się na dwie części: numer strony i odległość na stronie. Numer jest używany jako indeks w tablicy stron, która zawiera adresy bazowe wszystkich stron w pamięci operacyjnej. Łącząc adres bazowy z odległością na stronie uzyskuje się fizyczny adres w pamięci. Jeżeli rozmiar strony jest potęgą 2 oraz: rozmiar przestrzeni adresowej wynosi 2 m rozmiar strony wynosi 2 n, to m-n m n bardziej znaczących bitów adresu logicznego wskazuje nr strony (=2 (m-n) ), n mniej znaczących bitów wskazuje odległość na stronie
17 Tablica stron Jest przechowywana w pamięci operacyjnej. Jej położenie wskazuje rejestr bazowy tablicy stron. Rozmiar tablicy stron jest przechowywany w rejestrze długości tablicy stron. Określa on na największy dopuszczalny adres. Przy korzystaniu z tablicy stron, dostęp do pamięci wymaga dwukrotnego dostępu do pamięci -dlaczego? W celu przyspieszenia dostępu do pamięci stosuje się rozwiązanie sprzętowe - małą, szybką pamięć podręczną zwaną rejestrami asocjacyjnymi lub buforami translacji adresów stron. Bufory te zwierają 8 do 2048 pozycji. Jeśli dany numer strony nie znajduje się w buforach, to przeszukiwana jest cała tablica stron. Przy dobrze skonstruowanym algorytmie, w buforach translacji znajduje się 80 do 98 % potrzebnych numerów stron.
18 Efektywny czas dostępu Jest to średni czas dostępu do każdego adresu pamięci. Przykład: Przeglądnięcie rejestrów asocjacyjnych trwa 20ns Dostęp do pamięci trwa 100 ns Współczynnik trafień - procent stron znalezionych w rejestrach asocjacyjnych. Dostęp do stron tafionych tafionych =20+100=120 ns Dostęp do stron nie występujących w rejestrach= =220 ns Dla współczynnika trafień= 80%: E.C.D.=0,8*120+0,2*220=140 ns Dla współczynnika trafień=98%: E.C.D.=0.98* *220=122 ns
19 Ochrona pamięci Bity ochrony - przypisane do każdej ramki. Można w ten sposób zaznaczyć strony tylko do czytania, do czytania i pisania i do wykonywania. Bit poprawności - jest ustawiony, jeśli dana strona jest w przestrzeni adresowej procesu (strona jest legalna dla procesu). Jeśli strona jest poza przestrzenią adresową procesu, ma ustawiony znacznik nielegalna
20 Stronicowanie wielopoziomowe Nowoczesne systemy zezwalają na na stosowanie bardzo wielkich przestrzeni adresów logicznych (2 32 do 2 64 ) W takim przypadku tablica stron może zawierać nawet milion wpisów. Jeśli każdy wpis to 4 B, rozmiar tablicy wyniesie 4 MB, na każdy proces. Tablice takie mogą być większe niż same procesy! Celowy jest więc podział na mniejsze tablice. Przy 32-bitowej przestrzeni adresowej: 20-bitowy adres strony i 12-bitową odległość na stronie można zastąpić przez: 10-bitowy adres strony, 10-bitową odległość na tej zewnętrznej stronie i 12-bitową odległość wewnętrzną
21 Stronicowanie wielopoziomowe Każdy poziom jest zapisywany jako oddzielna tablica, więc przekształcenie adresu logicznego w fizyczny może wymagać czterech dostępów do pamięci. czas dostępu wynosi wtedy np 520 ms. Ale zastosowanie pamięci podręcznej bardzo go skraca. Dla współczynnika trafień wynoszącego 98%: Efektywny czas dostępu= 0,98*120+0,02*520=128 ns.
22 Odwrócona tablica stron Odwrócona tablica stron ma po jednej pozycji dla każdej ramki w pamięci fizycznej Każda pozycja zawiera numer procesu posiadającego ramkę oraz adres wirtualny strony przechowywanej w ramce rzeczywistej pamięci. W systemie istnieje tylko jedna tablica stron. Ogranicza to zajętość pamięci, ale zwiększa czas przeszukiwania (trzeba przeszukać całą tablicę) Stosowanie tablic haszowania ogranicza przeszukiwanie do co najwyżej kilku wpisów.
23 Strony dzielone 20 użytkowników korzysta równocześnie z edytora tekstu. W pamięci musi się znaleźć 20 bloków danych i 20 kopii kodu edytora. Jeśli kod programu nie modyfikuje sam siebie w czasie działania (jest wznawialny) ) to można zastosować mechanizm stron dzielonych. Wznawialny kod programu jest widziany przez wszystkie procesy pod tą samą lokacją. Każdy proces dysponuje więc własnym obszarem danych i jednym wspólnym kodem programu Mechanizm ten może być też stosowany przy innych intensywnie używanych programach (kompilatory, systemy okien, bazy danych) W systemach z odwróconą tablicą stron mechanizm ten napotyka na trudności - dlaczego?.
24 Segmentacja Jest to mechanizm naśladujący postrzeganie pamięci tak jak użytkownik Przestrzeń adresów logicznych jest zbiorem segmentów. Każdy segment ma nazwę i długość. Użytkownik określa więc każdy adres poprzez nazwę segmentu i odległość. Kompilator automatycznie tworzy segmenty tworzące program wynikowy. Najczęściej oddzielnymi segmentami są: - program główny, - procedury, - funkcje, - zmienne lokalne, - zmienne globalne, - stos wywołań procedur (parametry i adresy powrotu) - bloki wspólne (common( common)...
25 Segmentacja Adres logiczny składa się z dwóch części: numer segmentu, odległość w segmencie Tablica segmentów zawiera pary danych: - baza (fizyczny adres początku segmentu w pamięci) - granica (długość segmentu) Rejestr bazowy tablicy segmentów - adres tablicy segmentów w pamięci Ponieważ programy mogą mieć bardzo różniącą się liczbę segmentów, stosuje się też rejestr długości tablicy segmentów, który służy do sprawdzenia czy podany numer segmentu jest poprawny (< RDTS)
26 Segmentacja - przykład podprogram AAA (0) funkcja ln (1) stos (2) program główny (3) tablica symboli (4) Logiczna przestrzeń adresowa Baza Granica Tablica segmentów Pamięć fizyczna 7000
27 Segmenty dzielone Segmentacja ułatwia wspólne użytkowanie kodu programu, podprogramów lub niektórych danych W tablicach segmentów wszystkich współużytkowujących procesów obszary (segmenty) współdzielone mają takie same wpisy bazy i granicy (wskazują więc na ten sam obszar pamięci) We wszystkich procesach segmenty dzielone muszą mieć ten sam numer - dlaczego? Alokacja segmentów w pamięci odbywa się metodą pierwszego lub najlepszego dopasowania (segmenty mają różne długości) Ponieważ segmentacja jest algorytmem dynamicznego przemieszczania, można przesuwać segmenty w celu lepszego upakowania
28 Segmentacja ze stronicowaniem W systemie MULTICS - pozycja w tablicy segmentów nie wskazuje adresu bazowego, ale adres tablicy stron dla tego segmentu Systemy oparte na Motoroli prosta przestrzeń adresowa Systemy oparte na Intel >= segmentacja ze stronicowaniem z dwupoziomowym schematem stronicowania -maksymalna liczba segmentów w procesie: 16K -każdy segment mniejszy niż 4 GB - rozmiar strony 4 kb - przestrzeń adresowa ma dwie strefy po co najwyżej 8K segmentów: a) prywatne segmenty procesów przechowywane są w tablicy lokalnych deskryptorów, b) wspólne segmenty procesów przechowywane są w globalnej tablicy deskryptorów
29
30 Segmentacja ze stronicowaniem (Intel) - selektor jest 16-bitową liczbą: 13 b - numer segmentu 1 b - czy segment jest w lokalnej czy globalnej tablicy deskryptorów, 2 b - ochrona - każdy adres logiczny jest parą: selektor, odległość - procesor ma 6 rejestrów segmentów (do adresowania 6 segmentów) oraz 6 rejestrów mikroprogramowych do przechowywania pozycji z lokalnej i globalnej tablicy deskryptorów, - sprawdzanie adresu: rejestr wyboru wskazuje na pozycję w lokalnej lub globalnej tablicy; na podstawie adresu początku segmentu i jego długości tworzy się adres liniowy (sprawdzenie poprawności); jeśli poprawny, to do bazy dodaje się odległość.
31 Stronicowanie dwupoziomowe (Intel) - liniowy adres jest 16-bitową liczbą: 20 najstarszych bitów - numer strony 10 b - wskaźnik do katalogu stron, 10 b - wskaźnik do tablicy stron, 12 najmłodszych bitów - odległość na stronie
32 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 list mają zwykle nadmiar przydzielonej pamięci, Niektóre możliwości programu są niezwykle rzadko wykorzystywane. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?
33 Zalety: Program nie jest ograniczony wielkością pamięci fizycznej - można pisać ogromne programy bez specjalnych sztuczek programistycznych każdy program zajmuje w pamięci mniej miejsca niż program kompletny. Można więc w tym samym czasie wykonywać więcej zadań, polepszając wykorzystanie procesora maleje liczba operacji wejścia-wyjścia wyjścia koniecznych do załadowania programów do pamięci oraz do realizacji wymiany - programy powinny więc wykonywać się szybciej nie ma konieczności robienia nakładek przy małej pamięci operacyjnej
34 Pamięć wirtualna Pamięć wirtualna odseparowuje pamięć logiczną od jej fizycznej realizacji. Można ją zaimplementować jako: a) stronicowanie na żądanie b) segmentację na żądanie Procesy przebywają w pamięci pomocniczej (na dysku). Dla wykonania sprowadza się proces do pamięci, ale nie cały, tylko te strony, które są potrzebne (leniwa wymiana). Typowanie (zgadywanie) potrzebnych stron odbywa się podczas poprzedniego pobytu procesu w pamięci. Jeśli proces odwołuje się do strony, której nie ma w pamięci, to: system sprawdza, czy odwołanie do pamięci było dozwolone czy nie (bit poprawności) Jeśli było poprawne, sprowadza stroną do pamięci, modyfikuje tablicę stron i wznawia działanie procesu
35 Stronicowanie na żądanie a wymiana Proces jest ciągiem stron Wymiana dotyczy całego procesu (wszystkich stron) Procedura stronicująca dotyczy poszczególnych stron procesu Procedura stronicująca zgaduje, jakie strony będą w użyciu i tyko je ładuje do pamięci. Nigdy nie dokonuje się wymiana całego procesu
36 Czy stronicowanie n.ż. bardzo spowalnia komputer? p - prawdopodobieństwo braku strony ECD - efektywny czas dostępu: ECD=(1-p)*cd+p*cos cd - czas dostępu do pamięci (10 do 200 ns) cos - czas obsługi strony: - obsługa przerwania brak strony (1 100 µs) - czytanie strony (duuużo µs) - wznowienie procesu (1 100 µs) Czynności obsługi braku strony: przejście do systemu operacyjnego, przechowanie kontekstu,
37 określenie, że przerwanie to brak strony Sprawdzenie poprawności odwołania do strony i jej położenia na dysku, czytanie z dysku do niezajętej ramki: - opóźnienie ( ~8 ms ) - szukanie sektora ( ~15 ms) - transfer danych ( ~1 ms) zmiana przydziału procesora do innego procesu przerwanie od dysku po skończonym transferze przełączenie kontekstu skorygowanie tablicy stron czekanie na przydział procesora i wznowienie procesu Razem: ok. 25 ms
38 25 ms = µs = ns Efektywny czas dostępu: ECD=(1-p)*cd+p*cos ECD=(1-p)*100+p* = *p *p= *p [ns] Efektywny czas dostępu jest więc proporcjonalny do prawdopodobieństwa nie znalezienia strony w pamięci. Przy prawdopodobieństwie p = 1% ECD wyniesie: ns (czyli razy więcej niż dostęp bezpośredni do pamięci)
39 Zastępowanie stron Założenie, że tylko część stron każdego procesu jest potrzebna w pamięci może doprowadzić do nadprzydziału (nadmiar procesów w pamięci i absolutny brak wolnych ramek). Aby nie blokować procesu potrzebującego kolejnej ramki, stosuje się zastępowanie stron. uruchamia się algorytm typowania ramki-ofiary stronę-ofiarę zapisuje się na dysku, aktualizuje się tablicę wolnych ramek, wczytuje się potrzebną stronę do zwolnionej ramki aktualizuje się tablicę stron wznawia się działanie procesu Dwukrotne korzystanie z dysku bardzo wydłuża czas obsługi braku strony!
40 Zastępowanie stron, cd Bit modyfikacji (zabrudzenia) jest ustawiany, jeśli na stronie zapisano choćby 1 bit. Jeśli nie zapisano, nie trzeba strony zrzucać na dysk. Zastępowanie stron jest podstawą stronicowania na żądanie. Praktycznie każdy proces wykonuje się z użyciem mniejszej ilości ramek niż by wynikało z wielkości procesu. Mechanizm działa efektywnie przy dobrze opracowanych algorytmach przydziału ramek i algorytmach zastępowania stron.
41 Algorytmy zastępowania stron Algorytmy optymalizowane pod kątem minimalizacji częstości braku stron Algorytmy ocenia się na podstawie ich wykonania dla pewnego ciągu odniesień (odwołań) do pamięci i zsumowanie liczby braku stron w tym ciągu Algorytm FIFO (first in, first out) - O każdej ze stron zapamiętuje się informację, kiedy ona została sprowadzona do pamięci. - Zastępuje się najstarszą stronę Przykład: Dla ciągu odniesień do stron: 1,2,3,4,1,2,5,1,2,3,4,5
42 ...1,2,3,4,1,2,5,1,2,3,4,5 Dla 3 dostępnych ramek dla procesu: (9 braków stron) Dla 4 dostępnych ramek dla procesu: (10 braków stron) Anomalia Bleady ego ^^^^^^^^^
43 Algorytm optymalny Zastąp tę stronę, która najdłużej nie będzie używana Dla ciągu odniesień: braków stron, nie ma anomalii Bleady ego Algorytm optymalny jest trudny w realizacji, ponieważ wymaga wiedzy o przyszłym ciągu odniesień. Jest on używany głównie do teoretycznych studiów porównawczych ( o ile % dany algorytm jest gorszy od opt.)
44 Inne algorytmy Algorytm LRU (Latest Recently Used) - zastępowanie stron, które były najdawniej używane. Typowanie najstarszych poprzez: - licznik (w tablicy stron jest rejestr czasu ostatniego używania strony) - stos (przy każdym odwołaniu do strony, jej numer jest wyjmowany i umieszczany na szczycie stosu Algorytmy bazujące na metodzie LRU - z bitami odniesienia (po odwołaniu do strony, znacznik przyjmuje wartość 1) - dodatkowe bity odwołań ( co stały czas ustawianie kolejnych bitów rotacyjnie) - druga szansa (jeśli bit odniesienia=1 to zeruje się go, zmienia czas na bieżący i przegląda kolejne strony -FIFO. Jeśli bit=0 to się stronę wymienia)
45 Inne algorytmy, cd - ulepszony algorytm drugiej szansy wykorzystuje się dwa bity: bit odniesienia i bit modyfikacji, jako parę. Powstają cztery klasy stron: (0,0) - nie używana ostatnio i nie zmieniana (najlepsza ofiara) (0,1) - nie używana ostatnio, ale zmieniana (gorsza, bo trzeba ją zapisać) (1,0) - Używana ostatnio, ale nie zmieniana (prawdopodobnie za chwilę będzie znów używana) (1,1) - używana ostatnio i zmieniona (chyba będzie używana niedługo, a poza tym trzeba ją zapisać - najgorsza kandydatka na ofiarę) Zastępujemy pierwszą napotkaną stronę z najniższej klasy
46 - algorytmy zliczające Inne algorytmy, cd Wprowadzamy licznik odwołań do strony LFU (least frequently used) -wyrzuć najrzadziej używaną MFU (most frequently used) - bo najrzadziej używana jest chyba niedawno wprowadzona do pamięci i będzie niedługo w użyciu Obydwa te algorytmy niezbyt dobrze przybliżają optimum. - algorytmy buforowania stron Zanim się usunie ofiarę, wczytuje się potrzebną stronę do wolnej ramki. Zaleta - można wcześniej uruchomić proces, zanim strona-ofiara zostanie zapisana na dysku. Zapis robi się w wolnej chwili. Po zapisie opróżnioną ramkę dopisuje się do listy wolnych.
47 Przydział ramek Każdemu procesowi system mysi przydzielić pulę ramek pamięci potrzebnych do jego pracy. Trzy najpopularniejsze algorytmy przydziału: równy (każdy proces dostaje tyle samo ramek) np 50 ramek i 5 procesów, to każdy dostaje po 10 proporcjonalny (liczba przydzielonych ramek proporcjonalna do wielkości procesu) priorytetowy (liczba przydzielonych ramek zależy tylko od priorytetu procesu, albo od priorytetu i wielkości)
48 Globalne i lokalne zastępowanie ramek Zastępowanie lokalne - proces może zastępować ramki wyłącznie z puli tych, które dostał przy przydziale Zastępowanie globalne - Proces może korzystać z puli wszystkich wolnych ramek, nawet jeżeli są wstępnie przydzielone innemu procesowi. Proces może zabrać ramkę drugiemu. Praktyka wykazała, że zastępowanie globalne daje lepszą przepustowość systemu.
49 Szamotanie Jeśli proces nie ma wystarczającej liczby ramek, to w pewnym momencie musi wymienić stronę, która będzie potrzebna w niedługim czasie. W konsekwencji, kolejne braki stron będą występowały bardzo często. Taki proces szamoce się, spędzając więcej czasu na stronicowaniu niż na wykonaniu. Zmniejsza się wykorzystanie procesora. Scenariusz szamotania jeżeli wykorzystanie jednostki centralnej jest za małe, planista przydziału procesora zwiększa wieloprogramowość nowy proces zabiera ramki pozostałym procesom zaczyna brakować ramek strony ustawiają się w kolejce do urządzenia stronicującego, a jednocześnie zmniejsza się kolejka procesów gotowych
50 Szamotanie, cd wykorzystanie procesora maleje, bo procesy stoją w kolejce system zwiększa wieloprogramowość sytuacja staje się tragiczna -żaden proces nie pracuje, tylko wszystkie stronicują Jak powstrzymać szamotanie lub do niego nie dopuścić? stosować metodę lokalnego lub priorytetowego przydziału stron stosować mechanizmy zmniejszenia wieloprogramowości przy szamotaniu zapewnić dostawę wystarczającej ilości ramek. Mierzenie częstości braków stron - pomiar szamotania Jeśli proces przekracza górną granicę częstości - dostaje wolną ramkę Jeśli przekracza dolną granicę - odbiera mu się ramkę.
51 Problem operacji we-wy proces zamawia operację we-wy i ustawia się w kolejce do urządzenia procesor przydziela się innym procesom występują braki stron w wyniku algorytmu globalnego zastępowania stron zostaje wymieniona strona zawierająca bufor we-wy procesu czekającego na operację we-wy zaczyna się operacja we-wy i nadpisuje dane innego procesu! Zapobieganie: zakaz wykonywania operacji we-wy wprost do pamięci użytkownika - ale kopiowanie czasochłonne blokowanie stron w pamięci - strony czekające lub realizujące operację we-wy nie mogą być zastępowane
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ółowoNakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb
Pamięć wirtualna Nakładki Nakładki są potrzebne jeśli proces jest większy niż ilość dostępnej pamięci. Przykład - dwuprzebiegowy asembler mamy do dyspozycji 150 kb pamięci, a poszczególne elementy zadania
Bardziej szczegółowoOd programu źródłowego do procesu
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoZarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci
Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów
Bardziej szczegółowoZarz arz dzanie pam dzanie ięci ę ą
Zarządzanie pamięcią Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci.
Bardziej szczegółowoZarz 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ółowoPrzed 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ółowoZarządzanie pamięcią operacyjną
SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt
Bardziej szczegółowoPamięć. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program
Bardziej szczegółowoSOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus
SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów
Bardziej szczegółowoZarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Bardziej szczegółowoPamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com
Pamięć wirtualna Jan Tuziemski Źródło części materiałów: os-book.com Pamięć wirtualna Na poprzednich wykładach omówiono sposoby zarządzania pamięcią Są one potrzebne ponieważ wykonywane rozkazy procesów
Bardziej szczegółowoPRZYDZIAŁ PAMIĘCI OPERACYJNEJ
PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)
Bardziej szczegółowoZARZĄ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ółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoZarządzanie pamięcią. Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem.
Zarządzanie pamięcią Podstawy Wymiana (swapping). Przydział ciągły pamięci. Stronicowanie. Segmentacja. Segmentacja ze stronicowaniem. Zarządzanie pamięcią podstawy pamięć operacyjna (główna) (main memory,
Bardziej szczegółowoZarządzanie pamięcią operacyjną
Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci
Bardziej szczegółowoZarządzanie 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ółowoPodstawy. Pamięć wirtualna. (demand paging)
Pamięć wirtualna Podstawy Podstawy Stronicowanie na żądanie Wymiana strony Przydział ramek Szamotanie (thrashing) Pamięć wirtualna (virtual memory) oddzielenie pamięci logicznej użytkownika od fizycznej.
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest
Bardziej szczegółowoSchematy zarzadzania pamięcia
Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana
Bardziej szczegółowoZarzą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ółowoSYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Bardziej szczegółowoWykład 8. Pamięć wirtualna. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 8 Pamięć wirtualna Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wprowadzenie Podstawowa idea: System operacyjny pozwala na wykorzystanie pamięci o pojemności większej,
Bardziej szczegółowoZarządzanie pamięcią operacyjną i pamięć wirtualna
Zarządzanie pamięcią operacyjną i pamięć wirtualna Pamięć jako zasób systemu komputerowego. Wsparcie dla zarządzania pamięcią na poziomie architektury komputera. Podział i przydział pamięci. Obraz procesu
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Bardziej szczegółowoSystemy Operacyjne Pamięć wirtualna cz. 1
Systemy Operacyjne Pamięć wirtualna cz. 1 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 4 stycznia 2007 1 1 Zasady lokalności czasowej i przestrzennej 2 Pamięć wirtualna
Bardziej szczegółowoSystemy Operacyjne Pamięć wirtualna cz. 2
Systemy Operacyjne Pamięć wirtualna cz. 2 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 20 stycznia 2007 1 1 Wstęp 2 Minimalna liczba ramek 3 Algorytmy przydziału
Bardziej szczegółowodr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegółowoZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ
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ółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoarchitektura komputerów w. 8 Zarządzanie pamięcią
architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności
Bardziej szczegółowoWykład 7. Zarządzanie pamięcią
Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Bardziej szczegółowoBudowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Bardziej szczegółowoProgramowanie na poziomie sprzętu. Tryb chroniony cz. 1
Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie
Bardziej szczegółowoTEMAT 5 Zarządzanie pamięcią operacyjną
TEMAT 5 Zarządzanie pamięcią operacyjną Struktura pamięci pamięć -- wielka tablica oznaczona adresami słów lub bajtów procesor pobiera rozkazy z pamięci stosownie do wartości licznika rozkazów rozkazy
Bardziej szczegółowoWydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Bardziej szczegółowoPamięć wirtualna. Pamięć wirtualna
Pamięć wirtualna Pamięć wirtualna Podstawy. Stronicowanie na żądanie. Kopiowanie przy zapisie. Zastępowanie stron. Algorytmy zastępowania stron. Przydział ramek. Szamotanie (migotanie). Pliki odwzorowywane
Bardziej szczegółowoSystemy 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ółowoZarzą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ółowoProcesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowo3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy
Bardziej szczegółowoSystem plików. Warstwowy model systemu plików
System plików System plików struktura danych organizująca i porządkująca zasoby pamięci masowych w SO. Struktura ta ma charakter hierarchiczny: urządzenia fizyczne strefy (partycje) woluminy (w UNIXie:
Bardziej szczegółowoZbigniew 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ółowoTechnologie informacyjne (2) Zdzisław Szyjewski
Technologie informacyjne (2) Zdzisław Szyjewski Technologie informacyjne Technologie pracy z komputerem Funkcje systemu operacyjnego Przykłady systemów operacyjnych Zarządzanie pamięcią Zarządzanie danymi
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów 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ółowoUkład sterowania, magistrale i organizacja pamięci. Dariusz Chaberski
Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy
Bardziej szczegółowoKsięgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86
Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów
Bardziej szczegółowoKOMPONENTY SYSTEMÓW OPERACYJNYCH
KOMPONENTY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl PRZYDZIAŁ CZASU PROCESORA Cel: Stałe
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoDziałanie systemu operacyjnego
Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć
Bardziej szczegółowoDziałanie systemu operacyjnego
Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie
Bardziej szczegółowo2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego...
Plan prezentacji Spis treści 1 Planowanie przydziału procesora 1 1.1 Wstęp................................................... 1 1.2 Kryteria planowania............................................ 2 1.3
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowo4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Bardziej szczegółowoPodstawy. 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ółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
Bardziej szczegółowoWYKŁ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ółowoPytania do treści wykładów:
Pytania do treści wykładów: Wprowadzenie: 1. Jakie zadania zarządzania realizowane są dla następujących zasobów: a) procesor, b) pamięć, c) plik? 2. W jaki sposób przekazywane jest sterowanie do jądra
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania
Bardziej szczegółowoMikroinformatyka. 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ółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoTworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku
System plików Definicje: Plik jest logiczną jednostką magazynowania informacji w pamięci nieulotnej Plik jest nazwanym zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej Plik jest
Bardziej szczegółowoCelem 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ółowoHierarchia pamięci w systemie komputerowym
Hierarchia pamięci w systemie komputerowym Aby procesor mógł do końca wykorzystać swą wysoką częstotliwość taktowania musi mieć możliwość odpowiednio szybkiego pobierania danych do przetworzenia. Pamięć
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoSystem 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ółowoang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku
System plików 1. Pojęcie pliku 2. Typy i struktury plików 3. etody dostępu do plików 4. Katalogi 5. Budowa systemu plików Pojęcie pliku (ang( ang. file)! Plik jest abstrakcyjnym obrazem informacji gromadzonej
Bardziej szczegółowoWspół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ółowoSYSTEMY OPERACYJNE LABORATORIUM 2014/2015
1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.
Bardziej szczegółowoPodstawy Informatyki Języki programowania c.d.
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Przykład programu samomodyfikującego się Przykład - sumowanie elementów tablicy 2 Makroasembler - założenia Przykład
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowoProcesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu
Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoSprzętowe wspomaganie pamięci wirtualnej
Sprzętowe wspomaganie pamięci wirtualnej Stanisław Skonieczny 6 grudnia 2002 Spis treści 1 Intel 2 1.1 Tryby pracy procesora............................... 2 1.2 Adresowanie liniowe................................
Bardziej szczegółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoArchitektura systemów informatycznych
Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego
Bardziej szczegółowoPrzerwania Przerwanie zdarzenia
Przerwania Przerwanie jest sygnałem pochodzącym od sprzętu lub oprogramowania i sygnalizuje wystąpienie zdarzenia sygnał przerwania sprzętowego pochodzi z zewnętrznego układu obsługującego przerwania sprzętowe;
Bardziej szczegółowoZbigniew S. Szewczak Podstawy Systemów Operacyjnych
Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 10 Pamięć wirtualna. Toruń, 2003 Pamięć wirtualna Podstawy Stronicowanie na żądanie Sprawność stronicowania na żądanie Zastępowanie stron Algorytmy
Bardziej szczegółowoSystem operacyjny MACH
Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów
Bardziej szczegółowoPamięć wirtualna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak jest organizacją zasobów pamięci, zrealizowaną w oparciu o tzw. przestrzeń wymiany w pamięci drugiego rzędu (na dysku). Pamięć operacyjna (fizyczna)
Bardziej szczegółowoMOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje
Bardziej szczegółowo, " _/'--- " ~ n\l f.4e ' v. ,,v P-J.. ~ v v lu J. ... j -:;.",II. ,""", ",,> I->~" re. dr. f It41I r> ~ '<Q., M-c 'le...,,e. b,n '" u /.
I, ", - hk P-J.. ~,""", ",,> I->~" re. dr... j -:;.",II _/'--- " ~ n\l f.4e ' v f It41I r> ~ '
Bardziej szczegółowoProces y i y w i ąt ą ki
Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz
Bardziej szczegółowoStruktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami
Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016
Bardziej szczegółowoARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Bardziej szczegółowosprowadza się od razu kilka stron!
Bazy danych Strona 1 Struktura fizyczna 29 stycznia 2010 10:29 Model fizyczny bazy danych jest oparty na pojęciu pliku i rekordu. Plikskłada się z rekordów w tym samym formacie. Format rekordujest listą
Bardziej szczegółowo16MB - 2GB 2MB - 128MB
FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowoobszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)
Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja
Bardziej szczegółowoPamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Bardziej szczegółowo