SYSTEMY OPERACYJNE.doc

(44 KB) Pobierz
SYSTEMY OPERACYJNE

SYSTEMY OPERACYJNE

 

 

System operacyjny (ang. skrót OS Operating System) - program komputerowy bądź zbiór programów, który 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 bootloader, czasem z kolei chodzi o całą rodzinę systemów operacyjnych (np. Microsoft Windows).Spis treści [ukryj]

 

Zadania systemu operacyjnego

zarządzanie zasobami komputera, m.in.: procesorem (a dokładniej czasem procesora), pamięcią, urządzeniami peryferyjnymi oraz przydzielanie zasobów procesom,

koordynacja pracy ww. urządzeń poprzez obsługę przerwań oraz odpowiednie na nie reagowanie, ochrona danych i pamięci - tak aby jeden proces, w wyniku błędu lub zamierzonego działania nie mógł zniszczyć lub pozyskać danych innego procesu,

automatyzacja najczęściej wykonywanych funkcji

ukrywanie przed aplikacjami skomplikowania sprzętu komputerowego przez tworzenie abstrakcji, np. zbiory zapisanych klastrów na dysku widziane są jako pliki o symbolicznych nazwach abstrakcja równoległości wykonywania programów

jednolity sposób dostępu do urządzeń

 

System operacyjny jest ładowany do pamięci na początku pracy komputera. Program ten ma bardzo specyficzny charakter: w przeciwieństwie do programów użytkowych (aplikacji) nie korzysta z żadnych gotowych funkcji, tylko sam je udostępnia, a więc od niego zależą rzeczywiste możliwości wykorzystania sprzętu komputerowego.

 

Systemy operacyjne ze względu na sposób przetwarzania można podzielić na:

Systemy przetwarzania bezpośredniego – systemy interakcyjne gdzie występuje bezpośrednia interakcja pomiędzy użytkownikiem a systemem i wykonywanie zadania użytkownika rozpoczyna się zaraz po przedłożeniu,

Systemy przetwarzania pośredniego – systemy wsadowe gdzie występuje znacząca zwłoka czasowa między przedłożeniem a rozpoczęciem wykonywania zadania i niemożliwa jest ingerencja użytkownika w wykonywanie zadania.

 

Ze względu na dopuszczalną liczbę zadań systemy dzielimy na:

Systemy jednozadaniowe gdzie niedopuszczalne jest rozpoczęcie wykonywania następnego zadania użytkownika przed zakończeniem poprzedniego,

Systemy wielozadaniowe gdzie dopuszczalne jest istnienie jednocześnie wielu zadań (procesów), którym zgodnie z pewną strategią przydzielany jest procesor. Zwolnienie procesora następuje w wyniku: żądania przydziału dodatkowego zasobu, zainicjowania operacji wejścia/wyjścia, przekroczenia ustalonego limitu czasu (kwantu czasu).

 

Wielozadaniowe systemy operacyjne można podzielić na oferujące i pozbawione wywłaszczania. W systemie z wywłaszczaniem jest możliwe przerwanie wykonywania procesu i przeniesienie go z powrotem do kolejki kontrolowanej przez algorytm szeregowania. W systemie bez wywłaszczania zadania muszą przełączać się dobrowolnie. Proces aktywny (wykonujący się) jest przenoszony do kolejki procesów oczekujących tylko wtedy, gdy sam przerwie (wstrzyma, zawiesi) swoje działanie a dopóki tego nie uczyni (lub nie zakończy działania), żaden inny proces nie otrzyma dostępu do procesora.

 

Natomiast biorąc pod uwagę liczbę użytkowników systemy operacyjne można podzielić na:

Systemy dla jednego użytkownika gdzie zasoby przeznaczone są dla jednego użytkownika (np. w przypadku komputerów osobistych), nie ma mechanizmów autoryzacji dostępu, a mechanizmy ochrony informacji są ograniczone, Systemy wielodostępne gdzie wielu użytkowników może korzystać z zasobów systemu komputerowego, a system operacyjny gwarantuje ich ochronę przed niepowołaną ingerencją.

 

Budowa systemu operacyjnego

 

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

jądro systemu wykonują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.

 

Typy i przykłady systemów operacyjnych

 

system internetowy [edytuj]

ajaxWindows

 

Amiga

AmigaOS

AROS Research Operating System (AROS)

MorphOS

 

systemy firmy Apple

Apple DOS, ProDOS

GS/OS

Mac OS

Mac OS X, Mac OS X Server, Mac OS X Leopard

A/UX

Lisa OS

 

nieukończone projekty:

Rhapsody

 

systemy firmy Be i pochodne

BeOS

BeIA

NewOS/Haiku

yellowTAB Zeta

 

systemy firmy Digital (DEC)/Compaq

AIS

OS-8

RSTS/E

RSX

RT-11

TOPS: TOPS-10, TOPS-20

VMS (później przemianowany na OpenVMS)

 

systemy firmy IBM

OS/2

AIX

OS/400

OS/390

VM/CMS

DOS/VSE

DOS/360

OS/360

MFT

MVT

PC-DOS

SVS

MVS

TPF

ALCS

z/OS

 

systemy firmy Microsoft i pochodne

MS-DOS

PC-DOS, DR-DOS, FreeDOS, DOS, QDOS

Microsoft Windows: Microsoft Windows 1.0, 2.0, 3.x, 95/98/98 SE/Me, CE, NT/2000/XP/2003/Vista

PetrOS, ReactOS

Singularity

 

systemy firmy Novell

NetWare

 

Zobacz też: SuSE Linux

 

NeXT

NeXTStep

 

UNIX i jego pochodne

AIX

BSD, FreeBSD, NetBSD, OpenBSD, DragonFly BSD, DesktopBSD, PC-BSD

Digital UNIX

HP-UX

IRIX

Mac OS X

Minix

OSF/1

SCO UNIX

Sun Solaris (dawniej SunOS)

System V

QNX

Ultrix

Venix

Xenix

GNU/Linux (system GNU z jądrem Linux)

GNU/Hurd (system GNU z jądrem Hurd),

Linux

 

systemy czasu rzeczywistego

LynxOS

OS9

Phoenix-RTOS

QNX

Nut/OS

RT-Linux

SenseOS

VxWorks

Suse Linux Enterprise Real Time

 

Inne

Agnix

Amoeba

AtariDOS

Commodore DOS (zapisany w stacji dysków)

AtheOS/Syllable

Athene

CP/J

CP/M

CROOK

eComStation

Egzekutor RTX

EMOS

EPOC32

GEORGE 3

GEOS

Inferno

IOS

iRMX

ISIS-II

Kylin

MenuetOS

Mikros

Multics

Palm OS

Quarn OS

SkyOS

Symbian

UDOS

Unununium

System V7

 

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ą, n.p. OS2 - Windows Vista wewnątrz OS1 Linuksa z np Xen. Pełna wirtualizacja OS była dostepna od dawna na superkomputerach, nowe instrukcje procesorów rozszerzają ją na komputery osobiste.

 

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.

 

 

Zgłoś jeśli naruszono regulamin