Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. – Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. – Podstawy budowy i działania komputerów, WKiŁ, Warszawa 2000 Systemy operacyjne – A. Silberschatz 1.1 Ignacy Pardyka Akademia Świętokrzyska Systemy operacyjne Systemy operacyjne Lista slajdów: 01 Wprowadzenie 02 Struktury 03 struktury cd 04 Procesy i wątki 06 Przydzielanie procesora 07 Synchronizacja i blokady 09 Zarządzanie pamięcią 10 Pamięć wirtualna 11 System plików i pamięć pomocnicza 15 Struktury sieciowe Systemy operacyjne – A. Silberschatz 1.2 Ignacy Pardyka Akademia Świętokrzyska Zadania systemu operacyjnego Pośrednictwo pomiędzy użytkownikiem komputera a Zadania systemu operacyjnego Systemy dla dużych komputerów (Mainframe Systems) Systemy dla komputerów osobistych (Desktop Systems) Systemy wieloprocesorowe Systemy rozproszone (distributed) Systemy klasterowe (clustered) Systemy czasu rzeczywistego (Real – Time Systems) sprzętem komputerowym. Zadania: ) Wykonywanie programów użytkownika i ułatwianie rozwiązywania problemów stawianych przez użytkownika. ) Dostarczenie przyjaznego interfejsu. Efektywne wykorzystanie sprzętu . Systemy dla urządzeń przenośnych (Handheld Systems) Środowisko obliczeniowe Systemy operacyjne – A. Silberschatz 1.3 Ignacy Pardyka Akademia Świętokrzyska System komputerowy Systemy operacyjne – A. Silberschatz 1.4 Ignacy Pardyka Akademia Świętokrzyska Abstrakcyjne składniki systemu 1. Sprzęt – podstawowe zasoby obliczeniowe (CPU, pamięć, urządzenia). 2. System operacyjny – nadzoruje i koordynuje posługiwanie się sprzętem przez wielu użytkowników. 3. Aplikacje – określają sposób użycia zasobów systemu do rozwiązywania zadań stawianych przez użytkowników (kompilatory, systemy baz danych, gry, programy wspomagające zarządzanie itp.). 4. Użytkownicy (ludzie, maszyny, inne komputery). Systemy operacyjne – A. Silberschatz 1.5 Ignacy Pardyka Akademia Świętokrzyska Systemy operacyjne – A. Silberschatz 1.6 Ignacy Pardyka Akademia Świętokrzyska 1 Definicje Systemy dla dużych komputerów Mainframe Systems Skrócenie czasu instalowania zadania przez Dystrybutor zasobów – zarządza zasobami i ich przydzielaniem Program sterujący – steruje wykonaniem programów użytkownika i operacjami we/wy. Jądro – program wykonywany przez cały czas (pozostałe programy to aplikacje). przygotowanie wsadu zadań o podobnych wymaganiach Automatyczne porządkowanie zadań – automatyczne przekazywanie sterowania od jednego zadania do drugiego. Rezydentny monitor ) Inicjalnie sterowanie jest w monitorze ) Przekazanie sterowania do zadania ) Po zakończeniu zadania sterowanie wraca do monitora Systemy operacyjne – A. Silberschatz 1.7 Ignacy Pardyka Akademia Świętokrzyska Podział pamięci w systemie wsadowym Systemy operacyjne – A. Silberschatz 1.8 Ignacy Pardyka Akademia Świętokrzyska Systemy wsadowe wieloprogramowe W pamięci jest wiele zadań w tym samym czasie, a CPU jest im przydzielana. Systemy operacyjne – A. Silberschatz 1.9 Ignacy Pardyka Akademia Świętokrzyska Cechy SO potrzebne przy wieloprogramowości Systemy operacyjne – A. Silberschatz 1.10 Ignacy Pardyka Akademia Świętokrzyska Systemy wielozadaniowe (z podziałem czasu) Procedury we/wy dostarczane przez system. Zarządzanie pamięcią – system musi przydzielać pamięć wielu zadaniom. Planowanie przydziału procesora (CPU scheduling) – system musi wybrać, któremu z zadań gotowych do wykonania przydzielić procesor. Przydział urządzeń. Systemy operacyjne – A. Silberschatz 1.11 Ignacy Pardyka Akademia Świętokrzyska CPU jest przełączana pomiędzy różne zadania rezydujące w pamięci lub na dysku (przydzielenie CPU tylko do zadania rezydującego w pamięci) Wymiana zadania między pamięcią i dyskiem. Bieżąca komunikacja użytkownika i systemu. Systemy operacyjne – A. Silberschatz 1.12 Ignacy Pardyka Akademia Świętokrzyska 2 Systemy komputerów osobistych Systemy równoległe Komputer osobisty – system komputerowy dedykowany dla pojedynczego użytkownika. Systemy wieloprocesorowe z procesorami silnie Urządzenia we/wy – klawiatura, mysz, ekrany, drukarki. powiązanymi. Wygoda użytkownika. System silnie powiązany – procesory korzystają ze Pozwalają na korzystanie z technologii opracowanych dla wspólnej pamięci i zegara; komunikacja zwykle odbywa się poprzez pamięć. Korzyści: dużych komputerów (przy pojedynczym użytkowniku nie korzysta się z wielu możliwości dostępnych, np. zabezpieczeń. Możliwość instalowania wielu systemów jednocześnie (Windows, Unix, Linux). Systemy operacyjne – A. Silberschatz 1.13 Ignacy Pardyka Akademia Świętokrzyska Systemy równoległe (cd.) ) Zwiększona przepustowość ) Ekonomiczne ) Zwiększona niezawodność Systemy operacyjne – A. Silberschatz 1.14 Ignacy Pardyka Akademia Świętokrzyska Architektura systemów wieloprocesorowych symetrycznych Wieloprocesorowość symetryczna - Symmetric multiprocessing (SMP) ) Każdy procesor wykonuje identyczną kopię systemu operacyjnego. ) Wiele procesów może się wykonywać równocześnie. ) Większość współczesnych systemów pozwala na SMP Wieloprocesorowość asymetryczna ) Każdemu procesorowi powierzane jest specyficzne zadanie; procesor główny (master) planuje i przydziela zadania procesorom podrzędnym (slave). ) Częściej stosowana w bardzo dużych systemach. Systemy operacyjne – A. Silberschatz 1.15 Ignacy Pardyka Akademia Świętokrzyska Systemy operacyjne – A. Silberschatz Systemy rozproszone 1.16 Ignacy Pardyka Akademia Świętokrzyska Systemy rozproszone (cd.) Rozdzielenie obliczeń między wiele fizycznych procesorów. Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory komunikują się ze sobą poprzez różne łącza komunikacyjne (szybkie szyny danych, łącza telefoniczne). Korzyści. Wymagają infrastruktury sieciowej. Sieci lokalne (LAN) lub rozległe (WAN) Systemy typu klient-serwer lub równoprawne (peer-to- peer). ) Wspólne użytkowanie zasobów ) Podział obciążenia ) Niezawodność ) Łączność Systemy operacyjne – A. Silberschatz 1.17 Ignacy Pardyka Akademia Świętokrzyska Systemy operacyjne – A. Silberschatz 1.18 Ignacy Pardyka Akademia Świętokrzyska 3 Ogólna struktura systemów typu Klient-Server Systemy klasterowe Pozwalają dwom lub więcej systemom na korzystanie ze wspólnej pamięci. Są bardzo niezawodne. Asymetryczne (Asymmetric clustering): gdy jeden z serwerów wykonuje aplikację, drugi jest wolny). Symetryczne (Symmetric clustering): jednocześnie wszystkie systemy wykonują aplikację). Systemy operacyjne – A. Silberschatz 1.19 Ignacy Pardyka Akademia Świętokrzyska Systemy czasu rzeczywistego Real-Time Systems Systemy operacyjne – A. Silberschatz 1.20 Ignacy Pardyka Akademia Świętokrzyska Systemy czasu rzeczywistego(Cd.) Często w sterownikach urządzeń o określonym przeznaczeniu (np. sterowniki przemysłowe, aparatura medyczna, aparatura laboratoryjna). Ostre wymagania czasowe. Rozwiązanie sprzętowe lub programowe (Real-Time systems may be either hard or soft real-time). Rozwiązanie sprzętowe (Hard real-time): ) Szybka pamięć (często ROM) ) Konflikty z systemami wielozadaniowymi typu uniwersalnego. Rozwiązanie programowe (Soft real-time) ) Rzadziej w sterownikach przemysłowych i robotach. ) Najczęściej w systemach wymagających zaawansowanych możliwości (multimedia, virtual reality). Systemy operacyjne – A. Silberschatz 1.21 Ignacy Pardyka Akademia Świętokrzyska Systemy dla urzadzeń przenośnych Systemy operacyjne – A. Silberschatz 1.22 Ignacy Pardyka Akademia Świętokrzyska Wędrówka cech i koncepcji systemów operacyjnych Personal Digital Assistants (PDAs) Telefony komórkowe Problemy: ) Ograniczona pamięć ) Wolne procesory ) Małe ekrany. Systemy operacyjne – A. Silberschatz 1.23 Ignacy Pardyka Akademia Świętokrzyska Systemy operacyjne – A. Silberschatz 1.24 Ignacy Pardyka Akademia Świętokrzyska 4 Środowisko obliczeniowe Lokalne, tradycyjne (Traditional Computing) Z wykorzystaniem sieci (Web-Based Computing) Wbudowane (Embedded Computing) Systemy operacyjne – A. Silberschatz 1.25 Ignacy Pardyka Akademia Świętokrzyska 5