Pobierz PODZIAŁY SYSTEMÓW i więcej Notatki w PDF z Informatyka tylko na Docsity! 1 | S t r o n a PODZIAŁY SYSTEMÓW Ze względu na interfejs (czyli sposób komunikowania się z użytkownikiem) systemy operacyjne dzielimy na: - tekstowe (DOS, UNIX/Linux) - graficzne (Windows, UNIX/Linux, MacOS) Innym kryterium podziału systemów operacyjnych jest ilość możliwych do uruchomienia w tym samym czasie programów. Mówimy wtedy o systemach: - jednozadaniowych – jeden proces w tym samym czasie (DOS), - wielozadaniowych – wiele procesów w tym samym czasie (Windows, UNIX/Linux, MacOS, Novell NetWare) Jak widać większość z dzisiejszych systemów operacyjnych jest wielozadaniowa. Cecha ta pozwala Użytkownikowi wielozadaniowego systemu operacyjnego na np. jednoczesne przeglądanie stron internetowych, słuchanie muzyki i drukowanie dokumentów. W systemie jednozadaniowym, aby uruchomić nowy program należało zakończyć działanie poprzedniego. Kolejnym kryterium podziału systemów operacyjnych może być jego przeznaczenie, czyli gdzie i do czego będzie wykorzystywany. W tym przypadku możemy wyszczególnić trzy podstawowe kategorie: - zastosowania domowe/biurowe (Windows XP Home, Linux, MacOS) - stacja robocza w sieci komputerowej (Windows 2000/XP Professional, UNIX/Linux) - serwer w sieci komputerowej (Windows 2000/2003 Server, UNIX/Linux, Novell NetWare) Z kolei pod względem architektury systemy operacyjne dzielimy na: · monolityczne - o najprostszej strukturze i jednozadaniowe, czyli gdy system może jednocześnie wykonywać tylko jedno zadanie · warstwowe - o hierarchicznej strukturze poleceń systemowych, system może już wykonywać w tym samym czasie kilka poleceń · klient- serwer - o bardzo rozbudowanej strukturze, gdzie serwery pełnią nadzór nad podrzędnymi systemami zainstalowanymi w poszczególnych komputerach sieci; Ze względu na typ jądra: jądro monolityczne - często stosowane w systemach typu Unix. Wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra. Przykładami takiego jądra mogą być: Linux, OpenBSD, FreeBSD, chociaż większość posiada 2 | S t r o n a umiejętność dołączania i odłączania modułów (najczęściej zawierających kod sterownika urządzenia lub obsługi potrzebnego w danej chwili systemu plików). Zaletą tej techniki jest prostota, stabilność[potrzebne źródło], łatwość komunikacji pomiędzy różnymi członami jądra (jedna przestrzeń adresowa). Wadą jest, w późniejszym stadium rozwoju projektu, uciążliwość w rozwijaniu programu oraz w znajdywaniu błędów[potrzebne źródło]. Mikrojądro (ang. microkernel) to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie jak funkcje zarządzania wątkami, komunikacją międzyprocesową, oraz obsługą przerwań i wyjątków. Wszelkie inne zadania, takie jak np. obsługa systemów plików, sieci, sprzętu realizowane są w przestrzeni użytkownika przez osobne serwery. Dobrymi przykładami systemów operacyjnych opartych na mikrojądrze są Amoeba, QNX, BeOS , Haiku czy Hurd, mikrojądrami są także (używane w Hurdzie) Mach i L4. Firma Microsoft pracuje nad własnym rozwiązaniem tego typu w projekcie Singularity. Model komunikacji jądra hybrydowego z aplikacjami. jądro hybrydowe - kompromis między architekturą jądra monolitycznego i mikrojądra. W krytycznych usługach - np. stos sieci - usługi są na stałe wkompilowane w główny kod jądra, inne usługi pozostają oddzielone od głównego jądra i działają jako serwery (w przestrzeni jądra). Dzięki temu rozwiązaniu możliwe jest zachowanie wydajności jądra monolitycznego dla kluczowych usług. Klasyfikacja ta budzi kontrowersje niektórych programistów. Microsoft, MacOS POJĘCIA - SYSTEMY OPERACYJNE API - Zbiór poleceń, za pomocą których programista wykorzystuje różne funkcje systemu operacyjnego lub uzyskuje od niego informacje. Część z tych poleceń można stworzyć samemu od podstaw (możliwość skorzystania z gotowych oszczędza jednak wiele pracy), ale istnieje także wiele poleceń API, których nie można zastąpić innymi. API na przykład pozwala bardzo szybko tworzyć graficzny interfejs użytkownika (GUI). Polecenia API są także zalecanym sposobem komunikowania się z urządzeniami, np. z drukarką. Od ang. Application Programming Interface - interfejs programowania aplikacji. Wielozadaniowość - cecha systemu operacyjnego, która pozwala uruchomić i wykorzystywać więcej niż jedną aplikację w tym samym czasie. Można więc jednocześnie np. kopiować pliki, drukować na drukarce i dokonywać obliczeń w arkuszu kalkulacyjnym. Wielozadaniowość z wywłaszczaniem - W trybie wielozadaniowości z wywłaszczaniem system decyduje, jak długo aplikacja korzysta z procesora i gdy ten czas upływa, przekazuje kontrolę nad nim kolejnej aplikacji (poprzednia zostaje wywłaszczona). W ten sposób zawieszony program nie może zawiesić całego systemu. Z wielozadaniowości z wywłaszczaniem korzystają systemy: OS/2, Windows 9x, Windows NT, Linux, UNIX. Jądro systemu (kernel) - Najważniejszy komponent każdego systemu operacyjnego, wykonuje podstawowe operacje takie jak uruchamianie programów, przyznawanie zasobów