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)