Systemy operacyjne. Struktura systemu operacyjnego

Содержание

Слайд 2

Składowe systemu operacyjnego Moduł zarządzania procesami Moduł zarządzania pamięcią operacyjną Moduł

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

Zarządzanie procesami

Proces – wykonywany program, znajdujący się w pamięci i posiadające

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

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,

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,

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

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

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

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

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

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

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

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

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

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ł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

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: instrukcje 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

close

Слайд 18

Implementacja wywołań systemowych Konieczna identyfikacja funkcji systemowej Metody przekazywania parametrów do

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

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 operacyjny

Program użytkownika

Слайд 20

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

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

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)

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

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

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

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)

Systemy jednozadaniowe

Przykład MS-DOS
Wykonywanie współbieżne: programy TSR (terminate and stay resident)

Слайд 27

Systemy wielozadaniowe Przykład: Linux, Mac OS Proces może być wykonywany na pierwszym planie, lub w tle

Systemy wielozadaniowe

Przykład: Linux, Mac OS
Proces może być wykonywany na pierwszym planie,

lub w tle
Слайд 28

Komunikacja między procesami Procesy realizujące połączenia to demony/usługi

Komunikacja między procesami

Procesy realizujące połączenia to demony/usługi

Слайд 29

Oprogramowanie systemowe Zarządzanie plikami (tworzenie, usuwanie, drukowanie itp.) Informowanie o stanie

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ń

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

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)

Struktura prosta (MS DOS)

Слайд 33

Struktura warstwowa (UNIX) Użytkownicy Powłoki i polecenia Kompilatory i interpretery Biblioteki

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)

Mikrojądro (Windows NT)

Windows NT ma budowę hybrydową (od wersji 4.0)
Każdy obsługiwany

podsystem ma strukturę klient-serwer
Слайд 35

Maszyny wirtualne Klasyczny system operacyjny Implementacja maszyny wirtualnej Sprzęt Sprzęt MW1

Maszyny wirtualne

Klasyczny system operacyjny

Implementacja maszyny wirtualnej

Sprzęt

Sprzęt

MW1 MW2 MW3

jądro jądro

jądro

Procesy Procesy

Слайд 36

Realizacja maszyn wirtualnych Komunikacja między maszynami poprzez dyski wirtualne (spooling i

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!