SYSTEMY OPERACYJNE
Wykład 3
Struktury systemów operacyjnych
- Zarządzanie procesami
- proces to program, który jest wykonywany w sposób sekwencyjny, a podczas jego wykonywania licznik rozkazów określa następną instrukcję w określa
- program pasywny nie jest procesem
- proces wymaga określonych zasobów, w tym czasu procesora, pamięci, plików, urządzeń WE/WY, aby być procesem
- jeden wykonywany program rodzi wiele procesów
- w odniesieniu do zarządzania procesami SO odpowiada za:
- tworzenie i usuwanie zarówno procesów użytkowych, jak systemowych
- wstrzymywanie i wznawianie procesów
- dostarczanie mechanizmów
- synchronizacji procesów
- komunikacji procesów
- obsługi zakleszczeń
- Zarządzanie pamięcią operacyjną
- pamięć operacyjna (PO) jest wielką tablicą słów lub bajtów z przypisanymi im adresami
- PO stanowi magazyn szybko dostępnych danych eksploatowanych wspólnie przez jednostkę centralną i urządzenia WE/WY
- PO jest w zasadzie jedyną pamięcią, którą jednostka centralna może adresować bezpośrednio
- aby rozkazy programu mogły być wykonywane przez procesor, muszą znajdować się w PO
- PO jest pamięcią ulotną; również traci swoją zawartość w przypadku awarii systemu
- jeśli chcemy uzyskać lepsze wykorzystanie procesora jak i szybszą reakcję komputera na polecenia użytkownika to musimy przechowywać jednoczenie kilka programów
- jest wiele sposobów (algorytmów) zarządzania PO
- każdy algorytm zarządzania pamięcią wymaga swoistego wspomagania sprzętowego
- w odniesieniu do zarządzania PO system operacyjny odpowiada za:
- utrzymanie ewidencji aktualnie zajętych części pamięci wraz z informacją, w czyim są władaniu
- decydowanie o tym, które procesy mają być załadowane do zwolnionych obszarów pamięci
- przydzielanie i zwalnianie obszarów pamięci stosownie do potrzeb
- Zarządzanie pamięcią pomocniczą
- ponieważ pamięć operacyjna (PO) jest ulotna i zbyt mała, aby stale przechowywać wszystkie dane i programy, system komputerowy musi mieć pamięć pomocniczą będącą zapleczem PO
- większość współczesnych systemów komputerowych posługuje się pamięcią dyskową jako podstawowym środkiem magazynowania informacji
- większość programów, w tym kompilatory, asemblery, procedury sortujące, edytory jest przechowywana na dysku
- SO odpowiada, w odniesieniu do zarządzania dyskami, za:
- zarządzanie obszarami wolnymi
- przydzielanie pamięci
- planowanie przydziału obszarów pamięci dyskowej
- pamięć pomocnicza jest często używania i dlatego musi działać wydajnie
- ogólna szybkość działania komputera może zależeć od podsystemu dyskowego i stosowanych w nim algorytmów
- Zarządzanie systemem WE/WY
- jednym z celów SO jest ukrywanie przed użytkownikiem szczegółów dotyczących specyfiki urządzeń sprzętowych
- np. w UNIX-ie osobliwości urządzeń WE/WY są ukrywane przed większością samego SO przez tzw. podsystem wejścia - wyjścia
- składa się on z:
- części zarządzającej pamięcią wliczając w to buforowanie, pamięć podręczną i spooling
- ogólnego interfejsu do modułów sterujących urządzeń
- modułów sterujących (programów obsługi) poszczególnych urządzeń sprzętowych
- osobliwości konkretnego urządzenia zna tylko odpowiadający mu moduł sterujący
- Zarządzanie plikami
- komputery mogą przechowywać informację na nośnikach fizycznych kilku różnych typów: taśmy, dyski magnetyczne, dyski optyczne
- kontrolę nad każdym z tych urządzeń sprawuje tzw. sterownik
- dla wszystkich użytkowników SO tworzy jednolity, logiczny obraz magazynowanej informacji, definiując pliki
- plik jest zbiorem powiązanych informacji określonym przez jego twórcę, definiowanym niezależnie od fizycznych własności używanych urządzeń pamięci
- w plikach przechowuje się programy (w postaci źródłowej jak i wynikowej) oraz dane
- SO realizuje abstrakcyjny model plików przez zarządzanie pamięci masowej
- pliki są zazwyczaj zorganizowane w katalogi
- w odniesieniu do zarządzania plikami SO odpowiada za:
- tworzenie i usuwanie plików
- tworzenie i usuwanie katalogów
- dostarczanie elementarnych operacji do manipulowania plikami i katalogami
- odwzorowanie plików na obszary pamięci pomocniczej
- składowanie plików na trwałych nośnikach pamięci (na których informacja nie znika)
- System ochrony
- system komputerowy ma wielu użytkowników i umożliwia współbieżne wykonywanie wielu procesów, które trzeba chronić przed wzajemnym oddziaływaniem
- ochrona jest mechanizmem nadzorowania dostępu programów, procesów lub użytkowników do zasobów systemu komputerowego
- mechanizm ochrony musi:
- umieć rozpoznać autoryzowaną i nieautoryzowaną próbę użycia zasobów
- zawierać środki do wymuszenia zaprowadzonych ustaleń
- system ochrony wykrywa błędy ukryte w interfejsach między składowymi podsystemu
- Praca sieciowa
- system rozproszony jest zbiorem procesów, które nie dzielą pamięci i zegara; każdy procesor ma własną lokalną pamięć
- procesory w systemie rozproszonym są połączone za pomocą sieci komunikacyjnej
- system rozproszony umożliwia użytkownikom dostęp do różnych zasobów systemu
- dostęp do wspólnych zasobów pozwala na:
- zwiększenie szybkości obliczeń
- zwiększenie dostępności danych
- zwiększenie niezawodności systemu
- System interpretacji poleceń
- interpreter poleceń będący interfejsem między użytkownikiem a SO jest albo zawarta w jądrze SO, lub jak w MS-DOS, UNIX-ie, jest specjalnym programem wykonywanym przy rozpoczęciu zadania lub zalogowaniu się
- wiele poleceń jest przekazywanych do SO za pomocą instrukcji sterujących
- program interpretujący instrukcje sterujące w UNIX-ie to powłoka (shell)
- inne nazwy takiego programu to:
- interpreter kart sterujących
- interpreter wiersza poleceń
- polecenia rozpoznawane przez interpreter dotyczą:
- tworzenia procesów i zarządzania nimi
- obsługi WE/WY
- administrowania pamięcią pomocniczą i operacyjną
- dostępu do plików
- ochrony
- pracy sieciowej
Dwa mechanizmy implementacji komunikacji:
Na wszystkie rodzaje błędów SO powinien odpowiednio zareagować, gwarantując poprawność i spójność obliczeń.
Przesyłanie komunikatów jest przydatne do bezpośredniej wymiany mniejszych ilości danych oraz w komunikacji międzykomputerowej
Struktura warstw systemu THE | |
warstwa 5 | programy użytkowe |
warstwa 4 |
buforowanie urządzeń wejścia i wyjścia |
warstwa 3 | program obsługi konsoli operatora |
warstwa 2 | zarządzanie pamięcią |
warstwa 1 | planowanie przydziału procesora |
warstwa 0 | sprzęt |
Struktura warstw systemu Venus | |
warstwa 6 | programy użytkowe |
warstwa 5 | programy obsługi i planowania przydziału urządzeń |
warstwa 4 | pamięć wirtualna |
warstwa 3 | kanał wejścia - wyjścia |
warstwa 2 | planowanie przydziału procesora |
warstwa 1 | interpreter instrukcji |
warstwa 0 | sprzęt |
MASZYNY WIRTUALNE
zalety / wady maszyn wirtualnych
PROJEKTOWANIE I IMPLEMENTACJA SYSTEMU
GENEROWANIE SYSTEMU
<<< THE END >>>