Budowa systemu komputerowego SO
System komputerowy System komputerowy to układ współdziałających ze sobą dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software).
Warstwy systemu komputerowego Struktura systemu komputerowego podzielona jest na warstwy. Każda z warst realizuje odmienne zadanie. Wyróżnia się: warstwę sprzętową, system operacyjny, programy narzędziowe, programy użytkowe, użytkownicy.
Warstwa sprzętowa Warstwa sprzętowa zapewnia podstawowe możliwości obliczeniowe. Zestaw komputerowy składa się z: jednostki centralnej (płyta główna, procesor, pamięci, karta grafiki, pamięci masowe), urządzeń wejścia (mysz, klawiatura), urządzeń wyjścia (monitor, drukarka).
Oprogramowanie systemowe Kontroluje i koordynuje użycie zasobów sprzętowych przez różne programy użytkowe.
Oprogramowanie narzędziowe Wspomaga zarządzanie zasobami sprzętowymi przez dogodne interfejsy użytkowe oraz usprawnia i modyfikuje oprogramowanie systemowe. (defragmentator dysku, oczyszczanie dysku, programy do czyszczenia rejestru itp.)
Oprogramowanie użytkowe Określa sposób, w jaki zostają użyte zasoby systemowe do rozwiązywania problemów obliczeniowych zadanych przez użytkownika (kompilatory, systemy baz danych, gry, oprogramowanie biurowe).
Użytkownicy Ludzie, urządzenia, inne komputery, które mają bezpośredni kontakt z oprogramowaniem użytkowam, realizujące różne zadania za pomocą programów użytkowych na sprzęcie komputerowym pod nadzorem systemu operacyjnego.
Warstwy systemu komputerowego
System operacyjny OS To program lub układ wielu programów umożliiający komunikację między warstwą sprzętową a użytkownikiem. Jest też środowiskiem, w którym użytkownik może uruchamiać potrzebne aplikację. W wielu systemach ważnym elementem jest graficzny interfejs użytkownika (Graphical User Interface).
Podział ze względu na system komunikacji z użytkownikiem systemy tekstowe – np. DOS systemy graficzne – np. Windows, Linux
Warstwy systemu operacyjnego jądro – warstwa odpowiedzialna za wykonywanie podstawowych zadań systemu operacyjnego; powłoka – specjalny program, który służy do komunikacji użytkownika z zystemem operacyjnym; system alokacji plików – warstwa odpowiedzialna za sposób organizacji i zapisu danych na nośniku.
Podział ze względu na archiotekturę systemu operacyjnego Jądro monolityczne - stablilność, prostota, łatwość komunikacji między różnymi modułami jądra, trudność w rozwijaniu programu oraz wykrywaniu błędów (Linux, OpenBSD – Unix) Mikrojądro – wykonuje mniej zadań niż jądro monolityczne i odpowiada za podstawowe funkcje niezbędne do pracy systemu operacyjnego. Bardziej złożone zadania są wykonywane przez specjalne bloki funkcjonalne lub jako zwykłe procesy w trybie użytkownika.
Podział ze względu na archiotekturę systemu operacyjnego Jądro hybrydowe – łączy ono w sobie cechy obydwu powyższych jąder. Podstawowe funkcje niezbędne do pracy systemu operacyjnego działają w trybie jądra, pozostałe również tylko z zmniejszym priorytetem. Dzięki temu zachowana jest stabliność jądra monolitycznego do najważniejszych zadań. (Windows)
Cechy jądra systemu operacyjnego Wielozadaniowość – możliwość równoczesnego uruchaminia wielu procesów (programów i aplikacji); Wielowątkowość – w ramach jednego procesu wykonywanie kilku niezależnych wątków;
Cechy jądra systemu operacyjnego Skalowalność – możliwość rozwoju lub miniaturyzacji sprzętu; Wywłaszczalność – zdolność jąda do wstrzymania aktualnie wykonywanego zadania, aby umożliwić działanie innemu (dzięki temu zawieszenie jednego procesu nie powoduje blokady całego systemu)
Najważniejsze cechy decydujące o użyteczności systemu łatwość instalacji i użytkowania systemu współegzystencja z innymi systemami (wymiana danych w sieci, odczyt i zapis na partycjach innych systemów) zgodność sprzętowa (sterowniki itp.) wymiana danych (dokumenty) przystosowanie do pracy w Internecie (protokoły)
Najważniejsze cechy decydujące o użyteczności systemu dostępne oprogramowanie lokalizacja ( dostęp do języka narodowego )