Systemy Operacyjne -...

Preview:

Citation preview

Systemy Operacyjne

informacje dodatkowe

Rodzaje oprogramowania

Oprogramowanie

Systemowe Użytkowe

(aplikacje)

SO Wspomagające,

(Systemy pomocnicze

Operacyjne) (utility)

Oprogramowanie systemowe

Zawiera programy, które kontrolują różne części

systemu komputerowego i koordynują ich pracę

tak, żeby mogły współpracować efektywnie i bez

interferencji.

Jego działanie obejmuje takie zadania jak:

- tłumaczenie naszych poleceń i komend na zrozumiałe

dla komputera;

- zarządzanie naszymi plikami z programami i danymi;

- umożliwienie współpracy sprzętu i oprogramowania

użytkowego.

Oprogramowanie systemowe dzieli się

zazwyczaj na:

- system operacyjny (OS- Operating

System)

- programy użytkowe (ale Utility, a nie application), pomocnicze, które spełniają

funkcje wspomagające działanie systemu

operacyjnego, jak np. sprawdzenie PC pod

kątem wirusów, czy odzyskiwanie plików,

straconych niechcący).

System Operacyjny

Główny zbiór programów, zarządzający

działaniem systemu komputerowego.

OS wiąże potrzeby:

- użytkownika

- aplikacji

- sprzętu.

Tworzy środowisko do uruchamiania i

kontroli zadań użytkownika.

W tym celu system operacyjny zajmuje się:

• planowaniem oraz przydziałem czasu

procesora poszczególnym zadaniom,

• kontrolą i przydziałem pamięci operacyjnej dla

uruchomionych zadań,

• dostarcza mechanizmy do synchronizacji zadań

i komunikacji pomiędzy zadaniami,

• obsługuje sprzęt oraz zapewnia równolegle

wykonywanym zadaniom jednolity, wolny od

interferencji dostęp do sprzętu.

Dodatkowe przykładowe zadania SO:

• ustalanie połączeń sieciowych

• zarządzanie plikami.

System operacyjny jako interfejs pomiędzy

komputerem a człowiekiem.

Użytkownik Aplikacja System

Operacyjny Sprzęt

Użytkownik nie ma bezpośredniego dostępu

do sprzętu.

Funkcje API

System operacyjny udostępnia:

• Funkcje API (Application Programming

Interface)

lub

• Zestaw wywołań systemowych

Interfejs systemu (konieczny!)

a interfejs użytkownika (opcjonalny)

Budowa systemu operacyjnego

Budowa systemu operacyjnego

Trzy główne elementy:

jądro systemu, wykonujące i

kontrolujące zadania SO

powłoka – specjalny program

komunikujący użytkownika z systemem

operacyjnym,

system plików – sposób zapisu struktury

danych na nośniku.

Jądro składa się z następujących elementów

funkcjonalnych:

• planisty czasu procesora, ustalającego

które zadanie i jak długo będzie

wykonywane,

• przełącznika zadań, odpowiedzialnego za

przełączanie pomiędzy uruchomionymi

zadaniami.

• Dodatkowo:

- modułu zapewniającego synchronizację i

komunikację pomiędzy zadaniami

- modułu obsługi przerwań i zarządzania

urządzeniami,

- modułu obsługi pamięci, zapewniającego

przydział i ochronę pamięci.

- innych, zależnie od funkcji i przeznaczenia

systemu.

Podział systemów operacyjnych

Najszerszym, ale najbardziej podstawowym

kryterium podziału systemów operacyjnych jest

podział na:

• systemy operacyjne czasu rzeczywistego

(RTOS – Real Time Operating System)

• systemy operacyjne czasowo

niedeterministyczne

Podział ten odnosi się do najbardziej podstawowej

funkcjonalności systemu operacyjnego jakim jest

planowanie i przydział czasu procesora

poszczególnym zadaniom.

Podział systemów operacyjnych

Ze względu na sposób realizacji przełączania

zadań systemy operacyjne można podzielić

na:

• systemy z wywłaszczaniem zadań

• systemy bez wywłaszczania.

Inny rodzaj podziału to podział na:

• otwarte systemy operacyjne

• wbudowane systemy operacyjne.

Podział systemów operacyjnych

Pod względem środowiska użytego do

implementacji systemu można wprowadzić podział

na:

• programowe

• sprzętowe.

Zwykle jako otwarte systemy operacyjne spotyka się

systemy w pełni programowe, czasowo niedeterministyczne

stosujące wywłaszczenie przy przełączaniu zadań.

Wbudowane systemy operacyjne są najczęściej czasowo

deterministyczne, zazwyczaj nie stosują wywłaszczenia

zadań, bywa, że są realizowane również w sprzęcie.

Różnice między SO

Inne kryteria rozróżniania SO:

typ interfejsu

(GUI – Graphical User Interface vs.

CL – Command Line)

czy przeznaczony do użytku osobistego

czy sieciowego?

dla jakiego typu CPU był projektowany

(czy wspiera wieloprocesorowy system,

czy techniki przyśpieszające?)

Funkcje SO:

1) Bootowanie komputera i konfigurowanie

urządzeń.

2) Łączność z użytkownikiem.

3) Zarządzanie zasobami i zadaniami.

Zarządzanie zasobami:

• przydział zasobów,

• synchronizacja dostępu do zasobów

(zapobieganie interferencji),

• ochrona i autoryzacja dostępu do

zasobów,

• odzyskiwanie zasobów,

• rozliczanie – gromadzenie danych o

wykorzystaniu zasobów.

Zarządzanie procesem:

(proces - program w stanie uruchomionym)

• tworzenie i usuwanie procesu,

• wstrzymywanie i przywracanie procesu,

• zapewnienie mechanizmów pozwalających

na synchronizację procesów oraz

komunikację między procesami.

Algorytmy szeregowania

Algorytmy planowania dostępu do procesora:

a) FCFS (First-Come, First-Served) najprostszy, niewywłaszczający,

implementowany za pomocą kolejki FIFO:

może spowodować efekt konwoju;

b) SJF (Shortest-Job-First) wiąże z każdym procesem długość jego

najbliższej z faz procesora, zapewnia

minimalny średni czas oczekiwania;

może być wywłaszczający lub nie.

Algorytmy szeregowania

c) algorytm Round-Robin

czas procesora podzielony na kwanty,

kolejka procesów gotowych traktowana

jako kolejka cykliczna,

algorytm z wywłaszczeniem.

Przykład:

a)

0 24 27 30

(24+27+30)/3=27

b)

0 3 6 30

(3+6+30)/3=13

Proces 1 Proces 2 Proces 3

c)

0 4 7 10 14 18

cd.

22 26 30

Proces 1 Proces 2 Proces 3 Proces 1 Proces 1

Proces 1 Proces 1

Funkcje SO –c.d.:

4) Monitorowanie działania

5) Zarządzanie plikami

- pozwala zorganizować dysk

- trzyma dostęp do plików na dysku

Zwykle – struktura hierarchiczna.

Ścieżka dostępu do pliku.

Mapowanie plików na nośniku danych.

6) Bezpieczeństwo

Hasła, logowanie.

Funkcje SO –c.d.:

7) Zarządzanie pamięcią.

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.

Pamięć wirtualna. Proces szamotania.

Pamięć wirtualna pod Windows 7

Komputer (ppm) Właściwości

Zaawansowane ustawienia systemu

Efekty wizualne, planowanie użycia

procesora, wykorzystanie pamięci i pamięć

wirtualna (Ustawienia) Zaawansowane

Opcje wydajności Pamięć

wirtualna Zmień

Zaplecze sprzętowe systemów

operacyjnych

Cechy wspierające implementacje i

działanie systemów operacyjnych:

• tryby pracy:

- uprzywilejowany (kernel/supervisor

mode),

- chroniony (protected mode),

• jednostki zarządzania i ochrony pamięci,

• kontrolery przerwań,

• specjalistyczne akceleratory sprzętowe.

Funkcje SO –c.d.:

8) Zarządzanie We-Wy

system buforowania,

interfejs urządzeń głównych,

sterowniki (kontrolery) dla specyficznych

urządzeń.

9) Zarządzanie nośnikami danych

• zarządzanie wolną pamięcią,

• alokacją zapisu,

• planowaniem dysku.

Techniki zwiększające efektywność

przetwarzania.

Przetwarzanie

Konkurencyjne:

wielozadaniowość

wielowątkowość

podział czasu (time-sharing)

Symultaniczne – przetwarzanie

wieloprocesorowe.

Spooling. Buforowanie.

Konkurencyjne

Rozpoczęcie

edycji

dokumentu

(np. WORD)

(1)

Ładowanie

strony WWW

(2)

Obliczenia w

arkuszu

kalkulacyjnym

(3)

Kontynuacja

(1)

(4)

Zakończenie

(2)

(5)

Symultanicznie

CPU1

CPU2

(1) (3) (5)

(2) (4)

Przegląd popularnych SO

1) DOS (Disk Operating System):

- PC DOS (dla IBM)

- MS DOS (dla kompatybilnych)

Ważne cechy:

16-bitowy

z systemem plików FAT (File Allocation Table)

jednozadaniowy

ograniczenie na nazwy (8 znaków + 3

rozszerzenie)

DOS

tryb tekstowy (CLI – Command Line

Interface)

Przykładowe polecenia:

COPY – kopiuje,(COPY BOSS:A WORKER)

DIR – wyświetla pliki, (DIR A:)

DEL – usuwa, (DEL A: DOLLAR)

CD – przechodzi do katalogu,(CD HOME)

FORMAT A:

DR-DOS (Digital Research Disk Operating System)

WINDOWS

2) WINDOWS:

a) Windows 3.x, np. 3.0, 3.1, 3.11

- nakładki (a nie SO)

- graficzny interfejs (GUI – Graphic User

Interface)

- adresowanie: do 1 MB RAMu

b) Windows 95:

- 32-bitowy

- oparty na systemie plików FAT

WINDOWS

– interfejs graficzny GUI

– wielozadaniowy

– znosi ograniczenia na krótkie nazwy

– dwa jądra (DOS i WINDOWS)

c) Windows 98, Second Edition – to, co

Windows 95 oraz :

- obsługuje DVD i USB

- lepsze wsparcie dla dużych dysków

- wyższy stopień integracji z Internetem

WINDOWS

d) Windows NT – standardowy sieciowy SO,

opracowany przez Microsoft przed 2000r:

- oparty na systemie plików NTFS (New

Technology File System)

- wersja Workstation dla pojedynczych

użytkowników

- Serwer wersja dla małych LANów (Local

Area Network)

- pozostałe cechy – jak poprzednie

Rozdwojenie?

e) Windows ME (milenium

Edition)

- oparty na technologii

Windows 9x

- wspiera UPnP

(Uniwersal Plug and Play)

- używa standardowych

protokołów internetowych

- szybszy proces

bootowania

- poprawione możliwości

multimedialne

- lepszy system ochrony

f) Windows 2000 – upgrade

dla Windows NT:

- edycje Professional i

Server

- bardzo stabilny

- wieloprocesowy

Jednocześnie – seria

serwerowa:

g) Windows Server 2003

WINDOWS

h) Windows XP (for Experience) (2001)

- nowy interfejs

- przełączanie między kontami

użytkowników bez rebootowania, a nawet

zamykania programów

- narzędzie automatycznej aktualizacji

systemu (późniejsze Service Pack 1, SP 2,

SP 3)

- 64 bitowa edycja!

WINDOWS

i) Windows Vista (2007)

- CCC (Clear Confident Connected) ???

- duże wymagania sprzętowe

- bezpieczeństwo kosztem kompatybilności

- możliwości sieciowe

- wersja 32 bitowa i 64 bitowa

WINDOWS

j) Windows 7 (2009) – szybkość, prostota,

łączność bezprzewodowa.

Wymagania sprzętowe (dla wersji 32-bitowej): - procesor 1 GHz

- 1 GB pamięci RAM

- 16 GB miejsca na dysku

- karta graficzna zgodna z DirectX 9c

Dla wersji 64-bitowej:

- 2 GB pamięci RAM

- 20 GB miejsca na dysku

WINDOWS

k) Windows 8 (2012) – kafelkowy SO Microsoftu:

- nowy interfejs użytkownika

(Modern UI -Microsoft design language lub

Metro UI)

- wszystkie opcje przygotowane z myślą o

urządzeniach dotykowych

- łączność pozwala na włączenie trybu

samolotowego oraz modułu WiFi

- update SO – jeden przycisk

WINDOWS

l) Windows 10 (2014)

Priorytety – urządzenia mobilne oraz

chmura:

- wraca pełnoprawne menu Start

- kafelkowy interfejs Metro nie będzie

wyłącznie kafelkowy

- obietnica działania na wszystkich

platformach

Inne przykłady SO

• Mac OS (Macintosh OS) – od 1984

• Snow Leopard (następca Mac OS X 10.5)

• UNIX – sieciowy SO, nie był zbudowany

wokół jednej rodziny procesorów

• LINUX („No Gates, No Windows and Apache

Inside”)

• Google Chrom OS – aplikacje internetowe

• Android – dla urządzeń mobilnych

LINUX – przykład wolnego i otwartego

oprogramowania (WiOO, FLOSS)

• 1991 Linus Torvalds – jądro systemu

• 1994 – pierwszy system

• Oprogramowanie Otwarte – na zasadach licencji

GPL (General Public License)

• wersje komercyjne(Red Hat, Debian, Mandrake,

SUSE)

• interfejs CL oraz GUI

• środowiska serwerowe

• bezpieczeństwo

• wersja UBUNTU

Przyszłość SO

• bardziej przyjazny (np. interfejs głosowy?)

• stabilny i samonaprawiający się

• wspierający wieloprocesorowość

• głównie do współpracy a oprogramowaniem z

Internetu

Chmura (Cloud computing) - wirtualna

chmura dostępnych usług:

- prywatna

- publiczna (Amazon, Google, Microsoft itd.)

Recommended