1 Sprawy organizacyjne

Podobne dokumenty
Przegląd współczesnych systemów operacyjnych

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Podstawy użytkowania systemu Linux

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Podstawy administracji systemu Linux

SYSTEMY OPERACYJNE WYKŁAD 2 PRZEGLĄD SYSTEMÓW WINDOWS I UNIX

Czujniki obiektowe Sterowniki przemysłowe

Wprowadzenie do systemów operacyjnych

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Systemy operacyjne III

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program wykładów, c.d. Program ćwiczeń i laboratoriów

Historia systemów operacyjnych - Unix

"Klasyczna" struktura systemu operacyjnego:

Wstęp do Informatyki dla bioinformatyków

Charakterystyka sieci klient-serwer i sieci równorzędnej

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program wykładów, c.d. Program ćwiczeń i laboratoriów

Wirtualizacja. Metody, zastosowania, przykłady

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Technologie Informatyczne Wykład XI linux

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

Opis efektów kształcenia dla modułu zajęć

Systemy Operacyjne. Definicje systemu operacyjnego. Jak zdefiniować system operacyjny?

Opis efektów kształcenia dla modułu zajęć

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Program projektów i laboratoriów. Strona WWW przedmiotu:

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Narzędzia informatyczne. Wolne oprogramowanie

Systemy operacyjne. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Wolne Oprogramowanie

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Architektura komputerów Historia systemów liczących

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

KOMPUTER. Programy użytkowe i systemy operacyjne

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)

Systemy Operacyjne (1)

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Systemy operacyjne. Paweł Pełczyński

Podstawy Informatyki Systemy operacyjne

Dystrybucje Linuksa c.d.

1. Co to jest system operacyjny - wstęp

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Krótka Historia Systemów Operacyjnych. Tomasz Borzyszkowski

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

System operacyjny System operacyjny

Wprowadzenie do systemów operacyjnych

System operacyjny wstęp

1. Co to jest system operacyjny?

1. Co to jest system operacyjny

Wstęp do Informatyki. Klasyfikacja oprogramowania

Systemy operacyjne. Literatura: A. Silberschatz, J.L. Peterson, P.B. Galwin, Podstawy systemów operacyjnych, WNT, Warszawa 2006

Technologia Informacyjna

Historia komputera. Architektura komputera Historia komputera. Historia komputera. Historia komputera. Historia komputera

WSTĘP. Budowę umiejętności w: zarządzaniu plikami; procesowaniu tekstu i tworzeniu arkuszy; uŝywaniu przeglądarek internetowych oraz World Wide Web;

Software is like sex it s better when it s free. Linus Torvalds

Działanie komputera i sieci komputerowej.

Technologia informacyjna. Urządzenia techniki komputerowej

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie do sieciowych systemów operacyjnych. Moduł 1

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2013/2014

algorytm przepis rozwiązania przedstawionego zadania komputer urządzenie, za pomocą którego wykonywane są algorytmy

Ewolucja systemów operacyjnych

PRZEWODNIK PO PRZEDMIOCIE

Składowe systemu komputerowego

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

ZADANIA SYSTEMÓW OPERACYJNYCH

Zarządzenie wchodzi w życie z dniem podpisania.

System komputerowy. System komputerowy

Informatyka. Prowadzący: Dr inż. Sławomir Samolej D102 C, tel: , WWW: ssamolej.prz-rzeszow.

Zastosowania matematyki w systemie operacyjnym Linux

Jądro systemu operacyjnego

Systemy operacyjne. Tomasz Lewicki. marzec WWSIS, Wrocław. Tomasz Lewicki (WWSIS, Wrocław) Systemy operacyjne marzec / 25

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

Rola i zadania systemu operacyjnego

Akademia Techniczno-Humanistyczna w Bielsku-Białej

System operacyjny komputera Informacje podstawowe

Podstawy Informatyki. Wykład 3 UNIX

KARTA KURSU. Techniki informatyczne

Struktura systemu operacyjnego. Opracował: mgr Marek Kwiatkowski

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

POSIX ang. Portable Operating System Interface for Unix

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX

Oprogramowanie Alternatywne

DZANIA I MARKETINGU BIAŁYSTOK,

Informatyka. informatyka i nauki komputerowe (computer science)

Systemy operacyjne. Wojciech Kwedlo Wydział Informatyki PB, p. 127 aragorn.pb.bialystok.pl/~wkwedlo

7. zainstalowane oprogramowanie zarządzane stacje robocze

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

System operacyjny. System operacyjny to program kontrolujący pracę komputera

KARTA MODUŁU KSZTAŁCENIA

Q E M U.

Transkrypt:

Spis treści Spis treści 1 Sprawy organizacyjne 1 2 Wprowadzenie 2 2.1 Co to jest System Operacyjny..................................... 2 2.2 Przykłady systemów operacyjnych.................................... 2 3 Historia Systemów Operacyjnych 4 3.1 Historia mechanizacji obliczeń...................................... 4 3.2 Historia Uniksa.............................................. 6 3.3 Linux................................................... 10 4 Systemy operacyjne 11 4.1 Cele i funkcje systemów opracyjnych.................................. 11 4.2 Typy systemów operacyjnych....................................... 12 1 Sprawy organizacyjne Prowadzacy i zasady zaliczenia Prowadzący: mgr inż. Wojciech Penar Kontakt: wojciech.penar@gmail.com Zaliczenie: Laboratorium laboratorium: aktywność + obecność + kolokwium? wykład: zaliczenie laboratorium + egzamin Instalacja systemu Linux Podstawy pracy w środowisku Unix/Linux Powłoka systemowa (sh) Oprogramowanie narzędziowe: find grep awk... Podstawy pisania programów współbieżnych: fork() semafory... 1

Rysunek 1: System operacyjny a system komputerowy 2 Wprowadzenie 2.1 Co to jest System Operacyjny Motto Wszystko, co można wynaleźć już wynaleziono 1899 Urząd Patentowy USA Potrzeby światowego rynku są nie większe niż 5 komputerów. 1943 Thomas Watson, założyciel IBM Definicja systemu operacyjnego System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w wygodny i wydajny sposób. Lokalizacja w systemie komputerowym (A. Silberschatz) 2.2 Przykłady systemów operacyjnych Rodzina systemów MS Windows Początkowo nakładka na MS DOS (do wersji 3.11) Linia systemów domowych (Windows) 2

Windows 95 Windows 98, Windows 98 OSR2 Windows ME Linia systemów profesjonalnych (Windows NT) Windows NT Windows 2000 Windows XP Windows 2003 Server Windows Vista Windows 2008 Server Windows 7 Rodzina systemów UNIX i pochodnych Unix i pochodne - ponad 200 GNU Unix Solaris HP-UX *BSD FreeBSD OpenBSD NetBSD Xenix GNU/Linux GNU/Hurd Rysunek 2: Logotypy systemów operacyjnych: Demon BSD, GNU, Pingwin - maskotka Linuksa 3

Inne MacOS QNX DOS BeOS CP/M Flex OS/2 3 Historia Systemów Operacyjnych 3.1 Historia mechanizacji obliczeń Liczydła Gdy palców brakło... 2000 p.n.e. Abak 500 p.n.e. Liczydło 1617 Pałeczki Nepera (Rysunek 3) 1632 Suwak Logarytmiczny (William Oughtred) (Rysunek 4) Rysunek 3: Pałeczki Nepera Maszyny mechaniczne A jednak się kręci... Mechanizacja obliczeń: 1623 Zegar Liczacy Wilhelma Schickarda (Rys. 5) 1641 Pascalina Blaise Pascala (Rys. 6) 1822 Charles Thomas de Colmar masowa produkcja 4

Rysunek 4: Suwak logarytmiczny 1840 Maszyna Analityczna Charles Babbage 1938 Bomba kryptologiczna Automatyzacja? Pozytywka, kurant 1725 Maszyna tkacka Basile Bouchona 1800 Maszyna tkacka Josepha-Marie Jacquarda Rysunek 5: Rekonstrukcja Zegara liczącego W. Schickarda Maszyny elektryczne Przekaźniki w służbie informatyki... 1937 Alan Turing Maszyna TuringaPodstawa koncepcji współczesnych komputerów 1936 Konrad Zuse pomysł adresowania pamięci i pamiętania programu 1938-1941 Konrad Zuse - Komputery elektromechaniczne V1, V2, V3 (przemianowane na Z1, Z2 i Z3 Rys. 7) 22 bitowe liczby zmiennoprzecinkowe 2600 przekaźników 5

Rysunek 6: Pascalina Komputery I generacji 1904 J. Fleming - Dioda 1906 Lee de Forest - Trioda 1918 Eccles, Jordan - przerzutnik 1939 John Athanasoff ABC pierwszy komputer elektroniczny 240 lamp Pamięć dynamiczna 1600 kondensatorów Częstotliwość pracy 60Hz 1943 Colossus II 2500lamp 1945 Eniac (Rys. 8, 9) 18800 lamp 30 ton wagi 140kW mocy 5000 dodawań na sekundę = 0,005 MIPS MTBF 0,5h(!) Generacje komputerów 3.2 Historia Uniksa Prehistoria Pierwsze maszyny liczące czysty sprzęt I Generacja 1951-1960 Lampy elektronowe II Generacja 1955-1965 Tranzystory III Generacja 1964-1975 Układy scalone IV Generacja 1974 -? Układy VLSI Do lat 50-tych rolę systemu operacyjnego pełni operator Jeden użytkownik Jeden program Program zadawany z użyciem kabli połączeniowych i przełączników 6

Rysunek 7: Zuse Z3 w Deutschen Museum w Monachium Starożytność 1966 Bell Labs (AT&T), MIT oraz GE rozpoczynają prace nad Multicsem (projekt porzucony w 1969r) 1969 Pierwsza wersja systemu Unix (AT&T) 1971 port Uniksa na nowy komputer PDP-11 1972 Unix Second Edition pojawia się potok (ang. pipe) PDP-11 Czasy nowożytne 1973 Unix Fourth Edition pierwszy system operacyjny napisany w C 1975 Unix Sixth Edition (Wersja Szósta) rozprowadzana nieodpłatnie w środowisku akademickim 1976 Lions Book najbardziej zakazana książka informatyczna pełny kod 6V z komentarzem 1977 1BSD pierwsze rozszerzenia Uniksa opublikowane przez Uniwersytet Kalifornijski (Berkley, UCB) 1979 Unix 7th Edition the last true Unix 1983 System V pierwsza wersja komercyjna Uniksa AT&T 1983 zamknięcie źródeł przez AT&T projekt GNU Narodziny Free Software Foundation Unix powoli przestaje być zabawką rozwijaną w ośrodkach akademickich, stając się produktem komercyjnym. Równolegle wokół projektu GNU zaczyna tworzyć się społeczność otwartego oprograwonia (Open Source). 7

Rysunek 8: Pokój operacyjny komputera ENIAC Czasy nowożytne różnorodność i standaryzacja 1980-1990 Każdy chce mieć swojego Uniksa: SCO Xenix, SGI IRIX, HP-UX, IBM AIX, NeXTStep, Sun OS... 1988-1989 Publikacja standardu POSIX.1 Powstaje konsorcjum Unix International i OSF SVR4 unifikacja System V, BSD i Xeniksa 1991 Linus Torvalds publikuje jądro systemu operacyjnego własnego autorstwa Linux 0.01 1993 Single Unix Specification Komercjalizacja Unixa wymusza pewną standaryzację, tak, by zapewnić przenośność oprogramowania (na poziomie kodu źródłowego) - zunifikowane API. System GNU ma wszystkie składniki poza jądrem. Rozwój jadra Linux pozwala na wykorzystanie go w tym systemie, co pociąga za sobą zintensyfikowanie rozwoju zarówno jądra ( Linuksa ) jak i systemu ( GNU ). Mimo to R. Stallman nie uznaje go za jądro systemu GNU jest nim Hurd. W sekcji 3.3 opisano rozróżnienie określeń Linux i GNU/Linux. Czasy nowożytne 1992 Novell wykupuje prawa do Uniksa od AT&T 1993-1994 Pierwsze poważne wstrząsy Wydanie 4.4BSD AT&T oraz Novell usiłują ukrócić darmowe udostępnianie kodu źródłowego BSD 8

Rysunek 9: Poszukiwanie spalonej lampy elektronowej wydane zostaje 4.4BSD-lite; UCB porzuca rozwój BSD powstaje NetBSD i FreeBSD Linux 1.0 powstają firmy RedHat i Caldera 1995 Novell sprzedaje SCO prawa do UnixWare Czasy współczesne 1996 The Open Group 1997 Single Unix Specification wersja 2 2000 Caldera przejmuje SCO 1997 Single Unix Specification wersja 3 2002 Udostępnienie rozwojowej gałęzi Uniksa przez SCO 2003 SCO wytacza proces firmie IBM, grozi dystrybutorom Linuksa... 2007 SCO ogłasza bankructwo... 9

Rysunek 10: Dennis Ritchie i Ken Thompson przy terminalach PDP-11 Dziś Istnieje ponad 200 różnych Uniksów Wiodące wersje otwarte - FreeBSD, NetBSD i OpenBSD Komercyjne: Solaris, HP-UX, AIX Linux klon Uniksa Wiele urządzeń wbudowanych opiera się na Uniksie lub Linuksie 3.3 Linux Historia 1991 Linus Torvalds publikuje zaczątek jądra 1993 Pierwsze dystrybucje Slackware i Debian 1994 Linux 1.0 RedHat 1995 Linux 1.2 1996 Linux 2.0 1999 Linux 2.2 2001 Linux 2.4 2003 Linux 2.6 2011 Linux 3.0 10

Garść pojęć Linux Jądro systemu operacyjnego GNU/Linux System operacyjny GNU z jądrem Linux GNU/Hurd System operacyjny GNU z jądrem Hurd Dystrybucja odmiana systemu GNU/Linux Debian Ubuntu Knoppix Slackware PLD Gentoo Red Hat Fedora CentOS Mandriva Suse Aurox Potoczne stwierdzenie Zainstalowałem sobie Linuksa oznacza, że zainstalowany został system GNU z jądrem Linux GNU/Linux. Jednocześnie Ubuntu, Debian i RedHat są różnymi dystrybucjami tego samego systemu. Równoległe wydania dystrybucji mogą się różnić doborem dostępnego oprogramowania i jego wersjami. Także inne systemy pozwalają na zmianę jądra np. wykorzystywane w przemyśle wersje Windows NT często mają zainstalowane jądro czasu rzeczywistego. 4 Systemy operacyjne 4.1 Cele i funkcje systemów opracyjnych Definicja systemu operacyjnego System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może wykonywać programy w wygodny i wydajny sposób. Definicja systemu operacyjnego (A. Silberschatz) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na efektywne współdzielenie urządzeń maszyny cyfrowej (Per Brinch Hansen) 11

Definicja systemu operacyjnego System operacyjny jest warstwą oprogramowania operującą bezpośrednio na sprzęcie, której celem jest zarządzanie zasobami systemu komputerowego i stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia i wykorzystania. Cele realizowane przez system operacyjny Zapewnienie wygody użytkowania uruchamianie programów użytkownika operacje na systemie plików Zapewnienie wydajnej eksploatacji systemu zarządzanie wykorzystaniem zasobów sterowanie wykonaniem programów użytkownika (Andrew Tanenbaum) Za chwilę przekonamy się, że w różnych systemach różnie rozkłada się akcent między wygodnie i wydajnie. Typowy system operacyjny do stosowania na komputerze w domu czy w biurze ma być przyjazny dla użytkownika i cieszyć oko (GUI, efekty pulpitu... ). Typowy system serwerowy będzie pozbawiony GUI (aczkolwiek mogą istnieć graficzne narzędzia do administracji nim), aby w pełni produktywnie wykorzystać zasoby pamięć oraz czas procesora. 4.2 Typy systemów operacyjnych Systematyka systemów operacyjnych Systemy komputerów głównych Systemy wsadowe Systemy wieloprogramowe Systemy z podziałem czasu Systemy biurkowe Systemy wieloprocesorowe Wieloprzetwarzanie symetryczne (SMP) Wieloprzetwarzanie asymetryczne Systemy rozproszone klient-serwer peer-to-peer Systemy zgrupowane (klastrowe) Systemy czasu rzeczywistego Systemy wbudowane (kieszonkowe) 12

Systemy komputerów głównych Komputery główne mainframe Pierwsze systemy komputerowe wykorzystywane komercyjnie składały się z szeregu szaf (ang. frame). Rama główna mieściła CPU. Dziś termin ten bywa odnoszony do systemów komputerowych charakteryzujących się stosunkowo niewielką mocą obliczeniową i bardzo dużymi przepustowościami. Pierwotnie programowane z użyciem kart lub taśm perforowanych Pierwotnie brak interakcji z użytkownikiem wyjście w postaci wydruku, kart lub taśm perforowanych. Systemy Wsadowe Historycznie najstarsze. Użytkownik dostarczał operatorowi program, po pewnym czasie odbierał wyniki. Operator grupował programy formując wsad, a następnie uruchamiał tak przygotowany zestaw zadań. Zadania były realizowane sekwencyjnie po zakończeniu jednego zadania, system automatycznie przechodził do następnego. Po wykonaniu zadań wyniki były udostępniane użytkownikom. Termin praca wsadowa przetrwał do dziś skrypty powoki, pliki *.bat, zautomatyzowane przetwarzanie danych. Systemy Wsadowe Z punktu widzenia użytkownika: 1. Przygotowanie programu (na papierze). 2. Przygotowanie kart perforowanych lub taśm papierowych (program, dane). 3. Dostarczenie kart z programem do ośrodka obliczeniowego. 4. Oczekiwanie na wyniki. 5. Jeśli programu nie udało się uruchomić poszukiwanie błędów. Systemy Wsadowe Istotne wady: Użytkownik był nieobecny w trakcie wykonywania programu: Brak możliwości interakcji z programem. Wynikiem był także raport o błędach. Ograniczone możliwości debugowania. W czasie trwania operacji we/wy jednostka centralna oczekiwała na ich zakończenie. Jednostki centralne wykonywały kilka tysięcy operacji na sekundę. Najszybsze czytniki kart perforowanych osiągały prędkość około 20 kart/sek. Marnowano czas drogiego urządzenia aspekt finansowy 13

Dygresja Debugowanie Słowa bug (ang. pluskwa, owad, robactwo) na określenie błędu/usterki pierwszy T. Edison już w 1878 roku. Do żargonu informatycznego weszło w 1947 roku, gdy przyczyną trudności w uruchomieniu komputera Harvard Mark II była ćma w jednym z przekaźników. Proces naprawy komputera został opisany jako debugging (ang. odrobaczanie, odpluskwianie) dziś termin ten oznacza poszukiwanie usterek w systemie informatycznym. Systemy Wieloprogramowe Podobnie jak w systemie wsadowym uruchamiana jest pula zadań. System operacyjny wczytuje pewien podzbiór zadań do pamięci operacyjnej i rozpoczyna realizację pierwszego z nich, aż do momentu zainicjowania operacji we/wy. W czasie trwania operacji we/wy system realizuje następne (gotowe do wykonania) zadanie z podzbioru. Po dotarciu do ostatniego zadania w podzbiorze system powraca do pierwszego (gotowego do dalszej realizacji). W miejsce zakończonych zadań ładowane są z pamięci masowej następne. Systemy Wieloprogramowe Rośnie złożoność systemu: wybór zadań do wykonania szeregowanie zadań wybór zadania do realizacji ochrona pamięci Pojawia się możliwość interakcji z użytkownikiem Nowy problem: dialog z użytkownikiem także jest operacją we/wy: Dobra maszynistka osiąga około 7 znaków/s w tym czasie system przechodzi do realizacji następnego zadania. Kiedy system podejmie zadanie przerwane zadanie? Kiedy w ogóle zadanie trafi do wykonania? Systemy Z Podziałem Czasu Udoskonalenie systemów wieloprogramowych: System automatycznie przełącza się między zadaniami na tyle szybko, by zapewnić sensowną interakcję z użytkownikami Jako akceptowalny uważa się czas reakcji rzędu 1s Wielozadaniowość Pojawia się pamięć wirtualna użytkownik (program) widzi pamięć jako spójny blok programista nie musi już zajmować się zarządzaniem pamięcią - robi to system operacyjny program może wykorzystywać więcej pamięci niż jest jej fizycznie w systemie (swap, przestrzeń wymiany) Dziś najpopularniejsza klasa systemów 14

Systemy Biurkowe Systemy operacyjne komputerów osobistych Pierwotnie pozbawione mechanizmów ochrony pamięci oraz ochrony systemu plików brak wielodostępności tylko jeden użytkownik brak wielozadaniowości uruchomiony jeden program mechanizmy ochrony były zbędne Pierwotnie tekstowy interfejs użytkownika Głównym zadaniem było załadowanie programu użytkownika Systemy Biurkowe Dziś Liczy się wygoda użytkowania: przyjazny interfejs użytkownika (GUI) szybki czas reakcji Wydajność nie jest priorytetem Dziś w większości systemy z podziałem czasu (wielozadaniowe) Często wielodostepne (Linux, niektóre wersje Windows) Coraz częściej wspierają architektury wieloprocesorowe Systemy Wieloprocesorowe Systemy ściśle powiązane wspólny zegar i szyna systemowa często wspólna pamięć i zasoby sprzętowe ścisła współpraca Zalety z posiadania większej ilości CPU: wzrost wydajności obniżenie kosztów skalowalność zwiększona niezawodność Powiązane z architekturą sprzętu wieloprzetwarzanie symetryczne wieloprzetwarzanie asymetryczne równoległe wykonywanie tych samych operacji 15

Wieloprzetwarzanie Symetryczne Wiele jednakowych procesorów Pierwotnie na każdym procesorze niezależna kopia systemu operacyjnego Dziś system operacyjny zarządza przydziałem zadań i dostępem do zasobów Najpopularniejsza grupa systemów wieloprocesorowych Dziś spotykane także w komputerach osobistych Wieloprzetwarzanie Asymetryczne Przesłanki dla przetwarzania asymetrycznego: architektura sprzętowa (procesory specjalizowane) architektura systemu operacyjnego Pierwotnie rozbudowane sterowniki urządzeń traktowano jako procesory specjalizowane Obecnie występowanie kontrolerów dysków twardych, klawiatury itp. nie jest uważane za wieloprzetwarzanie Obecnie rzadziej spotykane Ciekawostka SunOS 4 na komputerach Sun realizował przetwarzanie asymetryczne. SunOS 5 (Solaris 2) na tym samym sprzęcie był już symetryczny. Systemy Rozproszone Systemy luźno powiązane oddzielne komputery wymiana komunikacji poprzez sieć każdy uczestnik jest autonomiczny Architektura klient serwer serwer udostępnia usługi i pełni rolę nadrzędną klient zapewnia użytkownikowi interfejs do korzystania usług serwera np. serwery obliczeniowe, serwery plików Architektura peer-to-peer brak wyróżnionych węzłów środowiska obliczeniowe sieci P2P 16

Systemy Zgrupowane (Klastrowe) Systemy średnio powiązane oddzielne procesory, pamięć operacyjna, zegary współdzielone systemy plików Łączą zalety systemów wieloprocesorowych i rozproszonych odporność na awarię wysoka wydajność Wsparcie nadmiarowości (redundancji) Wymusiły rozwój nowych rozwiązań pamięci masowych SAN (Storage Area Networks) Systemy Czasu Rzeczywistego Ograniczenia na czas odpowiedzi lub wykonywania operacji twarde (rygorystyczne) czas nieprzekraczalny specjalizowane bardzo mocno uproszczone ściśle określone zależności czasowe ważny jest najgorszy możliwy przypadek głównie systemy przemysłowe np. sterownik ABS/ESP/silnika miękkie (łagodne) system stara się zdążyć ograniczenia na poziomie średnich czasów wykonania implementowane w większości popularnych SO np. systemy multimedialne Uwaga! Termin czas rzeczywisty nie oznacza natychmiastowości a jedynie determinizm! Systemy Wbudowane Najbardziej rozpowszechniona grupa telefony komórkowe PDA, tablety odtwarzacze DVD aktywne urządzenia sieciowe komputery sterujące pracą silnika, itp. Skromne zasoby mała pamięć operacyjna wolny procesor ograniczone możliwości komunikacyjne ograniczona pojemność baterii Silnie związane ze sprzętem W zastosowaniach przemysłowych często systemy czasu rzeczywistego 17