Transcript Wykład 1

Systemy operacyjne
Wykład nr 1:
Wprowadzenie. Pojęcia podstawowe
Piotr Bilski
Zasady zaliczenia
• Przedmiot składa się z dwóch części:
wykładu i laboratorium
• Laboratorium składa się z 14 ćwiczeń
wykonywanych co tydzień (7 z Windows i
7 z Linuksa)
• Wykład zaliczany jest na egzaminie w
sesji po zakończeniu semestru
Program przedmiotu
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Wstęp. Pojęcia podstawowe
Struktura systemu komputerowego
Struktura systemu operacyjnego
Procesy
Modele wątków
Planowanie przydziału procesora
Metody synchronizacji procesów
Zakleszczenia i zapobieganie im
Zarządzanie pamięcią
Pamięć wirtualna
Systemy plików
Systemy wejścia-wyjścia i pamięć masowa
Ochrona systemu operacyjnego
Literatura
• A. Silberschatz, P. B. Galvin, G. Gagne,
„Podstawy systemów operacyjnych”, WNT,
Warszawa, 2005
• A. S. Tanenbaum, „Systemy operacyjne”,
Helion, Gliwice, 2010
• W. Stallings, „Systemy operacyjne. Struktura i
zasady budowy”, WN PWN, Warszawa, 2006
• A. S. Tanenbaum, M. Van Steen „Systemy
rozproszone. Zasady i paradygmaty”, WNT,
2006
Definicja systemu operacyjnego
• Nie istnieje ścisła definicja
• Jest to zwykle program lub zbiór
programów zarządzających sprzętem
komputerowym
Rodzaje systemów operacyjnych
• Przeznaczenie
– Ogólnego przeznaczenia (SOOP)
– Specjalizowane
• Równoległe
• Czasu rzeczywistego
• Wbudowane
• Rodzaj systemu komputerowego
– Osobiste (np. biurkowe, notebooki)
– Dla komputerów główne (mainframe)
– Systemy mobilne (Android, BBOS, iOS, Windows
Phone)
– Systemy przemysłowe (QNX)
Rodzaje systemów operacyjnych
(c.d.)
Elementy systemu komputerowego
Użytkownik 1
Użytkownik 2
…
Aplikacje systemowe i użytkowe
System operacyjny
Sprzęt
komputerowy
Użytkownik n
Rodzaje systemów komputerowych
•
•
•
•
•
Komputery główne
Komputery biurkowe
Terminale
Komputery przenośne
Komputery podręczne
Cele systemów operacyjnych
•
•
•
•
•
Maksymalizacja wykorzystania zasobów
Łączność z innymi komputerami
Wygoda użytkownika
Zarządzanie zasobami
Obsługa wielu użytkowników
Systemy komputerów głównych
• Systemy wsadowe
• Systemy wieloprogramowe
• Systemy z podziałem czasu
Systemy wsadowe
• Obsługa za pomocą konsoli
• Wejście: czytniki kart
perforowanych
• Operator komputera wykonywał
wszystkie działania
• Wsad to zestaw zadań
wykonywanych przez system
• Główna wada: powolne!!
• Brak możliwości planowania
zadań
System
operacyjny
Programy
użytkownika
Systemy wieloprogramowe
• Wiele programów w pamięci
• System zarządza przydziałem
procesora zadaniom i
wykorzystaniem pamięci
• Cel: maksymalizacja
wykorzystania CPU
• Procesor ciągle jest przełączany
między zadaniami
• Wada: skomplikowane!!
System
operacyjny
Zadanie 1
Zadanie 2
Zadanie 3
Planowanie przydziału procesora (scheduling)
Systemy z podziałem czasu
• Systemy wieloprogramowe
wzbogacone o interakcję z
użytkownikiem
• Przykład: interakcyjny system
komputerowy
• Parametr: czas odpowiedzi
• Program w pamięci – proces
• Operacje wejścia-wyjścia
interakcyjne
• Zaawansowane zarządzanie
pamięcią i ochrona (pamięć
wirtualna i logiczna, system plików)
System
operacyjny
Zadanie 1
Zadanie 2
Zadanie 3
Inne systemy komputerowe
•
•
•
•
•
•
Systemy biurkowe
Systemy wieloprocesorowe
Systemy rozproszone
Systemy zgrupowane
Systemy czasu rzeczywistego
Systemy kieszonkowe
Systemy biurkowe
• Cel: maksymalizacja wygody użytkownika
i szybkość kontaktu z użytkownikiem
• Obecność graficznego interfejsu
użytkownika (GUI)
• Potrzebne dodatkowe mechanizmy
ochrony przed szkodliwym
oprogramowaniem (malware)
Systemy wieloprocesorowe
• Systemy równoległe (ściśle powiązane)
• Większa liczba procesorów zapewnia
większą przepustowość
• Wykorzystanie ekonomiki skali
• Zwiększenie niezawodności (systemy
tolerujące awarie)
• Dwa rozwiązania: przetwarzanie
symetryczne i asymetryczne
Systemy rozproszone
• Wykorzystują sieć komputerową
(najczęściej LAN lub MAN)
• Dwa modele:
– Klient-serwer
– Partnerskie (peer-to-peer)
• Są to systemy luźno powiązane
• Zarządzane przez sieciowy system
operacyjny
Systemy zgrupowane
• Wykorzystują wiele systemów
indywidualnych do wykonania zadania
• Węzły (grona) wspomagane
oprogramowaniem
• Grona mogą być symetryczne lub
asymetryczne
• Wykorzystanie:
– Obliczenia
– Udostępnianie rozproszonych systemów plików
– Sieci pamięci masowych
Systemy czasu rzeczywistego
• Realizują wymagania na czas wykonania
operacji
• Nacisk na szybką pamięć operacyjną
• Dwa tryby:
– Rygorystyczny (Hard Real-Time)
– Łagodny (Soft Real-Time)
• Zastosowania:
– Przemysł
– Wizualizacja danych
– Monitorowanie badań naukowych
Systemy kieszonkowe
• Wykorzystywane w telefonach
komórkowych i inteligentnych
urządzeniach typu palmtop, czy PDA
• Niewielkie rozmiary wymuszają małą ilość
pamięci, niewielki procesor i ekran
• Liczne interfejsy komunikacji
bezprzewodowej (Bluetooth, IrDA, WiFi)