1.43k likes | 1.85k Views
Prowadzący: mgr inż. Stanisław SIERPIEŃ dr hab. Piotr GIZA. Systemy Operacyjne cz. I. Systemy Operacyjne :. Wykład -podstawy teoretyczne . (w tym trochę informacji praktycznych) II sem. - 30 godz. (dzienni), 15 godz. (zaoczni) III sem. - 15 godz. (dz.), 15 godz. (zaoczni)
E N D
Prowadzący: mgr inż. Stanisław SIERPIEŃ dr hab. Piotr GIZA Systemy Operacyjne cz. I
Systemy Operacyjne : • Wykład -podstawy teoretyczne . • (w tym trochę informacji praktycznych) • II sem. - 30 godz. (dzienni), 15 godz. (zaoczni) • III sem. - 15 godz. (dz.), 15 godz. (zaoczni) • Unix na bazie Linux-a • Ćwiczenia: • zarządzanie MS Windows XP Pro • trochę „DOS-a” - wiersz poleceń, skrypty • III sem. - podstawy Unix-a na bazie Linux-a
Zaliczenia i egzamin : • II semestr: • Zaliczenie ćwiczeń - aktywność i kolokwia • Egzamin • ... ( ... nie zwalniamy ... ) ...
Literatura : • „Podstawy systemów operacyjnych” - Abraham Silberschatz, Peter B. Galvin • ....
Definicje Cele Zadania Budowa (jak to działa ...) przykłady, i inne elementy ... Systemy Operacyjne
System komputerowy • Sprzęt • CPU, pamięci, syst. plików, drukarki, sieci, ... • programy • systemy operacyjne... • programy do programowania (języki) • programy użytkowe ... • ludzie • operatorzy, programiści, użytkownicy ...
System komputerowy: • (abstrakcyjne przedstawienie elementów systemu komputerowego) User 1 User 2 User 3 User n User n1 ...... ..... Kompilator Assembler Edytor ........ Baza danych Gra ...... Programy użytkowe : System operacyjny Sprzęt komputerowy
System operacyjny: • Nadzoruje i koordynuje posługiwanie się sprzętem (zasobami) przez różne programy użytkowe, pracujące na zlecenie różnych użytkowników; • Tworzy środowisko (sam jest środowiskiem) w którym inne programy mogą działać i wykonywać pożyteczne prace ... • Dystrybutor (zarządca) zasobów - czas procesora, pamięć operacyjna lub plików, urządzenia we/wy - przydziela je programom i użytkownikom ... • Rozwiązuje konflikty, jaki mogą powstać przy zamawianiu zasobów syst. komputerowego ..
Czym jest „System Operacyjny” ? • Zbiór programów zawierających wspólne elementy zarządzania zasobami ... • Program, który działa w komputerze cały czas (jądro), inne zaś programy to programy użytkowe ... • W „wielkim” uproszczeniu - tym co kupujemy (??!) jako „system operacyjny” ....
Cele systemów operacyjnych • 1. Wygoda - wykonywanie programów i ułatwianie rozwiązywania problemów stawianych przez użytkowników • 2. Efektywność - wydajne wykorzystanie zasobów systemu komputerowego: optymalizacja czasu i kosztów ...
Systemy wsadowe Pamięć operacyjna prostego systemu wsadowego System operacyjny Obszar programów użytkownika
Operacje w systemach wsadowych: • Pisanie (kodowanie) programu w postaci maszynowej (binarnej) • Wprowadzenie do pamięci (ręczne, taśmy papierowe, karty perforowane, ...) • Uruchomienie • Ew. błędy - poprawa i ponowne uruchamianie • Wyprowadzenie wyników
Operacje w systemach wsadowych: • Powstały assemblery, programy ładujące, tłumaczące (kompilatory), biblioteki typowych funkcji, progr. łączące (konsolidujące, linkery), • Moduły sterujące układami we/wy (drivery) dodawane w postaci bibliotek ... • Języki programowania ....
Przetwarzanie wsadowe: Program ładujący Porządkowanie zadań Interpreter kart sterujących Obszar programów użytkownika
Operacje w systemach wsadowych: • Programowanie - coraz łatwiejsze ... • Działanie komputera - coraz bardziej złożone ...
Operacje w systemach wsadowych: • Przykład - program w Fortranie: • wprowadzenie kompilatora do pamięci (z przewijaka taśmy ) • przeczytanie programu z kart i zapisanie na taśmie - już innej • kompilacja programu - Fortran na assembler, nast. na kod masz. • Następna taśma - z assemblerem ... • Połączenie z bibliotekami - linkowanie • zapisanie kodu wynikowego ... • UFF !!! Wykonanie • A efektywność ?????????? A czas obiegu zadania ???
Czas realizacji zadań wsadowych(optymalizacja) : • Optymalizacja czasu: zatrudniono zawodowych operatorów komputera obok programistów • Sprawniejsza obsługa komputera (+) • Odsunięcie programisty od maszyny ... (-) • Gromadzenie podobnych zadań do wspólnego wykonania ... • Pamięci dyskowe zamiast taśmowych - spooling (simultanous peripheral operation on-line)
Spooling - buforowanie • Dysk twardy CPU Czytnik kart Drukarka wierszowa
Planowanie zadań • Karty - FIFO - First In First Out - nie • Taśma - dostęp sekwencyjny - już lepiej ... • Dysk twardy - dostęp bezpośredni : umożliwienie planowania zadań ... - tak
Przetwarzanie wsadowe: • A: • Assembler1 • Fortran1 • Cobol1 • Fortran2 • assembler2 • Cobol2 • Fortran3
Przetwarzanie wsadowe: • A: uszeregować >>> B: • Assembler1 Assembler1 • Fortran1 Assembler2 • Cobol1 Fortran1 • Fortran2 Fortran2 • assembler2 Fortran3 • Cobol2 Cobol1 • Fortran3 Cobol2
System wieloprogramowy: System operacyjny Pamięć operacyjna systemu wielopro- gramowego Zadanie 1 Zadanie 2 Zadanie 3 Zadanie 4
Wieloprogramowość: • Możliwość wykonywania więcej niż jednego zadania w tym samym czasie ... • Lepsze wykorzystanie czasu procesora, • lepsze wykorzystanie zasobów systemu (CPU, pamięć, urządzenia I/O, ...), US $$$$$ .. • Analogia - szewc, adwokat, serwis TV, .. (a kto to jest szewc ... ???)
Podział czasu - wielozadaniowość • Rozszerzenie wieloprogramowości - przełączanie wykonywanych zadań • Możliwość pracy interakcyjnej wielu użytkowników w tym samym czasie ... - każdy używa procesora przez mały odcinek czasu
Systemy wielozadaniowe: • Wiele programów przechowywanych równocześnie w pamięci - wymagane zarządzanie pamięcią i ochrona; • Aby zagwarantować odpowiedni czas wykonania, zadania z pamięci trzeba czasem odsyłać na dysk, i czytać ponownie • pamięć wirtualna - technika „poszerzania” pamięci głównej procesora
Pamięć wirtualna: • Możliwość wykorzystywania większej ilości pamięci operacyjnej (głównej) niż pamięć fizyczna, faktycznie zainstalowana w komputerze ... • Technika ta pozwala programistom uwolnić się od ograniczeń pamięciowych ...
Systemy dyskowe i systemy plików • Systemy z podziałem czasu muszą dostarczać bezpośrednio dostępnego systemu plików ... • Systemy plików znajdują się (rezydują) na dyskach - trzeba więc zapewnić zarządzanie dyskami, systemami dyskowymi ....
Współbieżność: • Systemy z podziałem czasu muszą umożliwiać też działanie współbieżne (wieloprocesorowość), a to wymaga odpowiednich metod przydziału procesora;
Wielozadaniowość: • Aby zagwarantować porządek wykonywania zadań, w systemie muszą istnieć mechanizmy synchronizowania zadań i komunikacji pomiędzy nimi; • System musi też zapewniać, że zadania nie będą się „zakleszczać”, wzajemnie na siebie czekając ...
Komputery osobiste (lata 70-te): • Obniżenie cen sprzętu - możliwość zbudowania komputera dla użytkownika indywidualnego ... • Inne - nowocześniejsze urządzenia we/wy: klawiatury i myszy zamiast czytn. kart, małe drukarki i monitory zastąpiły drukarki wierszowe i perforatory kart ...
Komputery osobiste: • Początkowo - ani wielostanowiskowe ani też wielozadaniowe ... • Z czasem - zamiast maksymalizować stopień wykorzystania procesora (tanie procesory), nacisk położono na wszechstronność systemu i wygodę użytkownika ...
System Operacyjny dla PC ... • Ochrona plików - nie jest konieczna • Modem, LAN - wielodostęp - ochrona plików / zasobów • Brak ochrony - ułatwienie dla programów złośliwych
System Operacyjny dla PC ... • Koncepcje (cechy) systemów dla dużych maszyn (mainframe) trafiają do systemów mikrokomputerowych ... • Pierwowzór UNIX-a - Multics z MIT lata 1965-1970 • UNIX - Bell Labs - dla PDP-11 - 1970
System Operacyjny dla PC ... • Cechy (rozwiązania) UNIX-owe przechodzą do systemów dla PC: • Microsoft Windows NT • IBM OS/2 • MacIntosh Operating System • ... UNIX-y dla stacji roboczych: HP, IBM, Sun, Alpha DEC/Cpq/HP
Systemy równoległe: • Ściśle powiązane - wieloprocesorowe: • symetryczne i asymetryczne (a ile procesorów ma nasz PeCet ??? ) • Luźno powiązane - rozproszone: • podział zasobów • przyspieszenie obliczeń • niezawodność • komunikacja ...
Systemy czasu rzeczywistego: • Surowe wymagania dotyczące czasu przetwarzania lub przepływu danych: • eksperymenty naukowe • medycyna - badania i nadzór • sterownie procesami przemysłowymi • niektóre systemy wizualizacji (pogoda) • sterowniki urządzeń AGD, • ......
Systemy czasu rzeczywistego: • Rygorystyczne - ograniczenie wszelkich opóźnień w systemie, brak podziału czasu, • Łagodne - krytyczne zadania otrzymują pierwszeństwo przed innymi, i nie mogą czekać w nieskończoność ... (zastosowania ograniczone - multimedia, Virtual Reality,
Początki epoki komputerów: • Lata 1945 - 1985: • pojedyncze komputery, minikomputery • drogie (dziesiątki/setki tysięcy $), • rozproszone, brak łączności
Systemy scentralizowane: Komp. Centralny Terminal Terminal
Systemy scentralizowane: K. Komp. Centralny Koncentrator Terminal Terminal
Systemy scentralizowane: • Jeden procesor (centralny) oraz: • pamięć • urządzenia zewnętrzne • pewna liczna terminali • ?? modemy ?? i linie telefoniczne • ...
Rewolucja ??? - lata 80-te XX w. • Mikroprocesor - r. 197x - komputery domowe i osobiste • Sieci komputerowe (LAN, WAN), • Szybkie sieci komputerowe ... • Komputery - tanie, łatwe i przyjemne ... • Szybka i tania komunikacja ...
Komputer pojedynczy (PC) : • Jeden procesor • Jeden użytkownik • brak komunikacji/łączności • ? Maszyna do pisania ???
Systemy rozproszone : Komp. Komp. ??? Komp. Komp. Komp. Komp.
Systemy rozproszone : Sieć, media łączności, ? Internet ? Komp. Terminal Komp. Komp. Serwer Terminal
System rozproszony : • Definicja: (a jest ich wiele) ... • System rozproszony to układ niezależnych komputerów (procesorów), który sprawia na jego użytkownikach wrażenie, że jest jednym komputerem (procesorem, systemem) ...
Systemy rozproszone :przykłady: • Firma, biuro, uczelnia, ....(np.. PeCety i ...) • Roboty/automaty w hali produkcyjnej - taśma produkcyjna z centralnym komp. • Banki z oddziałami, linie lotnicze i rezerwacja biletów
Cele decentralizacji : • Optymalizacja kosztów (cena), ekonomia ... • Decentralizacja przetwarzania ... (np. sieć supermaketów i lokalne zaopatrzenie ) • wspomagana komp. zespołowa praca ludzi (albo graczy komputerowych ...)
Zalety decentralizacji :(w porównaniu 1 komp. Centralnym) • Optymalizacja kosztów (cena), ekonomia ... • Lepszy współczynnik cena/wydajność (z 1$) • wydajność nieosiągalna w 1 procesorze ... • Niezawodność (całego systemu !!!) • możliwość stopniowej (tańszej) rozbudowy ...
Zalety decentralizacji :(w porównaniu komputerami odosobnionymi -PC) • możliwość współdzielenia informacji/danych • współdzielenie urządzeń (np. drukarki) - koszty • komunikacja międzyludzka - np. poczta elektroniczna, ... • elastyczność - rozkład obciążenia na wszystkie dost. komputery w sposób bardziej efektywny ... • wykonywanie zadań na cudzych procesorach ...