INFORMATYKA JEBANA K2 Flashcards
Składowe systemu komputerowe
- Sprzęt komputerowy
- CPU
- pamięć operacyjna
- magistrale systemowe
- urządzenia wejścia/wyjścia - System operacyjny
- Programy
- systemowe
- aplikacje użytkowników - Użytkownicy
System operacyjny - definicja
- program lub zestaw programów, które pośredniczą między użytkownikami i ich programami i sprzętem komputerowym
- administrator zasobów systemu komputerowego
- program sterujący wykonaniem innych programów
Podstawowe cele systemu operacyjnego
- wykonywanie programów użytkowników
- zapewnienie wygodnej pracy użytkownikom
- efektywne zarządzanie zasobami systemu komputerowego
system operacyjny jako interfejs
postrzega on system komputerowy jako zbiór aplikacji
- Programy użytkowe (Edytor, WWW browser, player)
- SO (bibliteki narzędzia)
- Sprzęt wykonujący
Budowa systemu operacyjnego
System operacyjny składa się z dwóch części:
- Jądra systemu operacyjnego
- zawiera podstawowy kod systemu operacyjnego, niezbędny do jego działania
- jądro lub jego rdzeń stale znajduje się w pamięci operacyjnej - Programy systemowe
- świadczą różne usługi systemowe i ułatwiają pracę użytkownikom
Działanie systemu operacyjnego
- Kod systemu operacyjnego wykonywany jest przez procesor naprzemiennie z kodem programów użytkowych
- Może się to odbywać szeregowo lub równolegle w zależności od zasobów sprzętowych
- System nie sprawuje więc stałej kontroli nad systemem komputerowym a jedynie okresowo przejmuje sterowanie aby wykonać niezbędne zadania systemowe
Działanie systemu operacyjnego (tryby i rozkazy)
Dualny tryb pracy systemu - tryb użytkownika wykonywany jest kod programu użytkownika - tryb systemu (monitora, jądra) wykonywany jest kod systemu tryb uprzywilejowany bit trybu procesora 2.Rozkazy uprzywilejowane - wykonywane tylko w trybie systemu - wywołania systemowe, funkcje systemowe
Co to jest proces?
Proces:
- program w trakcie wykonania
- egzemplarz programu działającego na komputerze
- obiekt któremu można przydzielić procesor w celu wykonania
- jednostka aktywności charakteryzująca się sekwencyjnym wątkiem wykonania, przydzielonymi zasobami systemu i stanem działania
Cechy współczesnych systemów operacyjnych
- Wieloprogramowość
- Wielozadaniowość
- Wieloprzetwarzanie
1. symetryczne
2. asymetryczne - przetwarzanie w czasie rzeczywistym
- przetwarzanie rozproszone
- wirtualizacja
1. pamięć wirtualna
2. wirtualny system plików VFS
Wieloprogramowość - definicja
Wieloprogramowość:
- możliwość jednoczesnego uruchamiania i przechowywania w pamięci operacyjnej wielu procesów
- przełączanie pomiędzy procesami następuje, gdy proces wykonywany zakończy lub zamówi operację wejścia - wyjścia
Wielozadaniowośc - definicja
Wielozadaniowość:
- możliwość współbieżnego wykonywania wielu procesów z podziałem czasu procesora
- przełączanie pomiędzy poszczególnymi zadaniami odbywa się w regularnych odstępach czasu, na tyle często że wszyscy użytkownicy mają możliwość pracy interakcyjnej
Wieloprzetwarzanie (multiprocessing)
- możliwość współbieżnego wykonywania procesów przez wiele procesorów w jednym systemie komputerowym
- w wieloprocesorowym systemie komputerowym, czyli systemie ściśle powiązanym, procesory współdzielą pamięć, zegar i szyny systemowe
Wieloprzetwarzanie symetryczne
- występuje w sytuacji, gdy żaden procesor nie jest wyróżniony i wszystkie mogą wykonywać takie same zadania
Wieloprzetwarzanie asymetryczne
- występuje w sytuacji gdy wyróżniony procesor główny zarządza całym systemem i przydziela zadania innym procesorom
wielowątkowość
- możliwość podziału procesu na kilka oddzielnych wątków wykonania programu, które moga być wykonywane równolegle
- w systemie wieloprocesorowym wątki będą wykonywane równolegle przez wiele procesorów lub rdzeni
- w systemie jednoprocesorowym wątki będą wykonywane współbieżnie z podziałem czasu
przetwarzanie w czasie rzeczywistym
- możliwość wykonywania procesów przy ściśle określonych ograniczeniach czasowych
Rygorystyczny system czasu rzeczywistego zapewnia wypełnianie krytycznych zadań (procesów) w gwarantowanym czasie
Łagodny system czasu rzeczywistego zapewnia krytycznym procesom jedynie najwyższy priorytet wykonania, ale nie gwarantuje czasu wykonania
przetwarzanie rozproszone
- możliwość współbieżnego wykonywania procesów przez wiele procesorów w systemie rozproszonym
- w rozproszonym systemie komputerowym, czyli luźno powiązanym, procesory nie dzielą pamięci ani zegara
- każdy procesor dysponuje własną pamięcią lokalną i może komunikować się z innymi procesorami poprzez sieć komunikacyjną
Wirtuallizacja
pamięć wirtualna
- możliwość wykonywania procesów, które nie są w całości przechowywane w pamięci operacyjnej systemu
- rozmiar procesu może przekraczać rozmiar fizycznej pamięci operacyjnej
Wirtualny system plików VFS
- możliwość obsługi różnych typów rzeczywistych systemów plików i dostępu do nich za pomocą jednolitego interfejsu funkcji i programów systemowych
Maszyny wirtualne
- możliwość uruchamiania programów w różnych systemach operacyjnych w jednym systemie komputerowym
Składniki systemu operacyjnego
Każdy system operacyjny realizuje wiele zadań. Najważniejsze składniki systemu odpowiadają za: - Zarządzanie procesami - Zarządzanie pamięcią operacyjną - Zarządzanie plikami - Zarządzanie systemem wejścia-wyjścia - Zarządzanie pamięcią pomocniczą - Pracę sieciową - System ochrony - System interpretacji poleceń
Zarządzanie procesami
Zadania systemu w zakresie zarządzanie procesami obejmują:
- tworzenie i usuwanie procesów
- wstrzymywanie i wznawianie procesów
- planowanie procesów
- dostarczanie mechanizmów komunikacji procesów
- dostarczanie mechanizmów synchronizacji procesów
- zapobieganie, wykrywanie i usuwanie zakleszczeń
Zarządzanie pamięcią
Przed wykonaniem, kod programu i jego dane muszą być
umieszczone w całości (lub przynajmniej częściowo) w pamięci
operacyjnej. Zarządzanie tą pamięcią stanowi jedno z głównych
zadań systemu operacyjnego.
Celem zarządzania pamięcią operacyjną jest:
- przydział pamięci fizycznej poszczególnym procesom
- odwzorowanie logicznej przestrzeni adresowej procesu na
fizyczną przestrzeń adresową pamięci - ochrona zawartości pamięci
- współdzielenie obszarów pamięci przez różne procesy
Zarządzanie systemem plików
System operacyjny powinien realizować następujące zadania:
- tworzenie i usuwanie plików i katalogów
- udostępnianie podstawowych operacji na plikach i katalogach
- ochrona plików
- odwzorowanie plików w pamięci operacyjnej
- przechowywanie plików na urządzeniach pamięci masowej
Zarządzanie systemem wejścia/wyjścia
Zakres zadań systemu obejmuje:
- programy obsługi urządzeń wejścia wyjścia
- realizację operacji wejścia wyjścia
1. buforowanie
2. przechowywanie podręczne
3. spooling
Zarządzanie pamięcią pomocniczą
Pamięć masowa służy do długoterminowego przechowywania
danych, do implementacji pamięci wirtualnej:
- montowanie i odmontowanie systemów plików
- alokacja pamięci pomocniczej
- zarządzanie wolną przestrzenią na nośnikach pamięci masowej
- partycjonowanie pamięci masowej
- ochrona
Usługi systemu operacyjnego
System operacyjny świadczy różnorodne usługi użytkownikom oraz
uruchamianym przez nich programom:
- interfejs użytkownika - tekstowy (CLI), graficzny (GUI), dotykowy - wykonywanie programów - operacje wejścia-wyjścia - manipulowanie systemem plików - komunikacja - wykrywanie błędów
Usługi świadczone dla samego systemu operacyjnego
- przydzielanie zasobów
- rozliczanie czasu (i ewentualnie kosztów) pracy programów i
użytkowników
- ochrona
Interfejsy programowe
System operacyjny udostępnia dwa interfejsy programowe:
1) Interfejs funkcji systemowych
interfejs między programami a jądrem s.o.
umożliwiają programom korzystanie z usług jądra i sprzętu
komputerowego bez naruszania bezpieczeństwa systemu
2) Interfejs programów systemowych
interfejs użytkownika
umożliwiają użytkownikom wykonywanie typowych operacji
dotyczących manipulowania plikami, przetwarzania ich
zawartości, tworzenia i wykonywania programów, komunikacji
czy informowania o stanie systemu
Struktury systemów operacyjnych
Struktura jednolita
- zbiór procedur w ramach jednego programu
- brak lub słabo wydzielone poziomy funkcjonalne
- proste systemy jednostanowiskowe MS-DOS
Struktura modułowa
- warstwowa
- oparta na mikrojądrze
- zalety:
1. zmniejsza stopień zależności między poszczególnymi składowymi systemu
2. ułatwia weryfikację systemu i wyszukiwanie błędów
Struktura oparta na mikrojądrze - zalety i wady
ZALETY:
- łatwiejsze rozszerzanie mikrojądra
- łatwiejsza implementacja na inne architektury
- większa niezawodność i bezpieczeństwo, gdyż mniej kodu działa w trybie jądra
WADY:
- Mniejsza wydajność z powodu:
używania systemu komunikatów
częstego przełączania pomiędzy trybem użytkownika a trybem jądra
Struktura hybrydowa
Współczesne systemy operacyjne mają na ogół strukturę hybrydową,
łącząc mikrojądro z ograniczoną warstwowością
Wykorzystują zmodyfikowaną strukturę z mikrojądrem, w której
więcej modułów działa w trybie jądra.
Struktura jądra systemu
Jądro monolityczne:
- jeden program, ładowany w całości do pamięci operacyjnej
Jądro modularne:
- mikrojądro
- moduły jądra, które mogą być ładowane dynamicznie do pamięci
Windows - składowe jądra
Egzekutor - udostępnia podstawowe usługi SO: zarządzanie
pamięcią, procesami, bezpieczeństwem, komunikacją
międzyprocesową
Mikrojądro - zarządza planowaniem wątków, przełączaniem
procesów, obsługą wyjątków i przerwań; nie wykorzystuje
mechanizmu wątków
Warstwa abstrakcji sprzętu - dostarcza odwzorowania
pomiędzy poleceniami systemowymi a sprzętem; izoluje
użytkownika od różnic sprzętowych każdego komputera
Zarządca wejścia-wyjścia - zbiór bibliotek rozszerzających
funkcjonalność egzekutora o komunikację z urządzeniami
zewnętrznymi, obsługę systemów plików, protokołów sieciowych
Zarządca okien - realizuje funkcje GUI