8.1. Wyjaśnij różnicę między adresami logicznymi a fizycznymi.

8.2. Wyjaśnij różnicę między wewnętrzną a zewnętrzną fragmentacją pa­mięci.

8.3. Wyjaśnij następujące algorytmy przydziału miejsc w pamięci:
a) pierwsze dopasowanie,
b) najlepsze dopasowanie,
c) najgorsze dopasowanie.

8.4. Proces usunięty z pamięci traci możliwość używania procesora (przynajmniej chwilowo). Opisz inne sytuacje, w których proces traci możli­wość użytkowania procesora, ale nie zostaje wysłany do pamięci po­mocniczej.

8.5. Mając dane obszary pamięci o rozmiarach: 100 KB, 500 KB, 200 KB, 300 KB i 600 KB (tak uporządkowane), rozważ, w jaki sposób algoryt­my z punktów (a), (b) i (c) ulokują procesy o wielkości 212 KB, 417 KB, 112 KB i 426 KB (w takim porządku)? Który z algorytmów zagospodaruje pamięć najlepiej?

8.6. Rozważ system, w którym program można podzielić na dwie części: kod i dane. Procesor rozróżnia, czy potrzebuje rozkazu (pobranie rozkazu) czy danych (pobranie lub zapamiętanie danych). W tym celu rejestry bazowy i graniczny występują w dwu parach - jednej dla rozkazów i jednej dla danych. Para rejestrów (bazowy j graniczny) przeznaczona dla rozkazów automatycznie umożliwia tylko czytanie, wiec programy mogą dzielić różni użytkownicy. Omów zalety i wady takiego schematu.

8.7. Dlaczego rozmiary stron są zawsze potęgami liczby 2 ?

8.8. Rozważmy przestrzeń adresów logicznych utworzoną z ośmiu stron po  1024 słowa każda, którą odwzorowano na pamięć fizyczną składającą
 się  z  32 ramek.
(a) Ile bitów zawiera adres logiczny?
(b) Z ilu bitów składa się adres fizyczny?

8.9. Co powoduje, że proces, który nie jest właścicielem strony w systemie ze stronicowaniem, nie ma do niej dostępu? W jaki sposób system operacyj­ny mógłby umożliwiać dostęp do innych obszarów pamięci? Dlaczego powinien to umożliwiać lub dlaczego nie powinien na to pozwalać?

8.10. Rozważmy system stronicowania z tablicą stron przechowywaną w pamięci.
(a) Ile potrwa odwołanie do pamięci stronicowanej, jeśli czas dostępu do pamięci wynosi 200 ns?
(b) Ile wyniesie czas efektywnego odwołania do pamięci, jeśli dodamy rejestry asocjacyjne i 75% adresów wszystkich odwołań do tablicy stron będzie znajdowanych w tych rejestrach? (Załóżmy, że jeśli wpis z tablicy stron znajduje się; w rejestrach asocjacyjnych, to jego odnalezienie dokonuje się w czasie zerowym).

8.11. Jakie są skutki zezwolenia na tor by dwie pozycje tablicy stron wskazywały tę samą ramkę w pamięci? Wyjaśnij, jak można spożytkować uzyskiwany efekt w celu zmniejszenia czasu potrzebnego do kopiowania wielkich ilości pamięci z jednego miejsca do innego. Co stanie się im jednej stronie w wyniku Uaktualnienia jakiegoś bajta na drugiej z tych stron?

8.12. Dlaczego segmentację i stronicowanie łączy się czasami w jeden schemat?

8.13. Opisz mechanizm, z pomocą którego jeden segment będzie mógł należeć do przestrzeni adresowej dwu różnych procesów.

8.14. Wyjaśnij, dlaczego łatwiej jest dzielić moduł wznawiamy przy użyciu segmentacji niż przy zastosowaniu czystego stronicowania?

8.15. Wspólne użytkowanie segmentów przez procesy bez wymagania, by dany segment miał ten sam numer w każdym procesie, jest możliwe w systemie segmentacji z dynamicznym łączeniem.
(a) Zdefiniuj system umożliwiający statyczne łączenie i wspólne użytkowanie  segmentów  bez  wymagania, aby  numery  segmentów wspólnych były takie same.
(b) Opisz schemat stronicowania pozwalający dzielić strony bez wymagania, by ich numery były takie same.

8.16. Rozważmy następującą tablicę segmentów:

Segment Baza Długość
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96

Jakie adresy fizyczne odpowiadają następującym adresom logicznym:
(a) 0,430                           (d) 3,400
(b) l,10                              (e) 4,112
(c) 2, 500

8.17. Rozważ schemat tłumaczenia adresów procesora Intel pokazany na rys. 8.28.
(a) Opisz wszystkie kroki wykonywane przez procesor Intel 80386 pod­czas tłumaczenia adresu logicznego na adres fizyczny.
(b) Jakie zalety dla systemu operacyjnego ma sprzęt wyposażony tak złożone środki tłumaczenia adresów pamięci?
(c) Czy taki system tłumaczenia adresów ma jakieś wady?

8.18 W komputerze IBM/370 ochrona pamięci odbywa się za pomocą klu­czy. Klucz ma 4 bity. Każdemu blokowi 2048 KB pamięci jest przypo­rządkowany klucz (klucz pamięci). Również procesor ma przypisany klucz (klucz ochrony). Operacja zapamiętania jest dozwolona, jeśli oba klucze są równe lub gdy któryś z nich jest zerem. Który z poniższych schematów zarządzania pamięcią można by z powodzeniem zastosować na takim sprzęcie:
(a) maszyna nieosłonięta,
(b) system z jednym użytkownikiem,
(c) wieloprogramowanie ze stała liczbą procesów,
(d) wieloprogramowanie ze zmienną
(e) stronicowanie,                 
(f) segmentacja?