Janus Kamil, Informatyka IIIr stacj.
31.omów elementy struktury systemów operacyjnych
OMÓWIENIE ELEMENTÓW STRUKTURY SYSTEMU
Systemy operacyjne - inne spojrzenie
Podobnie jak nie ma jednoznacznej definicji czym jest system operacyjny,
tak nie ma jednoznacznej definicji co nim jest. Termin system operacyjny
może oznaczać „to co dostarcza producent jako system operacyjny”
i obejmować swoim znaczeniem zbiór takich elementów oprogramowania
jak: jadro systemu, interpreter poleceń, edytory tekstu itd. Może również
określać cześć oprogramowania systemowego, które stale rezyduje
w pamięci komputera, lub które jest wykonywane w trybie nadzorcy
procesora, czyli jadro systemu operacyjnego. W trakcie tego wykładu
system operacyjny będziemy definiować zgodnie z ta druga możliwością.
Wszelki odstępstwa od tej definicji będą sygnalizowane.
Choć istnieje wiele systemów operacyjnych, to można wyróżnić pewne
wspólne elementy , które prawie każdy z nich zawiera. Zaliczają się do
nich:
moduł zarzadzania procesami,
moduł zarzadzania pamięcią operacyjna,
moduł zarządzania plikami,
moduł zarządzania wejscia-wyjscia,
moduł zarzadzania pamięcią pomocnicza,
moduł zarządzania interfejsami sieciowymi,
System ochrony,
Interpreter poleceń
Zarządzanie procesami
Proces – wykonywany program, znajdujący się w pamięci i posiadający kontekst
Istnieją zarówno procesy systemowe, jak i użytkowe
Proces korzysta z zasobów: pamięci, czasu procesora, urządzeń we-wy
Program jest pasywny, proces – aktywny
Operacje systemu na procesach
Tworzenie i usuwanie procesów
Wstrzymywanie i wznawianie procesów
Zapewnianie mechanizmów synchronizacji procesów
Zapewnianie mechanizmów komunikacji procesów
Zapewnianie mechanizmów obsługi zakleszczeń
Zarządzanie pamięcią operacyjną
Pamięć jest magazynem dla działających procesów oraz danych, na których pracują
Program wykonywany musi być adresowany za pomocą adresów bezwzględnych i znajdować się w pamięci
Zarządzanie pamięcią zależy od rozwiązań sprzętowych systemu
Operacje systemu na plikach
Tworzenie i usuwanie plików
Tworzenie i usuwanie katalogów
Zapewnianie operacji do manipulacji plikami i katalogami
Odwzorowanie plików na obszary pamięci pomocniczej
Składowanie plików na trwałych nośnikach pamięci
Zarządzanie systemem wejścia-wyjścia
System operacyjny ukrywa przed użytkownikiem szczegóły sprzętu:
podsystem wejścia-wyjścia (UNIX)
Hardware Abstraction Layer (Windows)
Moduł komunikacji ze sprzętem składa się z części zarządzającej pamięcią, ogólnej części sterującej urządzeniami oraz programów obsługi
Konieczna jest obsługa przerwań oraz DMA
Zarządzanie pamięcią pomocniczą
Pamięć pomocnicza służy jako magazyn dla programów i danych, które nie mieszczą się w pamięci głównej
Realizowana głównie przez pamięć dyskową
Wydajność jest głównym problemem
Operacje systemu na pamięci pomocniczej:
Zarządzanie wolnymi obszarami
Przydział pamięci procesom i danym
Planowanie dostępu do dysku
Wsparcie dla pracy sieciowej
Sieć komputerowa jest medium komunikacyjnym dla systemu rozproszonego
Konieczne implementacje protokołów dla przechowywania i przesyłania plików
Zasoby dzielone umożliwiają wykonywanie obliczeń rozproszonych
Ochrona użytkowników i procesów
Ochrona dotyczy dostępu procesów i użytkowników do zasobów systemu komputerowego
Należy zdefiniować, co ma podlegać ochronie i jakiego rodzaju
Ochrona musi obejmować interfejsy pomiędzy modułami systemowymi
Interpretacja poleceń
Interpreter poleceń – interfejs między użytkownikiem i systemem operacyjnym
Może znajdować się w jądrze
Komunikacja z systemem odbywa się poprzez instrukcje sterujące
Realizowany jako interpreter wiersza poleceń (command line interpreter) lub powłoka (shell)
Przykłady: explorer (Windows), finder (Mac OS) ksh, csh, bash, tcsh, KDE (Linux), CDE (Solaris)
Usługi systemu operacyjnego
Wykonywanie programu
Operacje wejścia-wyjścia
Operacje na systemie plików
Komunikacja międzyprocesowa (IPC)
Wykrywanie błędów
Przydzielanie zasobów procesom
Rozliczanie użytkowników
Ochrona
Wywołania systemowe
Tworzą interfejs między procesem a systemem operacyjnym
Mogą być wywołane wewnątrz programu
Programista może korzystać z funkcji systemowych poprzez API
Konieczna obsługa wyjątków – gdy tworzony plik już istnieje, lub wystąpi błąd parzystości
Przykład: instruckje fprintf, fscanf (C), cin, cout (C++)
Implementacja wywołań systemowych
Konieczna identyfikacja funkcji systemowej
Metody przekazywania parametrów do systemu operacyjnego:
Rejestry procesora
Blok
Stos
Rodzaje funkcji systemowych
Nadzorowanie procesów
Zarządzanie plikami
Zarządzanie urządzeniami
Utrzymywanie informacji
Komunikacja