Wykład nr 3: Struktura systemu operacyjnego

Slides:



Advertisements
Podobne prezentacje
Systemy operacyjne.
Advertisements

Wirtualizacja zasobów w systemach operacyjnych
Mechanizmy pracy równoległej
Systemy Operacyjne (1) DOS.
ROZDZIAŁ 12: Systemy wejścia-wyjścia
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
Moduł 2. Struktury Systemów Komputerowych
przetwarzaniu informacji
Sieci komputerowe.
SYSTEMY OPERACYJNE WSTĘP
1 Linux jako system wielozadaniowy i wielodostępny.
System Operacyjny Zajęcia 4.
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Systemy operacyjne Bibliografia:
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
ZARZĄDZANIE PROCESAMI
Systemów Operacyjnych
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Systemy operacyjne. Co to jest system operacyjny? OS (ang. Operating System) to program, który kontroluje pracę uruchomionych przez użytkownika aplikacji,
Budowa, przeglądanie i modyfikacja
ZASOBY KOMPUTERA I PRACA W SYSTEMIE OPERACYJNYM WINDOWS XP
C# Windows Forms Zastosowania Informatyki Wykład 2
Podstawy programowania II
System operacyjny. System operacyjny Co to jest system operacyjny: jest szczególnym rodzajem programu, którego zadaniem jest koordynowanie pracy.
Opracowanie: Maria Wąsik
WinPakSE/PE Zintegrowany System Ochrony Obiektów
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Budowa systemu komputerowego
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Podstawowe usługi systemów operacyjnych
Systemy operacyjne.
Programowanie obiektowe – zastosowanie języka Java SE
Narzędzia administracyjne
Maszyna wirtualna ang. virtual machine, VM.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
Sieciowe systemy operacyjne - UNIX
System operacyjny – skąd się wziął?
Etapy uruchamiania systemu Pliki konfiguracyjne
W ą t e k (lekki proces) thread.
Systemy operacyjne (wiosna 2014)
Wykład 2 Struktura systemu operacyjnego
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
System plików.
Procesor, pamięć, przerwania, WE/WY, …
Microsoft Disk Operating System
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Podstawy programowania
Struktura systemu operacyjnego
Temat 1 Pojęcie systemu operacyjnego Opracował: mgr Marek Kwiatkowski.
Powtórzenie Zadania systemu operacyjnego… Rodzaje i jednostki pamięci…
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Systemy operacyjne i sieci komputerowe DZIAŁ : Systemy operacyjne i sieci komputerowe Informatyka Zakres rozszerzony Zebrał i opracował : Maciej Belcarz.
Systemy operacyjne.
Sieci komputerowe Usługi sieciowe 27/09/2002.
Programowanie obiektowe – zastosowanie języka Java SE
Microsoft Disk Operating System
Aplikacje i usługi internetowe
Zapis prezentacji:

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

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ń

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

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

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

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

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

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

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

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)

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)

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)

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)

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)

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)

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

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

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)

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

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)

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

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

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

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 MW1 MW2 MW3 Implementacja maszyny wirtualnej Sprzęt Sprzęt Klasyczny system operacyjny

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!

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