System operacyjny

Przykład graficznego interfejsu systemu operacyjnego wraz z uruchomionym oprogramowaniem
Przykład graficznego interfejsu systemu operacyjnego wraz z uruchomionym oprogramowaniem

System operacyjny (ang. skrót OS Operating System) – oprogramowanie, które zarządza sprzętem oraz aplikacjami komputera. Podstawą wszystkich systemów operacyjnych jest wykonywanie podstawowych zadań takich jak: kontrolowanie i przypisywanie pamięci, przydział czasu procesora, obsługa urządzeń, ustalanie połączeń sieciowych oraz zarządzanie plikami. Wiele systemów operacyjnych posiada środowiska graficzne ułatwiające ich obsługę.

Określenie to jednak nie jest w pełni ścisłe. Czasem potocznie[potrzebne źródło] mówi się tak mając na myśli całość oprogramowania dostarczanego z zakupionym komputerem (zobacz: dystrybucja), czasem samo jądro systemu operacyjnego, czasem program rozruchowy, czasem z kolei chodzi o całą rodzinę systemów operacyjnych (np. Microsoft Windows).

Spis treści

[edytuj] Zasoby sprzętowe

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,
    • 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.

[edytuj] Zarządzanie zasobami

Zarządzanie zasobami w systemie wielozadaniowym polega na takim ich rozdzieleniu pomiędzy użytkowników, aby każdy z nich miał wrażenie, że pracuje na własnym komputerze.

Główne zadania systemu operacyjnego podczas zarządzania zasobami systemu komputerowego:

  • tworzenie deskryptora zasobu,
  • usuwanie deskryptora zasobu,
  • realizacja żądania przydziału,
  • zwolnienie i odzyskiwanie zasobu.

Zarządzanie zasobami systemu komputerowego:

  • przydział zasobów,
  • synchronizacja dostępu do zasobów,
  • ochrona i autoryzacja dostępu do zasobów,
  • odzyskiwanie zasobów,
  • rozliczanie – gromadzenie danych o wykorzystaniu zasobów.

Zarządzanie procesem – proces to program w stanie uruchomiony, 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.

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.

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.

Zarządzanie wejściem/wyjściem – system wejścia/wyjścia składa się z: systemu buforowania, interfejsu urządzeń głównych, sterowników (kontrolerów) dla specyficznych urządzeń.

Zarządzenie nośnikami danych – pamięć główna jest ulotna i często za mała aby obsłużyć wszystkie programy i dane, dlatego stosuje się nośniki danych (najczęściej dysk twardy) do powiększania tej pamięci tak zwanej pamięć drugiego rzędu, na napędach tych mapuje się pamięć główną. System operacyjny jest odpowiedzialny w fazie zarządzania nośnikami danych za:

  • zarządzanie wolną pamięcią,
  • alokacją zapisu,
  • planowaniem dysku.

[edytuj] Budowa systemu operacyjnego

Przyjęto podział na trzy główne elementy budowy systemu operacyjnego:

[edytuj] Systemy operacyjne

[edytuj] Amiga

[edytuj] Apple

nieukończone projekty:

[edytuj] Be i pochodne

[edytuj] DEC/Compaq

[edytuj] IBM

[edytuj] ICL

[edytuj] Microsoft i pochodne

[edytuj] Novell

Zobacz też: SuSE Linux

[edytuj] NeXT

[edytuj] Unisys

[edytuj] UNIX i jego pochodne

[edytuj] systemy czasu rzeczywistego (realtime systems)

[edytuj] Pozostałe

[edytuj] Systemy operacyjne pracujące na maszynie wirtualnej

Możliwe jest uruchomienie systemu operacyjnego na maszynie wirtualnej. Przykłady to: Argante, Inferno a także User Mode Linux, czyli Linux skonfigurowany w ten sposób, by mógł działać jako system wirtualny w postaci procesu działającego pod kontrolą drugiego Linuksa. Systemy wirtualne dzielone są na para-wirtualne i w pełni wirtualne. Te ostatnie umożliwiają pracę niemodyfikowanego OS2 w środku innego systemu OS1 z pełną, (niemulowaną) szybkością, np. OS2 – Windows Vista wewnątrz OS1 Linuksa z np Xen. Pełna wirtualizacja OS była dostępna od dawna na superkomputerach, nowe instrukcje procesorów rozszerzają ją na komputery osobiste.

[edytuj] Język programowania jako system operacyjny

Funkcję systemu operacyjnego spełniać może Implementacja określonego języka programowania. Miało to miejsce szczególnie w historycznych już czasach dominacji komputerów 8-bitowych. Rolę powłoki systemu operacyjnego spełnia w tym przypadku interpreter poleceń języka. Dlatego funkcję takiego systemu może pełnić implementacja danego języka oparta na interpretacji lub mieszana (interpretacyjno-kompilacyjna).

W komputerach 8-bitowych często interpreter języka był przechowywany w pamięci ROM i stanowił podstawowy system operacyjny. Najbardziej znanym przykładem takiego języka jest BASIC stosowany szeroko w komputerach 8-bitowych. Innym, historycznym już przykładem, jest język Jean, implementowany w dużych systemach komputerowych (np. serii ODRA 1300), który mógł pracować zarówno pod kontrolą innego systemu operacyjnego (np. GEORGE 3), jak również samodzielnie jako mały system operacyjny o charakterze konwersacyjnym.

Językami programowania (a właściwie pewnymi implementacjami języków programowania), które także stanowią samodzielne systemy operacyjne są również FORTH oraz Smalltalk. Język i zarazem system operacyjny FORTH szczególnie zastosowanie znajdował w systemach sterowania automatyki przemysłowej. Jest to najlepszy przykład języka w interpretacyjno-kompilacyjnego, w którym wprowadzane słowa są interpretowane i natychmiast wykonywane, natomiast definicje słów są natychmiast kompilowane. Smalltalk to pierwszy język "czysto obiektowy", który w wielu swoich implementacjach buduje własne środowisko stanowiące system operacyjny komputera.

W systemach serii MERA 300 funkcję systemu operacyjnego mógł pełnić nawet asembler o nazwie MOTIS.

[edytuj] Zobacz też


system wymiany linków SEO Tools SEO Tools wymiana linkami kreatyna Gry Online Plaza 3 star hotel Los Angeles krynica noclegi Kredyty odnawialne