System Operacyjny Zajęcia 4 System Operacyjny (OS) System operacyjny (z ang. skrót OS - Operating System) – to oprogramowanie zarządzające sprzętem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika. W celu uruchamiania i kontroli zadań użytkownika System Operacyjny zajmuje się: • planowaniem oraz przydziałem czasu procesora poszczególnym zadaniom, • kontrolą i przydziałem pamięci operacyjnej dla uruchomionych zadań, • dostarcza mechanizmy do synchronizacji zadań i komunikacji pomiędzy zadaniami, • obsługuje sprzęt oraz zapewnienia równolegle wykonywanym zadaniom jednolity, wolny od interferencji dostęp do sprzętu. Dodatkowe przykładowe zadania, którymi może ale nie musi zajmować się System Operacyjny to: •ustalanie połączeń sieciowych, •zarządzanie plikami. Wiele Systemów Operacyjnych posiada środowiska graficzne ułatwiające komunikacje maszyny z użytkownikiem. System Operacyjny jako interfejs pomiędzy maszyną a człowiekiem Budowa Systemu Operacyjnego Przyjęto podział na trzy główne elementy budowy Systemu Operacyjnego: • jądro systemu wykonujące i kontrolujące ww. zadania. • powłoka – specjalny program komunikujący użytkownika z systemem operacyjnym, • system plików – sposób zapisu struktury danych na nośniku. Jądro składa się z następujących elementów funkcjonalnych: • planisty czasu procesora, ustalającego które zadanie i jak długo będzie wykonywane, • przełącznika zadań, odpowiedzialnego za przełączanie pomiędzy uruchomionymi zadaniami,. Dodatkowo: • modułu zapewniającego synchronizacje i komunikację pomiędzy zadaniami, • modułu obsługi przerwań i zarządzania urządzeniami, • modułu obsługi pamięci, zapewniającego przydział i ochronę pamięci. • innych zależnie od funkcji i przeznaczenia systemu. Podział systemów operacyjnych Pod względem sposobu komunikacji z użytkownikiem: • systemy tekstowe - komunikujące się za pomocą wydawanych z linii poleceń komend • systemy graficzne - komunikujące się za pomocą graficznych okienek i symboli (ikon). Obsługa komputera polega na manipulowaniu za pomocą kursora myszy lub klawiszami, symbolami które odpowiadają określonym zadaniom Pod względem planowania i przydziału czasu procesora poszczególnym zadaniom: • system operacyjny czasu rzeczywistego • systemy operacyjne czasowo niedeterministyczne Ze względu na sposób realizacji przełączania zadań: • systemy z wywłaszczaniem zadań • systemy bez wywłaszczania zadań Ze względu na rodzaj osadzenia: • otwarte systemy operacyjne • wbudowane systemy operacyjne Pod względem środowiska użytego do implementacji systemu: • programowe • sprzętowe Zadanie 1 Znajdź po jednym przykładzie Systemu Operacyjnego do każdej z powyżej wskazanych grup. Zasoby sprzętowe zarządzane przez System Operacyjny Procesor •przydział czasu procesora Pamięć • alokacja przestrzeni adresowej dla procesów • transformacja adresów Urządzenia zewnętrzne • udostępnianie i sterowanie urządzeniami pamięci masowej np. dysk twardy • alokacja przestrzeni dyskowej • udostępnianie i sterowanie drukarkami, skanerami, aparatami itp. Informacja (system plików) • organizacja i udostępnianie informacji • ochrona i autoryzacja dostępu do informacji Szczegóły zarządzania zasobami przez OS Zarządzanie procesem – proces to program w stanie uruchomionym, każdy proces wymaga przydziału pewnych zasobów, włączając w to czas procesora, pamięć, pliki oraz urządzenia wejścia/wyjścia, aby w pełni wykonać swoje zadanie. System operacyjny jest odpowiedzialny w fazie zarządzania procesami za: • tworzenie i usuwanie procesu, • wstrzymywanie i przywracanie procesu, • zapewnienie mechanizmów pozwalających na synchronizację procesów oraz komunikację między procesami. Zadanie 2 Sprawdź pod Windows wszystkie aktualnie uruchomione procesy. Szczegóły zarządzania zasobami przez OS Zarządzanie pamięcią operacyjną – pamięć to duża tablica słów lub bajtów, każda z własnym adresem, pamięć jest szybko dostępna i dzielona jest pomiędzy procesor oraz urządzenia wejścia/wyjścia. Pamięć główna jest ulotnym miejscem przechowywania danych, traci swoją zawartość w czasie awarii systemu. System operacyjny jest odpowiedzialny w fazie zarządzania pamięcią za: • utrzymywanie informacji która część pamięci jest aktualnie używana i przez kogo, • decydowania który proces powinien zostać wczytany do pamięci jeżeli pamięć jest wolna, • przydzielanie i zwalnianie pamięci. Zadanie 3 Sprawdź pod Windows pamięć zużywaną przez procesy. Szczegóły zarządzania zasobami przez OS Zarządzanie plikami – plik jest zbiorem informacji zdefiniowanym przez twórcę pliku. Zazwyczaj, pliki reprezentują programy (źródła programów lub pliki wykonywalne) oraz dane. System operacyjny jest odpowiedzialny w fazie zarządzania plikami za: • tworzenie i kasowanie plików, • tworzenie i kasowanie katalogów, • wsparcie dla użytkowników końcowych przy operacjach na plikach, • mapowanie plików na nośniku danych, • tworzenie kopii plików. Zadanie 4 Sprawdź pod Windows jak podzielone są dyski przy komputerze na którym aktualnie pracujesz i jaki system plików jest tam zainstalowany. Przykłady OS - DOS DOS (z ang. Disk Operating System), pierwszy przenośny system operacyjny OS komputerów PC i mikrokomputerów lat 80. rezydujący nad BIOSem, zawierający m.in. rozszerzenia programowe procedur sprzętowych BIOSu i interpreter komend. DOS zawiera niektóre doświadczenia systemu klasy CP/M. Przykłady OS - Windows Microsoft Windows (z ang. okna) – rodzina kilku systemów operacyjnych wyprodukowanych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone. Prezentację pierwszego graficznego środowiska pracy z rodziny Windows Microsoft przeprowadzono w listopadzie 1985. Wówczas była to graficzna nakładka na system operacyjny MS-DOS, powstała w odpowiedzi na rosnącą popularność graficznych interfejsów użytkownika takich, jakie prezentowały na przykład komputery Macintosh. Nakładka, a później system operacyjny Windows po pewnym czasie zdominowała światowy rynek komputerów osobistych. W marcu 2009 systemy z rodziny Microsoft Windows były zainstalowane na 88,14% komputerów na świecie. Przykłady OS - Linux Linux – rodzina uniksopodobnych systemów operacyjnych opartych o jądro Linux. Linux jest jednym z przykładów wolnego i otwartego oprogramowania: jego kod źródłowy może być dowolnie wykorzystywany, modyfikowany i rozpowszechniany. Pierwsza wersja jądra Linux została udostępniona publicznie 17 września 1991 dla architektury komputera PC, wykorzystującej mikroprocesor o architekturze IA-32. Do jądra dołączono narzędzia systemowe i biblioteki z projektu GNU aby otrzymać nadający się do użytku system operacyjny. Z tego powodu powstała też alternatywna nazwa kompletnego systemu: GNU/Linux. Obecnie jest on udostępniany w formie licznych dystrybucji Linuksa, które składają się z jądra (niekiedy zmodyfikowanego w stosunku do oficjalnej wersji) i zestawu pakietów oprogramowania dobranego do różnorodnych wymagań. Dystrybucje zawierają głównie oprogramowanie na licencjach FLOSS, jednak najczęściej zawierają też lub pozwalają na łatwe doinstalowanie pewnej liczby programów na licencjach własnościowych. Najbardziej znanym zastosowaniem Linuksa są środowiska serwerowe, dla których komercyjne wsparcie oferują również duże firmy komputerowe jak IBM, Sun Microsystems, Dell, Hewlett-Packard, Red Hat i Novell. Linux działa na szerokiej gamie sprzętu komputerowego, wliczając komputery biurkowe, superkomputery i systemy wbudowane, takie jak telefony komórkowe i routery. Przykłady OS – Mac OS X Mac OS X - złożony system operacyjny dla komputerów Macintosh opracowany w roku 2000 w amerykańskiej firmie Apple Inc. X w nazwie oznacza 10. wersję systemu Mac OS, jednak Mac OS X jest systemem o całkowicie odmiennej budowie niż poprzednie wersje Mac OS. Praca domowa: 1. Dowiedź się jak najwięcej o systemie operacyjnym QNX? 2. Czy proces i zadanie to to samo? 3. Dowiedz się czym jest Google Chrome OS?