Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Systemy operacyjne Wykład nr 3: Struktura systemu operacyjnego Piotr Bilski.

Podobne prezentacje


Prezentacja na temat: "Systemy operacyjne Wykład nr 3: Struktura systemu operacyjnego Piotr Bilski."— Zapis prezentacji:

1 Systemy operacyjne Wykład nr 3: Struktura systemu operacyjnego Piotr Bilski

2 Składowe systemu operacyjnego Moduł zarządzania procesami Moduł zarządzania pamięcią operacyjną Moduł zarządzania plikami Moduł zarządzania systemem I/O Moduł zarządzania pamięcią pomocniczą Moduł zarządzania interfejsami sieciowymi System ochrony Interpreter poleceń

3 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

4 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ń

5 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

6 Operacje systemu na pamięci Utrzymywanie ewidencji zajętych fragmentów pamięci Identyfikacja procesów, do których należą poszczególne fragmenty pamięci Przydzielanie wolnych obszarów pamięci nowym procesom Przydzielanie i zwalnianie obszarów pamięci w zależności od potrzeb

7 Zarządzanie plikami Pliki przechowywane są w pamięci trwałej w strukturze logicznej systemu Plik jest zbiorem informacji powiązanych ze sobą w sposób zdefiniowany przez jego twórcę Pliki przechowują programy albo dane Pliki są zorganizowane w katalogi (ułatwienie użytkowania!) System operacyjny realizuje abstrakcyjny model plików poprzez zarządzanie nośnikami pamięci masowej

8 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

9 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

10 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

11 Operacje systemu na pamięci pomocniczej Zarządzanie wolnymi obszarami Przydział pamięci procesom i danym Planowanie dostępu do dysku

12 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

13 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

14 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)

15 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

16 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

17 Przykład wywołań systemowych – czytanie i pisanie do pliku 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++) Plik do odczytu Plik do zapisu Nazwa pliku do odczytu Nazwa pliku do zapisu open create read write close

18 Implementacja wywołań systemowych Konieczna identyfikacja funkcji systemowej Metody przekazywania parametrów do systemu operacyjnego: –Rejestry procesora –Blok –Stos

19 Przekazywanie parametrów za pomocą tablicy X: parametry funkcji systemowej Wywołanie funkcji systemowej z parametrami Parametry funkcji systemowej Użycie parametrów z tablicy X Kod funkcji systemowej System operacyjnyProgram użytkownika

20 Rodzaje funkcji systemowych Nadzorowanie procesów Zarządzanie plikami Zarządzanie urządzeniami Utrzymywanie informacji Komunikacja

21 Nadzorowanie procesów Zakończenie planowe (end) lub wyjątkowe (abort) Załadowanie (load) i wykonanie (execute) Tworzenie (create process) i likwidacja (terminate process) Pobieranie atrybutów (get process attributes) i ich ustawianie (set process attributes) Czekanie na zdarzenie (wait for event) i określoną ilość czasu (wait for time) Przydział pamięci (allocate memory) i zwolnienie (free memory) Zrzucanie zawartości pamięci (dump), śledzenie wykonania programu (tracr)

22 Zarządzanie plikami Utworzenie pliku (create file) u jego usunięcie (delete file) Otwarcie (open) i zamknięcie (close) Czytanie (read), pisanie (write), zmiana położenia (reposition) Czytanie atrybutów (get file attributes) i ustawienie (set file attributes)

23 Zarządzanie urządzeniami Zamówienie (request device), zwolnienie (release device) Czytanie (read), pisanie (write), zmiana położenia (reposition) Czytanie atrybutów (get device attributes), ustawianie atrybutów (set device attributes) Podłączenie logiczne (logical attach) i odłączenie (logical detach)

24 Utrzymywanie informacji Pobranie czasu/daty (get time or date), ustawienie czasu/daty (set time or date) Pobranie danych systemowych (get system data), ustawienie danych systemowych (set system data) Pobranie atrybutów procesu, pliku lub urządzenia (get process/file/device attribute) Ustawienie atrybutów procesu, pliku lub urządzenia (set process/file/device attribute)

25 Komunikacja Utworzenie/usunięcie połączenia komunikacyjnego (create/delete communication connection) Nadawanie, odbieranie komunikatów (send/receive messages) Przekazywanie informacji o stanie (transfer status information) Przyłączanie/odłączanie urządzeń zdalnych (attach/detach remote devices)

26 Systemy jednozadaniowe Przykład MS-DOS Wykonywanie współbieżne: programy TSR (terminate and stay resident) jądro Interpreter poleceń Wolny obszar jądro Interpreter poleceń Wolny obszar Proces

27 Systemy wielozadaniowe Przykład: Linux, Mac OS Proces może być wykonywany na pierwszym planie, lub w tle jądro Interpreter poleceń Wolny obszar Proces 1 Proces 2

28 Komunikacja między procesami Procesy realizujące połączenia to demony/usługi jądro Proces 1 Proces 2 K K K jądro Proces 1 Proces 2 Pamięć dzielona

29 Oprogramowanie systemowe Zarządzanie plikami (tworzenie, usuwanie, drukowanie itp.) Informowanie o stanie systemu Modyfikowanie plików (edycja) Zaplecze dla języków programowania (kompilatory, interpretery) Ładowanie i wykonywanie programów (konsolidatory, moduły ładujące nakładki) Komunikacja (tworzenie i utrzymywanie połączeń między procesami)

30 Systemowe programy użytkowe Programy wchodzące w skład systemu operacyjnego Interpreter poleceń może zawierać kod wykonujący polecenia, lub przekazać zadanie do programu systemowego (UNIX) Powłoka służy tworzeniu abstrakcji pomiędzy użytkownikiem i sprzętem

31 Struktura systemu operacyjnego Struktura odzwierciedla stopień zaawansowania i rozmiary systemu Przykłady –Struktury proste (MS DOS) –Struktury warstwowe (OS/2, Windows NT) –Mikrojądra (Mac OS)

32 Struktura prosta (MS DOS) Program użytkowy Rezydentne programy systemowe Moduły obsługi urządzeń z poziomu systemu Moduły obsługi urządzeń w pamięci ROM BIOS

33 Struktura warstwowa (UNIX) Użytkownicy Powłoki i polecenia Kompilatory i interpretery Biblioteki systemowe Interfejs funkcji systemowych jądra Sterowniki terminali Terminale Sterowniki urządzeń Dyski i taśmy Sterowniki pamięci Pamięć operacyjna

34 Mikrojądro (Windows NT) Windows NT ma budowę hybrydową (od wersji 4.0) Każdy obsługiwany podsystem ma strukturę klient-serwer Aplikacja Win32 Serwer Win32 Aplikacja OS/2 Serwer OS/2 Aplikacja POSIX Serwer POSIX jądro

35 Maszyny wirtualne jądro Programy systemowe Programy użytkowe Klasyczny system operacyjny Implementacja maszyny wirtualnej Sprzęt MW1 MW2 MW3 jądro jądro jądro Procesy

36 Realizacja maszyn wirtualnych Komunikacja między maszynami poprzez dyski wirtualne (spooling i system plików) Maszyna jest zwykłym programem użytkownika (pracuje w trybie użytkownika) Aplikacje wewnątrz maszyny mają wirtualne tryby użytkownika i nadzorcy Maszyna wirtualna może być powolna!

37 Wirtualna maszyna Javy Symulator nieistniejącego komputera Budowa: moduł ładujący klasy, weryfikator klas, interpreter języka Kompilacja kodu źródłowego do bajtkodu Śmieciarka (garbage collector) automatycznie usuwa obiekty, które nie są potrzebne Java dostarcza neutralny interfejs


Pobierz ppt "Systemy operacyjne Wykład nr 3: Struktura systemu operacyjnego Piotr Bilski."

Podobne prezentacje


Reklamy Google