Systemy Operacyjne

advertisement
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)
Proces 1
Proces 2
0
(24+27+30)/3=27
24
Proces 3
27
30
b)
0
3
(3+6+30)/3=13
6
30
c)
Proces 2
Proces 1
0
cd.
Proces 1
22
4
Proces 3
7
Proces 1
26
30
Proces 1
10
14
Proces 1
18
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
Kontynuacja
(1)
Zakończenie
(2)
(3)
(4)
(5)
Symultanicznie
CPU1
CPU2
(1)
(2)
(3)
(5)
(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.)
Download