Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład nr 3: Struktura systemu operacyjnego

Podobne prezentacje


Prezentacja na temat: "Wykład nr 3: Struktura systemu operacyjnego"— Zapis prezentacji:

1 Wykład nr 3: Struktura systemu operacyjnego
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
Nazwa pliku do odczytu close open Plik do odczytu read Nazwa pliku do zapisu create write Plik do zapisu close 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++)

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
Parametry funkcji systemowej X: parametry funkcji systemowej Kod funkcji systemowej Użycie parametrów z tablicy X Wywołanie funkcji systemowej z parametrami Program użytkownika System operacyjny

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
jądro Interpreter poleceń Wolny obszar jądro Interpreter poleceń Wolny obszar Proces Przykład MS-DOS Wykonywanie współbieżne: programy TSR (terminate and stay resident)

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

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

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)
Aplikacja Win32 Serwer Win32 Aplikacja OS/2 Serwer OS/2 Aplikacja POSIX Serwer POSIX jądro Windows NT ma budowę hybrydową (od wersji 4.0) Każdy obsługiwany podsystem ma strukturę klient-serwer

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

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 "Wykład nr 3: Struktura systemu operacyjnego"

Podobne prezentacje


Reklamy Google