To tylko jedna z 4 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
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)