PRZYDZIAŁ PAMIĘCI OPERACYJNEJ
|
|
- Mariusz Zych
- 6 lat temu
- Przeglądów:
Transkrypt
1 PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl
2 Wstęp Pamięć komputera wielka tablica słów (bajtów) oznaczonych adresami Wykonanie programu: proces jest ładowany do pamięci procesor pobiera rozkazy z pamięci stosownie do wartości licznika rozkazów Typowy cykl wykonania rozkazu pobranie rozkazu z pamięci dekodowanie rozkazu pobranie z pamięci dodatkowych argumentów wyniki są przechowywane w pamięci
3 Wstęp Pamięć komputera wielka tablica słów (bajtów) oznaczonych adresami Wykonanie programu: proces jest ładowany do pamięci procesor pobiera rozkazy z pamięci stosownie do wartości licznika rozkazów Typowy cykl wykonania rozkazu pobranie rozkazu z pamięci dekodowanie rozkazu pobranie z pamięci dodatkowych argumentów wyniki są przechowywane w pamięci
4 Wstęp Pamięć komputera wielka tablica słów (bajtów) oznaczonych adresami Wykonanie programu: proces jest ładowany do pamięci procesor pobiera rozkazy z pamięci stosownie do wartości licznika rozkazów Typowy cykl wykonania rozkazu pobranie rozkazu z pamięci dekodowanie rozkazu pobranie z pamięci dodatkowych argumentów wyniki są przechowywane w pamięci
5 Wiązanie adresów Wiązanie adresów może być wykonywane podczas: 1 kompilacji sposób ten jest używany w sytuacjach kiedy znane jest miejsce ulokowania procesu w pamięci. Generowany jest tzw. kod bezwzględny. Jeżeli adres początkowy ulegnie zmianie to program należy przekompilować 2 ładowania sposób ten jest używany wtedy, gdy podczas kompilacji nie wiadomo gdzie będzie umieszczony proces. Kompilator wytwarza tzw. kod przemieszczalny i wiązanie adresów jest dokonywane podczas ładowania procesu do pamięci. Jeżeli adres początkowy ulegnie zmianie to wystarczy ponownie załadować program z uwzględnieniem nowej wartości adresu początkowego 3 wykonania jeśli proces będzie ulegał przemieszczeniom z jednego miejsca pamięci do innego to należy zaczekać z wiązaniem adresów aż do czasu jego wykonania. Wymagane jest tutaj zastosowanie dodatkowego sprzętu
6 Wiązanie adresów Wiązanie adresów może być wykonywane podczas: 1 kompilacji sposób ten jest używany w sytuacjach kiedy znane jest miejsce ulokowania procesu w pamięci. Generowany jest tzw. kod bezwzględny. Jeżeli adres początkowy ulegnie zmianie to program należy przekompilować 2 ładowania sposób ten jest używany wtedy, gdy podczas kompilacji nie wiadomo gdzie będzie umieszczony proces. Kompilator wytwarza tzw. kod przemieszczalny i wiązanie adresów jest dokonywane podczas ładowania procesu do pamięci. Jeżeli adres początkowy ulegnie zmianie to wystarczy ponownie załadować program z uwzględnieniem nowej wartości adresu początkowego 3 wykonania jeśli proces będzie ulegał przemieszczeniom z jednego miejsca pamięci do innego to należy zaczekać z wiązaniem adresów aż do czasu jego wykonania. Wymagane jest tutaj zastosowanie dodatkowego sprzętu
7 Wiązanie adresów Wiązanie adresów może być wykonywane podczas: 1 kompilacji sposób ten jest używany w sytuacjach kiedy znane jest miejsce ulokowania procesu w pamięci. Generowany jest tzw. kod bezwzględny. Jeżeli adres początkowy ulegnie zmianie to program należy przekompilować 2 ładowania sposób ten jest używany wtedy, gdy podczas kompilacji nie wiadomo gdzie będzie umieszczony proces. Kompilator wytwarza tzw. kod przemieszczalny i wiązanie adresów jest dokonywane podczas ładowania procesu do pamięci. Jeżeli adres początkowy ulegnie zmianie to wystarczy ponownie załadować program z uwzględnieniem nowej wartości adresu początkowego 3 wykonania jeśli proces będzie ulegał przemieszczeniom z jednego miejsca pamięci do innego to należy zaczekać z wiązaniem adresów aż do czasu jego wykonania. Wymagane jest tutaj zastosowanie dodatkowego sprzętu
8 Przetwarzanie programu użytkownika program Ÿród³owy modu³y wynikowe kompilator modu³ wynikowy czas kompilacji biblioteki systemowe konsolidator modu³ ³adowalny czas ³adowania biblioteki ³adowane dynamicznie program ³aduj¹cy obraz binarny w pamiêci czas wykonywania
9 Ładowanie dynamiczne Podprogramy nie są ładowane do pamięci dopóki nie zostaną wywołane Do pamięci zostaje załadowany tylko program główny. W przypadku potrzeby wywołania podprogramu: sprawdzamy czy ten podprogram znajduje się w pamięci jeżeli nie to wywoływany jest tzw. program łączący program łączący wprowadza żądany podprogram do pamięci oraz uaktualnia tablicę adresów sterowanie zostaje przekazane do ładowanego podprogramu
10 Ładowanie dynamiczne Podprogramy nie są ładowane do pamięci dopóki nie zostaną wywołane Do pamięci zostaje załadowany tylko program główny. W przypadku potrzeby wywołania podprogramu: sprawdzamy czy ten podprogram znajduje się w pamięci jeżeli nie to wywoływany jest tzw. program łączący program łączący wprowadza żądany podprogram do pamięci oraz uaktualnia tablicę adresów sterowanie zostaje przekazane do ładowanego podprogramu
11 Ładowanie dynamiczne Podprogramy nie są ładowane do pamięci dopóki nie zostaną wywołane Do pamięci zostaje załadowany tylko program główny. W przypadku potrzeby wywołania podprogramu: sprawdzamy czy ten podprogram znajduje się w pamięci jeżeli nie to wywoływany jest tzw. program łączący program łączący wprowadza żądany podprogram do pamięci oraz uaktualnia tablicę adresów sterowanie zostaje przekazane do ładowanego podprogramu
12 Ładowanie dynamiczne Podprogramy nie są ładowane do pamięci dopóki nie zostaną wywołane Do pamięci zostaje załadowany tylko program główny. W przypadku potrzeby wywołania podprogramu: sprawdzamy czy ten podprogram znajduje się w pamięci jeżeli nie to wywoływany jest tzw. program łączący program łączący wprowadza żądany podprogram do pamięci oraz uaktualnia tablicę adresów sterowanie zostaje przekazane do ładowanego podprogramu
13 Ładowanie dynamiczne Podprogramy nie są ładowane do pamięci dopóki nie zostaną wywołane Do pamięci zostaje załadowany tylko program główny. W przypadku potrzeby wywołania podprogramu: sprawdzamy czy ten podprogram znajduje się w pamięci jeżeli nie to wywoływany jest tzw. program łączący program łączący wprowadza żądany podprogram do pamięci oraz uaktualnia tablicę adresów sterowanie zostaje przekazane do ładowanego podprogramu
14 Zalety nigdy nie zostanie załadowany podprogram, którego się nie używa metoda nie wymaga specjalnego wsparcia ze strony systemu operacyjnego Podsumowanie Użytkownicy są odpowiedzialni za zaprojektowanie programów, aby mogły korzystać z ładowania dynamicznego System operacyjny może dostarczyć bibliotek do realizacji tej metody
15 Zalety nigdy nie zostanie załadowany podprogram, którego się nie używa metoda nie wymaga specjalnego wsparcia ze strony systemu operacyjnego Podsumowanie Użytkownicy są odpowiedzialni za zaprojektowanie programów, aby mogły korzystać z ładowania dynamicznego System operacyjny może dostarczyć bibliotek do realizacji tej metody
16 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
17 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
18 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
19 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
20 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
21 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
22 Konsolidacja dynamiczna Wady W obrazie binarnym programu znajduje się tylko namiastka procedury bibliotecznej Ten fragment kodu pozwala zlokalizować odpowiedni podprogram w pamięci, bądź załadować bibliotekę z dysku Aktualizacja bibliotek biblioteka może zostać zastąpiona nową ulepszoną wersją Wszystkie programy odwołujące się do biblioteki będą automatycznie korzystały z nowej wersji wymagana pomoc ze strony systemu operacyjnego sprawdzanie czy dany podprogram znajduje się w pamięci innych procesów kontrola nad dostępem różnych procesów do tych samych komórek pamięci
23 Nakładki W pamięci przechowywane są tylko te rozkazy i dane, które są stale potrzebne Inne rozkazy są wprowadzane w miarę zapotrzebowania na miejsce zajmowane przez zbędne już rozkazy Zalety nakładki nie wymagają specjalnego wsparcia ze strony SO mogą być zrealizowane poprzez czytanie plików do pamięci oraz skoków w określone miejsca pamięci szybsze ładowanie danych
24 Nakładki W pamięci przechowywane są tylko te rozkazy i dane, które są stale potrzebne Inne rozkazy są wprowadzane w miarę zapotrzebowania na miejsce zajmowane przez zbędne już rozkazy Zalety nakładki nie wymagają specjalnego wsparcia ze strony SO mogą być zrealizowane poprzez czytanie plików do pamięci oraz skoków w określone miejsca pamięci szybsze ładowanie danych
25 Nakładki W pamięci przechowywane są tylko te rozkazy i dane, które są stale potrzebne Inne rozkazy są wprowadzane w miarę zapotrzebowania na miejsce zajmowane przez zbędne już rozkazy Zalety nakładki nie wymagają specjalnego wsparcia ze strony SO mogą być zrealizowane poprzez czytanie plików do pamięci oraz skoków w określone miejsca pamięci szybsze ładowanie danych
26 Nakładki W pamięci przechowywane są tylko te rozkazy i dane, które są stale potrzebne Inne rozkazy są wprowadzane w miarę zapotrzebowania na miejsce zajmowane przez zbędne już rozkazy Zalety nakładki nie wymagają specjalnego wsparcia ze strony SO mogą być zrealizowane poprzez czytanie plików do pamięci oraz skoków w określone miejsca pamięci szybsze ładowanie danych
27 Wady wolniejsze działanie - dodatkowe operacje czytania kodu jednej nakładki w miejsce innej Przykład Dwuprzebiegowy asembler. Przebieg 1 konstrukcja tablicy symboli, przebieg 2 generacja kodu maszynowego Kod przebiegu 1 Kod przebiegu 2 Tablica symboli Wspólne podprogramy RAZEM 70kB 80kB 20KB 30kB 200kB dostępna pamięć 150kB moduł obsługi nakładek 10kB
28 Wady wolniejsze działanie - dodatkowe operacje czytania kodu jednej nakładki w miejsce innej Przykład Dwuprzebiegowy asembler. Przebieg 1 konstrukcja tablicy symboli, przebieg 2 generacja kodu maszynowego Kod przebiegu 1 Kod przebiegu 2 Tablica symboli Wspólne podprogramy RAZEM 70kB 80kB 20KB 30kB 200kB dostępna pamięć 150kB moduł obsługi nakładek 10kB
29 Przebieg 1 70kB Tablica 20kB symboli Wspólne podprogramy 30kB Modu³ obs³ugi 10kB nak³adek Przebieg 2 80kB Rozmiary nakładek: Nakładka A (przebieg 1): 20kB+30kB+70kB=120kB Nakładka B (przebieg 2): 20kB+30kB+80kB=130kB
30 Przydział ciągły pamięci operacyjnej Przydział pojedynczego obszaru Załóżmy, że system operacyjny znajduje się w pamięci dolnej, a procesy użytkownika w górnej Zadania algorytmu przydziału pamięci: ochrona kodu i danych systemu operacyjnego przed zmianami pochodzącymi od procesów użytkownika ochrona procesów użytkownika przed zmianami spowodowanymi przez inne procesy użytkownika Rejestr graniczny Rejestr przemieszczenia CPU adres logiczny < Tak + adres fizyczny Pamiêæ operacyjna Nie Pu³apka: b³¹d adresowania
31 Przydział ciągły pamięci operacyjnej Przydział pojedynczego obszaru Załóżmy, że system operacyjny znajduje się w pamięci dolnej, a procesy użytkownika w górnej Zadania algorytmu przydziału pamięci: ochrona kodu i danych systemu operacyjnego przed zmianami pochodzącymi od procesów użytkownika ochrona procesów użytkownika przed zmianami spowodowanymi przez inne procesy użytkownika Rejestr graniczny Rejestr przemieszczenia CPU adres logiczny < Tak + adres fizyczny Pamiêæ operacyjna Nie Pu³apka: b³¹d adresowania
32 Rejestr przemieszczenia wartość najmniejszego adresu fizycznego Rejestr graniczny zakres adresów logicznych Planista CPU wybiera proces do wykonania, wtedy ekspedytor nadaje odpowiednie wartości rejestrom Przydział wielu obszarów Maksymalne wykorzystanie pamięci wiele procesów użytkowych może być załadowanych do pamięci w tym samym czasie Cała dostępna pamięć traktowana jest jak jeden wielki blok dziura Dla procesu z zapotrzebowaniem na pamięć szukana jest odpowiednio duża dziura
33 Rejestr przemieszczenia wartość najmniejszego adresu fizycznego Rejestr graniczny zakres adresów logicznych Planista CPU wybiera proces do wykonania, wtedy ekspedytor nadaje odpowiednie wartości rejestrom Przydział wielu obszarów Maksymalne wykorzystanie pamięci wiele procesów użytkowych może być załadowanych do pamięci w tym samym czasie Cała dostępna pamięć traktowana jest jak jeden wielki blok dziura Dla procesu z zapotrzebowaniem na pamięć szukana jest odpowiednio duża dziura
34 Rejestr przemieszczenia wartość najmniejszego adresu fizycznego Rejestr graniczny zakres adresów logicznych Planista CPU wybiera proces do wykonania, wtedy ekspedytor nadaje odpowiednie wartości rejestrom Przydział wielu obszarów Maksymalne wykorzystanie pamięci wiele procesów użytkowych może być załadowanych do pamięci w tym samym czasie Cała dostępna pamięć traktowana jest jak jeden wielki blok dziura Dla procesu z zapotrzebowaniem na pamięć szukana jest odpowiednio duża dziura
35 Przykład Mamy pamięć o rozmiarze 2560 kb i system operacyjny zajmujący 400kB. Rozplanować pamięć biorąc pod uwagę kolejkę z tabeli Proces Pamięć Faza procesora P 1 600kB 10 P kB 5 P 3 300kB 20 P 4 700kB 8 P 5 500kB 15 planowanie zadań - metoda FCFS przydział CPU - metoda rotacyjna (kwant=1)
36 Wybór wolnych obszarów: strategie pierwszego bądź najlepszego dopasowania
37 FRAGMENTACJA Fragmentacja zewnętrzna Przestrzeń wolnej pamięci zostaje podzielona na małe kawałki. Suma wolnych obszarów może wystarczyć na spełnienie pewnego zamówienia, lecz nie tworzą one spójnego obszaru Badania statystyczne pokazały, że w strategii pierwszego dopasowania na N przydzielonych bloków z powodu fragmentacji będzie ginąć 0.5N innych bloków (1/3 pamięci bezużyteczna! reguła 50%) Fragmentacja wewnętrzna Bezużyteczny kawałek pamięci wewnątrz obszaru pamięci przydzielonego dla pewnego procesu
38 FRAGMENTACJA Fragmentacja zewnętrzna Przestrzeń wolnej pamięci zostaje podzielona na małe kawałki. Suma wolnych obszarów może wystarczyć na spełnienie pewnego zamówienia, lecz nie tworzą one spójnego obszaru Badania statystyczne pokazały, że w strategii pierwszego dopasowania na N przydzielonych bloków z powodu fragmentacji będzie ginąć 0.5N innych bloków (1/3 pamięci bezużyteczna! reguła 50%) Fragmentacja wewnętrzna Bezużyteczny kawałek pamięci wewnątrz obszaru pamięci przydzielonego dla pewnego procesu
39 FRAGMENTACJA Fragmentacja zewnętrzna Przestrzeń wolnej pamięci zostaje podzielona na małe kawałki. Suma wolnych obszarów może wystarczyć na spełnienie pewnego zamówienia, lecz nie tworzą one spójnego obszaru Badania statystyczne pokazały, że w strategii pierwszego dopasowania na N przydzielonych bloków z powodu fragmentacji będzie ginąć 0.5N innych bloków (1/3 pamięci bezużyteczna! reguła 50%) Fragmentacja wewnętrzna Bezużyteczny kawałek pamięci wewnątrz obszaru pamięci przydzielonego dla pewnego procesu
40 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
41 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
42 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
43 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
44 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
45 UPAKOWANIE Upakowanie rozwiązanie problemu zewnętrznej fragmentacji Poprzemieszczanie zawartości pamięci tak, aby cała wolna pamięć znalazła się w jednym wielkim bloku Uwagi! należy zmienić wewnętrzne adresy przesuwanych procesów upakowanie nie jest możliwe, gdy nadawanie adresów jest statyczne (podczas kompilacji lub ładowania) upakowanie jest możliwe gdy nadawanie adresów jest dynamiczne (podczas wykonania programu) należy oszacować koszt upakowania (jakie procesy i gdzie należy przemieszczać)
46 Przykład Rozważmy przydział pamięci poniżej 0 System 0 System 0 System 0 System Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB P 1 P 1 P 1 P 1 500kB 500kB 500kB 500kB P 600kB 2 P 600kB 2 P 600kB 2 600kB P kB 1500kB 800kB P 4 P kB 1200kB 1200kB 1200kB 1900kB 2100kB P kB P 4 P kB Przydzia³ pocz¹tkowy 2100kB P 3 Przemieszczono 600kB 2100kB P 3 Przemieszczono 400kB 2100kB P 3 Przemieszczono 200kB Problemy: przemieszczenia można dokonać na wiele sposobów wybranie optymalnej strategii jest trudne
47 Przykład Rozważmy przydział pamięci poniżej 0 System 0 System 0 System 0 System Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB P 1 P 1 P 1 P 1 500kB 500kB 500kB 500kB P 600kB 2 P 600kB 2 P 600kB 2 600kB P kB 1500kB 800kB P 4 P kB 1200kB 1200kB 1200kB 1900kB 2100kB P kB P 4 P kB Przydzia³ pocz¹tkowy 2100kB P 3 Przemieszczono 600kB 2100kB P 3 Przemieszczono 400kB 2100kB P 3 Przemieszczono 200kB Problemy: przemieszczenia można dokonać na wiele sposobów wybranie optymalnej strategii jest trudne
48 Przykład Rozważmy przydział pamięci poniżej 0 System 0 System 0 System 0 System Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB Operacyjny 300kB P 1 P 1 P 1 P 1 500kB 500kB 500kB 500kB P 600kB 2 P 600kB 2 P 600kB 2 600kB P kB 1500kB 800kB P 4 P kB 1200kB 1200kB 1200kB 1900kB 2100kB P kB P 4 P kB Przydzia³ pocz¹tkowy 2100kB P 3 Przemieszczono 600kB 2100kB P 3 Przemieszczono 400kB 2100kB P 3 Przemieszczono 200kB Problemy: przemieszczenia można dokonać na wiele sposobów wybranie optymalnej strategii jest trudne
49 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
50 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
51 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
52 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
53 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
54 STRONICOWANIE S tronicowanie (ang. paging) jest metodą pozwalającą na rozwiązanie problemu zewnetrznej fragmentacji. Pozwala się na to, aby procesowi można było przydzielać dowolne dostępne miejsca w pamięci fizycznej Metoda podstawowa Pamięć fizyczną dzieli się na bloki o stałej długości (ramki) Pamięć logiczną dzieli się na bloki o takiej samej długości (strony) Adres logiczny składa się z dwóch części: 1 numer strony (ang. page address) s 2 odległość na stronie (ang. page offset) o numer strony s m-n odleg³oœæ na stronie o n
55 Definicja adresu fizycznego adres bazowy strony w pamięci r odległość na stronie o adres bazowy r odleg³oœæ na stronie o Idea stronicowania pamięci CPU adres adres logiczny fizyczny s o r o s {... r... Tablica stron Pamiêæ operacyjna
56 Definicja adresu fizycznego adres bazowy strony w pamięci r odległość na stronie o adres bazowy r odleg³oœæ na stronie o Idea stronicowania pamięci CPU adres adres logiczny fizyczny s o r o s {... r... Tablica stron Pamiêæ operacyjna
57 Definicja adresu fizycznego adres bazowy strony w pamięci r odległość na stronie o adres bazowy r odleg³oœæ na stronie o Idea stronicowania pamięci CPU adres adres logiczny fizyczny s o r o s {... r... Tablica stron Pamiêæ operacyjna
58 numer strony jest indeksem w tablicy stron tablica stron zawiera adresy bazowe wszystkich stron w pamięci Strona 0 Strona 1 Strona 2 Strona 3 Pamiêæ logiczna Tablica stron 0 1 Strona Strona 2 4 Strona Strona 3 Pamiêæ fizyczna rozmiar strony (zarazem ramki) określa sprzęt rozmiar ten jest zwykle potęgą dwójki: 2 m rozmiar przestrzeni logicznej 2 n rozmiar strony
59 numer strony jest indeksem w tablicy stron tablica stron zawiera adresy bazowe wszystkich stron w pamięci Strona 0 Strona 1 Strona 2 Strona 3 Pamiêæ logiczna Tablica stron 0 1 Strona Strona 2 4 Strona Strona 3 Pamiêæ fizyczna rozmiar strony (zarazem ramki) określa sprzęt rozmiar ten jest zwykle potęgą dwójki: 2 m rozmiar przestrzeni logicznej 2 n rozmiar strony
60 numer strony jest indeksem w tablicy stron tablica stron zawiera adresy bazowe wszystkich stron w pamięci Strona 0 Strona 1 Strona 2 Strona 3 Pamiêæ logiczna Tablica stron 0 1 Strona Strona 2 4 Strona Strona 3 Pamiêæ fizyczna rozmiar strony (zarazem ramki) określa sprzęt rozmiar ten jest zwykle potęgą dwójki: 2 m rozmiar przestrzeni logicznej 2 n rozmiar strony
61 numer strony jest indeksem w tablicy stron tablica stron zawiera adresy bazowe wszystkich stron w pamięci Strona 0 Strona 1 Strona 2 Strona 3 Pamiêæ logiczna Tablica stron 0 1 Strona Strona 2 4 Strona Strona 3 Pamiêæ fizyczna rozmiar strony (zarazem ramki) określa sprzęt rozmiar ten jest zwykle potęgą dwójki: 2 m rozmiar przestrzeni logicznej 2 n rozmiar strony
62 numer strony jest indeksem w tablicy stron tablica stron zawiera adresy bazowe wszystkich stron w pamięci Strona 0 Strona 1 Strona 2 Strona 3 Pamiêæ logiczna Tablica stron 0 1 Strona Strona 2 4 Strona Strona 3 Pamiêæ fizyczna rozmiar strony (zarazem ramki) określa sprzęt rozmiar ten jest zwykle potęgą dwójki: 2 m rozmiar przestrzeni logicznej 2 n rozmiar strony
63 Podsumowanie stronicowanie jest odmianą dynamicznego przemieszczenia. Przypomina używanie tablicy rejestrów bazowych - po jednym na każdą ramkę pamięci stronicowanie eliminuje zewnętrzną fragmentację stronicowanie wprowadza wewnętrzną fragmentację np. rozmiar strony 2048B, rozmiar procesu 72766B wewnętrzna fragmentacja 962B wyraźne rozdzielenie pamięci widzianej przez użytkownika od pamięci fizycznej stronicowanie wydłuża czas przełączania kontekstu. Przechowuje kopie tablicy stron, licznika rozkazów i zawartości rejestrów
64 Podsumowanie stronicowanie jest odmianą dynamicznego przemieszczenia. Przypomina używanie tablicy rejestrów bazowych - po jednym na każdą ramkę pamięci stronicowanie eliminuje zewnętrzną fragmentację stronicowanie wprowadza wewnętrzną fragmentację np. rozmiar strony 2048B, rozmiar procesu 72766B wewnętrzna fragmentacja 962B wyraźne rozdzielenie pamięci widzianej przez użytkownika od pamięci fizycznej stronicowanie wydłuża czas przełączania kontekstu. Przechowuje kopie tablicy stron, licznika rozkazów i zawartości rejestrów
65 Podsumowanie stronicowanie jest odmianą dynamicznego przemieszczenia. Przypomina używanie tablicy rejestrów bazowych - po jednym na każdą ramkę pamięci stronicowanie eliminuje zewnętrzną fragmentację stronicowanie wprowadza wewnętrzną fragmentację np. rozmiar strony 2048B, rozmiar procesu 72766B wewnętrzna fragmentacja 962B wyraźne rozdzielenie pamięci widzianej przez użytkownika od pamięci fizycznej stronicowanie wydłuża czas przełączania kontekstu. Przechowuje kopie tablicy stron, licznika rozkazów i zawartości rejestrów
66 Podsumowanie stronicowanie jest odmianą dynamicznego przemieszczenia. Przypomina używanie tablicy rejestrów bazowych - po jednym na każdą ramkę pamięci stronicowanie eliminuje zewnętrzną fragmentację stronicowanie wprowadza wewnętrzną fragmentację np. rozmiar strony 2048B, rozmiar procesu 72766B wewnętrzna fragmentacja 962B wyraźne rozdzielenie pamięci widzianej przez użytkownika od pamięci fizycznej stronicowanie wydłuża czas przełączania kontekstu. Przechowuje kopie tablicy stron, licznika rozkazów i zawartości rejestrów
67 Podsumowanie stronicowanie jest odmianą dynamicznego przemieszczenia. Przypomina używanie tablicy rejestrów bazowych - po jednym na każdą ramkę pamięci stronicowanie eliminuje zewnętrzną fragmentację stronicowanie wprowadza wewnętrzną fragmentację np. rozmiar strony 2048B, rozmiar procesu 72766B wewnętrzna fragmentacja 962B wyraźne rozdzielenie pamięci widzianej przez użytkownika od pamięci fizycznej stronicowanie wydłuża czas przełączania kontekstu. Przechowuje kopie tablicy stron, licznika rozkazów i zawartości rejestrów
68 SEGMENTACJA Segmentacja w prosty sposób oddziela sposób widzenia pamięci przez użytkownika od pamięci rzeczywistej. W odróżnieniu od stronicowania pozwala na dopasowanie sposobu wyobrażenia pamięci przez użytkownika na pamięć fizyczną Metoda podstawowa Programista nie wyobraża sobie pamięci jako liniowej tablicy bitów, widzi pamięć jako zbiór segmentów o zróżnicowanych wymiarach Idea segmentacji Podprogram Logiczna przestrzeñ adresowa Funkcja SQRT Program g³ówny Tablica symboli STOS
69 SEGMENTACJA Segmentacja w prosty sposób oddziela sposób widzenia pamięci przez użytkownika od pamięci rzeczywistej. W odróżnieniu od stronicowania pozwala na dopasowanie sposobu wyobrażenia pamięci przez użytkownika na pamięć fizyczną Metoda podstawowa Programista nie wyobraża sobie pamięci jako liniowej tablicy bitów, widzi pamięć jako zbiór segmentów o zróżnicowanych wymiarach Idea segmentacji Podprogram Logiczna przestrzeñ adresowa Funkcja SQRT Program g³ówny Tablica symboli STOS
70 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
71 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
72 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
73 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
74 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
75 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
76 każdy segment ma swoją nazwę i długość adresy określają nazwę segmentu i odległość wewnątrz segmentu adres segment-offset określony jest za pomocą dwu wielkości: <numer segmentu, odległość> Podczas tłumaczenia programu kompilator automatycznie konstruuje segmenty odpowiadające np.: 1 programowi głównemu 2 zmiennym lokalnym 3 zmiennym globalnym 4 poszczególnym procedurom i funkcjom, etc.
77 Sprzęt s{ granica baza Tak CPU s o < Adres Nie logiczny Pu³apka: B³¹d adresowania Tablica segmentów + Pamiêæ operacyjna adres użytkownika dwuwymiarowy pamięć fizyczna jednowymiarowy ciąg bitów odwzorowanie adresów tablica segmentów
78 Sprzęt s{ granica baza Tak CPU s o < Adres Nie logiczny Pu³apka: B³¹d adresowania Tablica segmentów + Pamiêæ operacyjna adres użytkownika dwuwymiarowy pamięć fizyczna jednowymiarowy ciąg bitów odwzorowanie adresów tablica segmentów
79 Sprzęt s{ granica baza Tak CPU s o < Adres Nie logiczny Pu³apka: B³¹d adresowania Tablica segmentów + Pamiêæ operacyjna adres użytkownika dwuwymiarowy pamięć fizyczna jednowymiarowy ciąg bitów odwzorowanie adresów tablica segmentów
80 Tablica segmentów jest wykazem par rejestrów bazy i granicy Elementy tablicy segmentów: baza segmentu początkowy adres fizyczny segmentu w pamięci granica segmentu określa długość segmentu Odległość o: przedział < 0, granica segmentu > Adres fizyczny: dodanie odległości do bazy segmentu
81 Tablica segmentów jest wykazem par rejestrów bazy i granicy Elementy tablicy segmentów: baza segmentu początkowy adres fizyczny segmentu w pamięci granica segmentu określa długość segmentu Odległość o: przedział < 0, granica segmentu > Adres fizyczny: dodanie odległości do bazy segmentu
82 Tablica segmentów jest wykazem par rejestrów bazy i granicy Elementy tablicy segmentów: baza segmentu początkowy adres fizyczny segmentu w pamięci granica segmentu określa długość segmentu Odległość o: przedział < 0, granica segmentu > Adres fizyczny: dodanie odległości do bazy segmentu
83 Tablica segmentów jest wykazem par rejestrów bazy i granicy Elementy tablicy segmentów: baza segmentu początkowy adres fizyczny segmentu w pamięci granica segmentu określa długość segmentu Odległość o: przedział < 0, granica segmentu > Adres fizyczny: dodanie odległości do bazy segmentu
84 Tablica segmentów jest wykazem par rejestrów bazy i granicy Elementy tablicy segmentów: baza segmentu początkowy adres fizyczny segmentu w pamięci granica segmentu określa długość segmentu Odległość o: przedział < 0, granica segmentu > Adres fizyczny: dodanie odległości do bazy segmentu
85 Przykład Rozważmy następującą przestrzeń logiczną Funkcja SQRT Segment 1 Podprogram Segment 0 Program g³ówny Segment 2 Tablica symboli Segment 4 STOS Segment 3 Tablica segmentów Granica Baza segmentów numerowanych 0,1,...,4 odwołanie do komórki 53 segmentu 2: =4353 odwołanie do komórki 852 segmentu 3: =4052 odwołanie do komórki 1222 segmentu 0: błąd adresowania
86 Przykład Rozważmy następującą przestrzeń logiczną Funkcja SQRT Segment 1 Podprogram Segment 0 Program g³ówny Segment 2 Tablica symboli Segment 4 STOS Segment 3 Tablica segmentów Granica Baza segmentów numerowanych 0,1,...,4 odwołanie do komórki 53 segmentu 2: =4353 odwołanie do komórki 852 segmentu 3: =4052 odwołanie do komórki 1222 segmentu 0: błąd adresowania
87 Przykład Rozważmy następującą przestrzeń logiczną Funkcja SQRT Segment 1 Podprogram Segment 0 Program g³ówny Segment 2 Tablica symboli Segment 4 STOS Segment 3 Tablica segmentów Granica Baza segmentów numerowanych 0,1,...,4 odwołanie do komórki 53 segmentu 2: =4353 odwołanie do komórki 852 segmentu 3: =4052 odwołanie do komórki 1222 segmentu 0: błąd adresowania
88 Przykład Rozważmy następującą przestrzeń logiczną Funkcja SQRT Segment 1 Podprogram Segment 0 Program g³ówny Segment 2 Tablica symboli Segment 4 STOS Segment 3 Tablica segmentów Granica Baza segmentów numerowanych 0,1,...,4 odwołanie do komórki 53 segmentu 2: =4353 odwołanie do komórki 852 segmentu 3: =4052 odwołanie do komórki 1222 segmentu 0: błąd adresowania
89 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
90 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
91 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
92 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
93 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
94 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
95 Fragmentacja planista musi znaleźć i przydzielić pamięć wszystkim segmentom programu mamy do czynienia z dynamicznym przydziałem pamięci: metoda pierwszego dopasowania, metoda najlepszego dopasowania segmentacja powoduje zewnętrzną fragmentację problem stanowi dobór średniego rozmiaru segmentu każdy proces stanowi jeden segment stronicowanie upraszcza się do ciągłego przydziału pamięci każdy bajt zapisany jest w osobnym segmencie unika się całkowicie zewnętrznej fragmentacji, ALE każdy bajt potrzebuje swojego rejestru bazowego. W efekcie podwaja się zużycie pamięci segmentacja likwiduje całkowicie wewnętrzną fragmentację
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ół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ół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ół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ół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ół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ół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ół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ółowoZarządzanie zasobami pamięci
Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli
Bardziej szczegółowoZarządzanie pamięcią 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ół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Ą
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ół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ół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ół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ół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ół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ół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ółowoLogiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
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ół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ół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ółowoPodstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Bardziej szczegół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ół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ółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Bardziej szczegół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ółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Bardziej szczegół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ółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Bardziej szczegół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ół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ółowoUTK 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ół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ół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ółowoArchitektura komputerów
Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowodr inŝ. Jarosław Forenc
Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010
Bardziej szczegół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ółowoSystemy Operacyjne Pamięć wirtualna cz. 2
Systemy Operacyjne Pamięć wirtualna cz. 2 Arkadiusz Chrobot Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 20 stycznia 2007 1 1 Wstęp 2 Minimalna liczba ramek 3 Algorytmy przydziału
Bardziej szczegółowoZarządzanie pamięcią. 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ół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ół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ółowoZarz¹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ół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ół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ół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ół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ół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. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj
Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,
Bardziej szczegółowoCo 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ół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ół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ół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ół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ół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ółowo1.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ół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ół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ółowoZarządzanie procesami i wątkami
SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Bardziej szczegółowoArchitektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
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ółowoPodstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
Bardziej szczegół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ółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
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ółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie
Bardziej szczegółowoBudowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Bardziej szczegółowoBudowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoBudowa i zasada działania komputera. dr Artur Bartoszewski
Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
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ółowo1. Rola pamięci operacyjnej
1. Rola pamięci operacyjnej Pamięć operacyjna jest jedną z podstawowych części systemu komputerowego. Do niej trafiają niemal wszystkie dane programów (a także i same programy - zostanie to wyjaśnione
Bardziej szczegół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ół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ół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ół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ół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ółowodr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
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ół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ół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ół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ółowoInstrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada
Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
Bardziej szczegół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ółowoDYNAMICZNE 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ół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ółowoProcesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
Bardziej szczegółowoZarządzanie procesorem
Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!
Bardziej szczegółowoZaawansowane 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ół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ółowodr 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