Pojęcie systemu operacyjnego

background image

Pojęcie systemu
operacyjnego

background image

Co będziesz umiał

definicje SO, jądra, mikrojądra,
systemu komputerowego, maszyny
wirtualnej,

rodzaje zasobów komputerowych

funkcje SO

struktury SO

Ewolucja systemów operacyjnych

background image

System operacyjny

(Silberschatz i inni) System operacyjny jest
programem, który działa jako pośrednik
między użytkownikiem komputera, a
sprzętem komputerowym

(Deitel) System operacyjny to zespół
programów, które samodzielnie umożliwiają
wszechstronne wykorzystanie sprzętu
komputerowego

background image

System operacyjny

(Milenković) System operacyjny to
zorganizowany zbiór programowych
rozszerzeń sprzętu, zawierający
procedury kontrolne dla pracy
komputera i dostarczający otoczenia
dla wykonywanych programów

background image

System operacyjny

(Błażewicz i inni) System operacyjny
to zbiór programów pośredniczących
między sprzętem a użytkownikiem,
dokonujących dynamicznego
rozdziału dostępnych zasobów
pomiędzy istniejące procesy w sposób
zapewniający ich poprawne oraz
efektywne wykonanie

background image

System operacyjny

Systemem operacyjnym nazywamy

zorganizowany zbiór programów
pośredniczących między sprzętem
komputerowym a jego użytkownikiem,
który dokonuje dynamicznego
rozdziału dostępnych zasobów
pomiędzy istniejące procesy w sposób
zapewniający ich poprawne oraz
efektywne, w sensie przyjętego
kryterium, wykorzystanie.

background image

System komputerowy

System komputerowy to sprzęt
komputerowy oraz system operacyjny
+ dodatkowe oprogramowanie,
traktowane jako całość służąca do
ściśle określonych celów.

np.: komputerowy system obsługi
transakcji bankowych

background image

Funkcje systemu operacyjnego

Główne grupy funkcji systemu
operacyjnego obejmują:

nadzorowanie uruchamianych
programów użytkownika,

kontrolę zapisu, odczytu oraz innych
operacji na danych,

zarządzanie dostępnymi zasobami, ze
szczególnym uwzględnieniem procesora
(procesorów).

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji SO:

sterowanie procesami:

tworzenie nowych procesów

zabijanie istniejących procesów

przydział istniejących procesów do
procesora/procesorów

przełączanie procesów

synchronizacja procesów, komunikacja między
procesami

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji SO:

zarządzanie pamięcią

przydział przestrzeni adresowej do procesów

zarządzanie stronami (segmentami) pamięci
wirtualnej

obsługa przydziału bloków pamięci zewnętrznej

zrzucanie obrazu procesów do pamięci
zewnętrznej

background image

Funkcje systemu operacyjnego

Bardziej szczegółowy podział funkcji
SO:

przetwarzanie plików,

obsługę operacji I/O,

buforowanie, obsługa przerwań

przydział urządzeń I/O do procesów

współdzielenie i ochronę danych,

specyfikację interfejsu użytkownika.

background image

Skład oprogramowania typowego
SO

polecenia do zarządzania pamięcią,

polecenia do zarządzania procesami,

polecenia do zarządzania plikami,

polecenia ogólnego przeznaczenia
(formatowanie dysków, diagnostyka
systemu itp.),

background image

Skład oprogramowania typowego
SO

interpretery i kompilatory języków

programowania,

programy wspomagające tworzenie

oprogramowania,

narzędzia do administracji systemem

(zakładanie kont użytkowników,

archiwizacja danych itp.),

inne (gry, obsługa grafiki, muzyki itp.)

background image

Zasoby w SO

Zasobem w systemie operacyjnym
nazywamy każdy rodzaj sprzętu
komputerowego lub danych,
niezbędny do prawidłowego
rozpoczęcia, wykonywania oraz
zakończenia istniejących procesów.

background image

Główne zasoby w SO

procesor (procesory),

pamięć (operacyjna, zewnętrzna),

urządzenia wejścia/wyjścia,

dane.

background image

Zasoby w SO

Zasób jest nieodnawialny, jeśli jest
zużywany przez wykorzystujący go proces.

Zasób jest nieprzywłaszczalny, jeśli nie
jest możliwe zawieszenie jego
wykorzystywania przez aktywny proces.

Zasób jest niepodzielny, jeśli
wykorzystywać go może w danej chwili
tylko jeden proces.

background image

Przykłady zasobów w SO

zasoby odnawialne – pamięć operacyjna,

urządzenia I/O

zasoby nieodnawialne – energia

elektryczna, pamięć dyskowa

zasoby nieprzywłaszczalne – urządzenia I/O

zasoby przywłaszczalne – procesor, pamięć

operacyjna

zasoby niepodzielne – urządzenia I/O

(drukarki, dyski)

zasoby podzielne – pamięć operacyjna

background image

SO jako warstwa maszyny
wirtualnej

Na system operacyjny można także patrzeć

jak na jedną z warstw tzw. maszyny

wirtualnej.

Maszyna wirtualna to abstrakcyjny model

komputera o innych własnościach aniżeli

maszyna fizyczna; składają się na nią

rozwiązania dotyczące obsługi urządzeń I/O,

pamięci operacyjnej (wirtualnej), systemu

plików, sterowania programami (procesami)

oraz przyjęte metody ochrony danych.

background image

Warstwy maszyny wirtualnej

warstwa użytkownika

programy użytkownika

warstwa systemu operacyjnego

powłoka (interpreter poleceń)

w. oprogramowania systemowego

warstwa sprzętu

język maszynowy

mikroprogramowanie

sprzęt

background image

SO jako warstwa maszyny
wirtualnej

Na poziomie każdej z warstw istnieje

odrębny język, za pomocą którego

użytkownik porozumiewa się z

maszyną wirtualną

Przykład: na poziomie powłoki

językiem są polecenia powłoki, na

poziomie sprzętu – ciągi sygnałów

elektrycznych o odpowiednich

parametrach itp.

background image

SO jako warstwa maszyny
wirtualnej

W SO lat 60-tych wprowadzono języki

sterowania zadaniami (JCL, ang. Job

Command Language), opisujące

zadania (programy) na potrzeby SO

Języki JCL były skomplikowane,

niechętnie stosowane przez

użytkowników i stosunkowo szybko

zarzucone.

background image

Przykład języka JCL

Przykład 1 (JCL systemu GEORGE 3 dla ICL 1900)

JOB FORTRAN, 77101, PBR
IN MT (PROGRAM TAPE)
LOAD #XFAM
IN/O (SOURCE)
ENTER 1
AT DELETED LO, GOTO 8
END
8 LOAD #
IN/O (DATA)
ENTER
AT HALTED

background image

Miary efektywności pracy SO

Znane są różne kryteria efektywności pracy
SO, do najczęściej wykorzystywanych
należą:

średni czas odpowiedzi (SO interaktywne),

niewykorzystany czas pracy procesora
(utylizacja),

średni czas przepływu, tj. średni czas, jaki
upływa między rozpoczęciem procesu, a jego
zakończeniem (SO wsadowe)

background image

Struktury SO

Wyróżniamy następujące rodzaje struktur SO:

monolityczna (jednolita) - system operacyjny jest zbiorem
usług, z których każda może wywołać inną;

warstwowa - system operacyjny jest podzielony na warstwy
odpowiadające za poszczególne funkcje systemu; główne
warstwy to w. jądra, w. powłoki, w. programów użytkownika

Odmianą budowy warstwowej jest tzw. budowa
pierścieniowa

W SO warstwowych (pierścieniowych) najbardziej
wewnętrzną warstwą jest jądro systemu.

background image

Jądro SO

Jądro systemu operacyjnego to
najbardziej wewnętrzna warstwa
systemu, odpowiedzialna za
szeregowanie procesów, komunikację
międzyprocesową oraz zarządzanie
pamięcią.

background image

Funkcje jądra

zarządzanie procesami

zarządzanie pamięcią

obsługa urządzeń I/O

inne (monitoring, accounting itp.)

Funkcje jądra dotyczą najbardziej
podstawowych operacji,
wywoływanych bardzo często
przez procesy.

background image

Mikrojądro

Mikrojądro to mały rdzeń SO, będący
podstawą do modularnych
(modułowych) rozszerzeń.

background image

Struktury SO

Do innych typów struktur SO należą
systemy:

maszyn wirtualnych - system operacyjny stwarza
dla każdego użytkownika „wirtualny” komputer
posiadający własną kopię systemu;

systemy z mikrojądrem - podstawowe usługi
systemu operacyjnego są umieszczane w
mikrojądrze, inne są implementowane jako
procesy użytkownika (klienci). Klienci wysyłają
żądania do serwera, zarządzającego daną
funkcją za pomocą techniki „klient-serwer”.

background image

Struktury SO

Mikrojadro po raz pierwszy pojawiło się w
SO Mach.

Typowe mikrojądro 1. generacji ma ok. 300
kB kodu, 140 usług systemowych.

Typowe mikrojądro 2. generacji ma ok. 10
kB kodu, jedynie kilka usług systemowych.

SO wykorzystujące mikrojądro bardzo
często korzystają z tzw. techniki klient-
serwer.

background image

Klient-serwer

Technika „klient-serwer” polega na
podziale oprogramowania
systemowego na dwie
współdziałające ze sobą części o
nazwach „klient” oraz „serwer”.

background image

Zalety techniki klient-serwer

uproszczenie struktury SO

zwiększenie niezawodności SO,

zapewnienie jednolitego sposobu
komunikacji między procesami,

stworzenie podstaw dla przetwarzania
rozproszonego,

łatwa rozszerzalność SO o nowe
funkcje.

background image

Tryby pracy SO

SO może pracować w różnych trybach,
które różnią się między sobą zbiorem usług
dostępnych dla użytkownika.

Tryb pracy SO decyduje o tym, jakie usługi
SO mogą zostać przez dany proces
wywołane.

Wyróżniamy dwa główne tryby:

tryb użytkownika (ang. user mode) oraz

tryb jądra (ang. kernel mode).

background image

Tryby pracy SO

W trybie użytkownika proces nie
dysponuje dostępem do wszystkich
usług systemu.

Możliwości pracy systemu w różnych
trybach określa architektura
procesora (por. tryb
rzeczywisty/chroniony w procesorach
80286+ firmy Intel).

background image

Klasyfikacja SO

dla jednego użytkownika:

jednoprogramowe

wieloprogramowe,

dla wielu użytkowników,

sieciowe systemy operacyjne,

rozproszone systemy operacyjne,

systemy czasu rzeczywistego,

ogólnego przeznaczenia

wsadowe,

wielodostępne

systemy obsługi baz danych.

background image

Cechy współczesnych SO

architektura oparta o mikrojądro,

funkcje SO implementowane w
technice „klientserwer”,

wielowątkowość,

wieloprzetwarzanie,

obliczenia rozproszone,

metodologia OOP (ang. Object
Oriented Programming).

background image

Pokolenia SO

1. pokolenie (1945-1955)

Sprzęt: komputery lampowe, tablice
połączeń

SO: brak SO, brak języka maszynowego

2. pokolenie (1955-1965)

Sprzęt: komputery tranzystorowe, systemy
wsadowe, praca typu „off-line”

SO: systemy FMS, IBSYS (dla komputera
7094)

background image

Pokolenia SO

Systemy operacyjne 2. pokolenia są

nazywane monitorami, ponieważ ich główne

zadanie polegało na monitorowaniu

wykonywania podstawowych funkcji takich

jak:

obsługa przerwań,

sterowanie pracą urządzeń I/O

szeregowanie zadań (programów)

interpretacja języka sterowania zadaniami (JCL)

obsługa programów użytkowych,

Wyżej wymienione funkcje były realizowane

w bardzo podstawowym zakresie.

background image

Pokolenia SO

3. pokolenie (1965-1980)

Sprzęt: komputery na układach scalonych,

kanały, przerwania, wieloprogramowość, podział

czasu

systemy: OS/360 (1964), GEORGE 3 (ICL 1900),

CTSS (1962): 32Kx32b, monitor 5K, przerwania

co 0.2s

4. pokolenie (1980-do dzisiaj)

Sprzęt: komputery na układach VLSI, komputery

typu PC, stacje robocze

SO: CP/M, MS-DOS, Windows 9x, OS/2, Windows

NT, Windows XP

background image

Przykłady SO

Pierwsze znane systemy operacyjne:

system bez nazwy dla komputera EDVAC (koniec
lat 40-tych),

system bez nazwy opracowany przez firmę
General Motors dla komputera IBM 701 (połowa
lat 50-tych).

Pierwszy system operacyjny o budowie
warstwowej:

system THE (Dijkstra 1968) dla komputera
Electrologica X8

background image

Przykłady SO

Pierwszy system operacyjny o budowie

pierścieniowej:

system MULTICS (Corbato et al. 1965), będący

prekursorem wielu rozwiązań przyjętych w innych

SO (jądro, procesy, potoki, powłoka).

System operacyjny „maszyn wirtualnych”:

system VM/370 (1979), pochodzący od systemów

OS/360, TSS/360 oraz CP/CMS dla komputerów

rodziny IBM/360.

SO dla 1-go użytkownika (jednoprogramowe):

CP/M

MS-DOS,

background image

Przykłady SO

SO dla 1-go użytkownika
(wieloprogramowe):

Windows NT,

OS/2,

Windows XP,

Windows Vista.

SO dla wielu użytkowników
(wielodostępne):

Unix, Solaris, SunOS.

Linux i jego dystrybucje.

background image

SO sieciowe:

Novell NetWare

SO rozproszone:

Mach, Chorus, DCE

SO czasu rzeczywistego:

QNX, RSX-11, RMX-80

background image

SO sieciowy

(NOS – network operating system)
pozwala wielu komputerom pracować
we wspólnej sieci i zarządza
rozmaitymi aspektami pracy
sieciowej, jak udostępnianie plików
czy drukowanie

background image

SO rozproszony

zbiór niezależnych komputerów,
sprawiająch na jego uzytkownikch
wrażenie jednego, logicznie zwartego
systemu

background image

SO czasu rzeczywistego

spełnia wymagania narzucone przez
czas działania. Najczęściej wymaga
się od niego reakcji w określonym
czasie

takie systemy sterują centralami
telefonicznymi, systemem ABS w
samochodzie

background image

Pytania


Document Outline


Wyszukiwarka

Podobne podstrony:
Pojecie systemu operacyjnego
Rys historyczny i podstawowe pojęcia systemu operacyjnego, technik informatyk, soisk utk
1 Systemy Operacyjne 05 10 2010 Pojęcia Podstawowe
Systemy operacyjne
5 Systemy Operacyjne 23 11 2010 Zarządzanie procesami
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
Systemy Operacyjne lab4, Politechnika Wrocławska, Systemy Operacyjne
format[1], Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr I
System plików, zOthers, Systemy operacyjne i sieci komputerowe
quota, !!!Uczelnia, wsti, materialy, II SEM, systemy operacyjne linux
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
System operacyjny
01 Systemy Operacyjne ppt
12 wspomaganie systemu operacyjnego pamiec wirtualna

więcej podobnych podstron