230 likes | 557 Views
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)
E N D
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 • 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)
Elementy systemu komputerowego Użytkownik n … Użytkownik 1 Użytkownik 2 Aplikacje systemowe i użytkowe System operacyjny Sprzęt komputerowy
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
System operacyjny Programy użytkownika 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 Zadanie 1 Zadanie 2 Zadanie 3 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!! Planowanie przydziału procesora (scheduling)
System operacyjny Zadanie 1 Zadanie 2 Zadanie 3 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)
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)