Wykład - Przestrzeń adresowa

Nasza ocena:

3
Pobrań: 56
Wyświetleń: 721
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Wykład - Przestrzeń adresowa - strona 1

Fragment notatki:

Systemy operacyjne i sieci dr Piotr Zadora
Wykład 5
Przestrzeń adresowa
Przestrzeń adresowa - zbiór wszystkich dopuszczalnych adresów w pamięci
Wyróżnia się
P fizyczną - zbiór adresów generowanych przez jednostkę zarządzania pamięcią na podstawie sygnałów przesyłanych szyną adresową
p. logiczną - zbiór adresów jakimi posługuje się procesor w kontekście wykonywanego procesu (skończony ciąg obszarów pamięci, który proces może odczytywać i zapisywać)
 
Takie podejście zakłada transformację adresów
 
Przestrzeń adresowa
Odwzorowanie adresu logicznego na fizyczny - zazwyczaj dodanie do adresu logicznego, wystawionego przez procesor, pewnej wartości, przechowywanej w rejestrze przemieszczenia w jednostce zarządzania pamięcią
 
Zalety przestrzeni adresowej: oddzielenie logicznego obrazu procesu od fizycznej struktury pamięci oraz ustalenie jego rzeczywistej lokalizacji w czasie ładowania programu do pamięci i/lub wykonywania
 
Adres logiczny służy do identyfikacji komórek pamięci na poziomie kodu maszynowego procesora w kontekście konkretnego procesu.
Procesor jako jednostka odpowiedzialna za przetwarzanie jest oddzielony funkcjonalnie od jednostki zarządzania pamięcią (sterownika), chociaż we współczesnych rozwiązaniach jest z nią fizycznie/strukturalnie zintegrowany.
Stan jednostki zarządzania pamięcią jest elementem kontekstu procesu.
 
Logiczna przestrzeń adresowa zawiera:
Kod wykonywalny programu
Dane programu
Stos programu
 
Nowy proces może funkcjonować w przestrzeni adresowej jądra. Powoduje to problemy bezpieczeństwa i stabilności. Dlatego zwykle przestrzeń adresowa jest dzielona do obsługi każdego procesu z osobna.
 
Procesy użytkownika mają dostęp do pamięci o tym samym poziomie uprzywilejowania co ich własny.
Poziomów uprzywilejowania może być tyle ile aktualnie działających procesów.
Żaden proces nie może korzystać z pamięci innego procesu. Istnieje specjalny blok, tzw. Pamięci dzielonej (shared memory)
Procesy jądra mają dostęp do przestrzeni adresowej wszystkich procesów.
 
Proces
To program w trakcie wykonywania, któremu przydzielono przestrzeń adresową i który został wprowadzony do tablicy procesów.
Etapy tworzenia procesu:
Tworzenie nowej przestrzeni adresowej (opcjonalne)
Tworzenie i inicjowanie bloku znaczników stanu (control-block)
Inicjacja kontekstu procesu
Umieszczanie procesu w kolejce szeregowania


(…)


 
Znaczniki stanu opisują zachowanie procesu, jego odniesienia do pamięci i systemu plików w momencie przełączenia procesora do wykonywania innego procesu.
 
Znaczniki stanu
Znaczniki stanu zawierają:
Wskaźniki stosu
Aktualny stan procesu (aktywny, gotowy, uśpiony, nieaktywny)
Wskaźnik do struktury reprezentującej przestrzeń adresową
Priorytet procesu
 
Hierarcha procesów (w UNIX, Linux)
Proces nadrzędny i jego procesy potomne.
(W Windowsie jest układ płaski, wszystkie procesy na jednej linii)
 
Synchronizacja procesów
W systemie operacyjnym z wieloprogramowaniem, uruchamiane procesy:
Wykonują niezależne od siebie zadania i nie korzystają ze wspólnych zasobów w inny sposób niż ich odczytywanie
Procesy są wzajemnie od siebie zależne lub rywalizują o wyłączny dostęp do tych samych zasobów sprzętowych…
…. Przełączanie semafora jest atomowe.
 
Zakleszczenie
Najczęściej spotykanym problemem synchronizacji procesów jest zakleszczenie, znane również jako blokada, zastój, lub martwy punkt
Definicja: zakleszczenie zbioru procesów ma miejsce wówczas, gdy każdy z procesów z tego zbioru oczekuje na zdarzenie, które może być spowodowane tylko przez inny proces z tego zbioru.
 
Eliminacja zakleszczeń
Nałożenie ograniczeń…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz