Zbigniew S. Szewczak Systemy Operacyjne

Transkrypt

Zbigniew S. Szewczak Systemy Operacyjne
Zbigniew S. Szewczak
Systemy Operacyjne
Wykład 1
Systemy komputerowe i
operacyjne
Toruń, 2003
O czym będzie?
☛Arytmetyka komputerowa
☛System komputerowy
☛Struktura komputera
☛System operacyjny
☛Sieciowy system operacyjny
☛Instalowanie systemu Linux
☛Instalowanie systemu Windows
☛Materiały pomocnicze
Arytmetyka komputerowa
☛B - bajt (ang. Byte); b - bit
☛B = 8b
☛kB = 1024B= 2^10B - podstawowa jednostka
☛MB = 1024kB=2^10kB ( producenci - MB=10^3kB)
☛GB = 2^20kB (10^6kB) - giga
☛TB = 2^30kB (10^9kB) - tera
☛PB = 2^40kB (10^12kB) - peta
☛EB = 2^50kB (10^15kB) - exa
☛ZB = 2^60kB (10^18kB) - zetta
☛YB = 2^70kB (10^21kB) - yotta
☛?B = 2^?*10kB (10^?*3kB) - ????
☛EB - podstawową jednostką? MEB = 2^20EB=2^70kB
Prefiksy metryczne
☛10^-3
☛10^-6
☛10^-9
☛10^-12
☛10^-15
☛10^-18
☛10^-21
☛10^-24
-
mili (m);
10^3 - kilo (k)
micro (µ); 10^6 - Mega (M)
nano (n); 10^9 - Giga (G)
pico (p);
10^12 - Tera (T)
femto (f); 10^15 - Peta (P)
atto (a);
10^18 - Exa (E)
zepto (z); 10^21 - Zetta (Z)
yocto (y); 10^24 - Yotta (Y)
Przykłady wykorzystania
☛1.7 yg - masa protonu
☛1 as - czas przejścia światła przez atom
☛1 pg - masa bakterii
☛1 µL - kropelka wody
☛1 Ms - 11,6 dni
☛0,3 Gm - sekunda świetlna
☛9,5 Pm - rok świetlny
☛1 ZL - objętość Pacyfiku
☛1 YL - pojemność Ziemii
System komputerowy
☛Sprzęt komputerowy(ang. hardware) - zasoby o
specyficznej architekturze oraz organizacji
zarządzane przez system operacyjny
☛System operacyjny - program, który nadzoruje
i koordynuje dostęp programów do zasobów
☛Programy użytkowe - realizują potrzeby
użytkowników systemu komputerowego
(kompilatory, bazy danych, gry,....)
☛Użytkownicy - ludzie, maszyny, komputery..
Struktura komputera
Peryferia
Komputer
Jednostka
centralna
(CPU)
Komputer
Pamięć
główna
Magistrala
systemowa
WejścieWyjście
Linie komunikacyjne
Struktura komputera
Peryferia
Komputer
Jednostka
centralna
(CPU)
Komputer
Pamięć
główna
Magistrala
systemowa
WejścieWyjście
Linie komunikacyjne
Magistrala systemowa
☛System bus (ang.)
☛Droga zapewniająca komunikację między
(modułami): procesorem, pamięcią i wejściemwyjściem
☛Tryb rozgłaszania (ang. broadcast)
☛50 do 100 oddzielnych linii pogrupowanych w 8, 16,
32 linii zwanych szynami
☛linie danych - do przenoszenia danych
☛np. szyna danych 8b a rozkaz 16b: 2 x transfer z pamięci
☛linie adresowe - do określenia adresu danych
☛linie sterowania - do sterowania liniami
☛linie zasilania
Przykład Pentium
☛cache(L2), local bus, memory bus
☛PCI bridge chip: local, memory, PCI
☛ISA (ang. Industry Standard Architecture)
☛I/O bus: EIDE (ang. Enhance Integrated Drive Electronics), ATA
(ang. Advanced Technology Attachment) - dyski 16,67MB/sec
☛PCI (ang. Peripheral Component Interconnect)
☛SCSI (ang. Small Computer System Interface)
☛szybkie we/wy do 160MB/sec (dyski,..)
☛USB (ang. Universal Serial Bus)
☛wolne urządzenia we/wy do 1.5MB/sec (mysz, skaner,..)
☛IEEE 1394 (FireWire) - do 50MB/sec (multimedia)
Struktura komputera
Peryferia
Komputer
Jednostka
centralna
(CPU)
Komputer
Pamięć
główna
Magistrala
systemowa
WejścieWyjście
Linie komunikacyjne
Funkcje jednostki centralnej
☛CPU = procesor = jednostka centralna
☛Pobieranie rozkazów z pamięci
☛Interpretowanie rozkazów
☛Pobieranie danych (z pamięci lub we/wy)
☛Przechowywanie danych w pamięci
☛Przetwarzanie danych - wykonywanie rozkazów
☛Zapisywanie wyników (do pamięci lub na
we/wy)
Rejestry procesora
☛licznik programu (PC) - adres rozkazu do
pobrania
☛rejestr rozkazu (IR) - kod rozkazu
☛rejestr adresowy pamięci (MAR) - adres lokacji
☛rejestr buforowy pamięci (MBR) - dane do/z
pamięci
☛rejestry PSW (ang. program status word) słowo stanu programu, informacje o stanie
Struktura komputera
Peryferia
Komputer
Jednostka
centralna
(CPU)
Komputer
Pamięć
główna
Magistrala
systemowa
WejścieWyjście
Linie komunikacyjne
Wejście/Wyjście
☛Dlaczego nie łączy się urządzeń peryferyjnych
bezpośrednio z magistralą systemową?
☛wielka różnorodność urządzeń we/wy
☛przesyłanie różnej ilości danych
☛z różną prędkością
☛w różnym formacie
☛urządzenia we/wy za wolne dla procesora i pamięci
☛Potrzeba modułu we/wy
☛interfejs z procesorem i pamięcią przez magistralę
☛interfejs z urządzeniami peryferyjnymi
Sposoby realizacji we/wy
☛programowane - dane są wymieniane między
procesorem a modułem we/wy, procesor czeka
na zakończenie operacji we/wy
☛sterowane przerwaniami - procesor wydaje
operację we/wy i wykonuje dalsze rozkazy do
momentu zakończenia operacji we/wy
(przerwanie we/wy)
☛bezpośredni dostęp do pamięci (ang. direct
memory access - DMA) - moduł we/wy
wymienia dane bezpośrednio z pamięcią bez
udziału procesora
Struktura komputera
Peryferia
Komputer
Jednostka
centralna
(CPU)
Komputer
Pamięć
główna
Magistrala
systemowa
WejścieWyjście
Linie komunikacyjne
Pamięć - lokalizacja, miara
☛CPU
☛wewnętrzna (główna)
☛zewnętrzna (pomocnicza)
☛długość słowa - 8, 16, 32 bitów (b)
☛pojemność pamięci mierzona w ilości słów
☛lub w Bajtach
Pamięć - własności fizyczne
☛półprzewodnikowa (ang. semiconductor)
☛RAM, ROM, Flash
☛magnetyczna
☛dysk & taśma
☛magneto-optyczna
☛CD & DVD zanikanie, rozpad (ang. decay)
☛zanikanie, rozpad (ang. decay)
☛ulotność (ang. volatility )
☛wymazywalność (ang. erasable)
☛zasilanie do utrzymania zawartości
Pamięć - metody dostępu (1)
☛dostęp sekwencyjny (ang. sequential)
☛dostęp liniowy blok po bloku wporzód lub wtył
☛czas dostępu zależy od pozycji bloku względem pozycji
bieżącej
☛np. taśmy
☛dostęp bezpośredni (ang. direct)
☛każdy blok ma unikalny adres
☛czas dostępu realizowany przez skok do najbliższego
otoczenia i sekwencyjne przeszukiwanie
☛np. dysk magnetyczny
Pamięć - metody dostępu (2)
☛dostęp swobodny (ang. random)
☛każda adresowalna lokacja w pamięci ma unikatowy,
fizycznie wbudowany mechanizm adresowania
☛czas dostępu nie zależy od poprzednich operacji i jest stały
☛np. RAM
☛ dostęp skojarzeniowy (ang. associative)
☛dane są lokalizowane raczej na podstawie porównania z
ich zawartością niż na podstawie adresu
☛czas dostępu nie zależy od poprzednich operacji i jest stały
☛np. pamięć podręczna (ang. cache)
Pamięć - wydajność (definicje)
☛ czas dostępu
☛dostęp swobodny : czas niezbędny do zrealizowania operacji
☛dostęp nieswobodny : czas potrzebny na ustawienie głowicy
☛ czas_cyklu pamięci
☛ czas dostępu + czas, który musi upłynąć aby mógła nastąpić
kolejna operacja ( zapis, odczyt)
☛ szybkość transferu
☛ dostęp swobodny : 1/czas_cyklu
☛ dostęp nieswobodny : T_n = T_a + n/r
☛ T_n - śr. czas operacji na n-bitach;T_a = śr. czas dostępu
☛ r - szybkość transferu w b/sek
Co to jest system operacyjny ?
☛System operacyjny jest programem,
który działa jako pośrednik między
użytkownikiem komputera a sprzętem
komputerowym
☛Brak zadowalającej definicji systemu
operacyjnego
System operacyjny - definicje
☛Dystrybutor zasobów (ang. resource allocator) przydziela zasoby poszczególnym zamawiającym
(programom)
☛Program sterujący (ang. control program) nadzoruje wykonanie programów użytkowych
oraz operacji wejścia/wyjścia, kontrola błędów
☛Jądro systemu (ang. kernel, ang. nucleus) program działający w komputerze nieustannie,
często jest synonimem systemu operacyjnego
Po co nam system operacyjny?
☛System operacyjny jest ceną jaką płacimy za
wygodę w posługiwaniu się zasobami systemu
komputerowego
☛System operacyjny musi mieć wiedzę o
wszystkich możliwych sytuacjach i sposobach
reagowania na nie
Po co na system operacyjny?
(c.d)
☛System operacyjny powinien być szczególnie
kontrolowany i rozliczany z każdego wykorzystania
zasobów w ramach zleconych mu do wykonania
zadań
☛Architektury systemów operacyjnych
☛monolityczna (scentralizowana)
☛mikrojądra (zdecentralizowana)
☛Przykłady systemów
☛Linux, FreeBSD - dostępny kod źródłowy
☛Windows 9X\NT\2K\XP, SunOS, OS/2 - płatne
Struktura systemów operacyjnych
☛System zarządzania zadaniami (procesami)
☛System zarządzania pamięcią operacyjną
☛System zarządzania plikami
☛System zarządzania wejściem-wyjściem
☛Sieciowy system operacyjny
☛System ochrony
☛System interpretacji poleceń
☛Instalacja (generacja) systemu
Proste systemy wsadowe
☛Wynajęty operator (bardzo ważna osoba!) do
wczytywania zadań tzw. wsadu (ang. batch)
☛Dodany czytnik kart perforowanych
☛Redukcja czasu wykonania przez wsad o
podobnych parametrach
☛Automatyczne kolejkowanie zadań
☛Rezydentny monitor (system)
☛inicjowanie zadań, komendy operatorskie
☛przekazywanie kontroli wykonywanym zadaniom (ang.
job)
☛przejęcie kontroli po zakończeniu zadania
Spooling
☛Simultaneous Pheripheral Operation On-Line umożliwia wykonanywanie zadań w czasie
operacji we/wy innych zadań
☛wczytanie zadania z czytnika kart na dysk do kolejki zadań
(ang. job queue)
☛wyprowadzenie wydruku zakończonego zadania do kolejki
na dysku (ang. print queue) a potem drukarkę
☛Pula zadań (ang. job pool ) - zadania na dysku
są wybierane do wykonania w taki sposób aby
zwiększyć wykorzystanie procesora
Wieloprogramowane systemy
wsadowe
☛Wiele zadań jest przechowywanych w pamięci
operacyjnej a procesor, w czasie oczekiwania
jednego zadania na jakąś usługę np. operację
wejścia/wyjścia lub zamontowanie taśmy jest
przydzielany innemu zadaniu
☛pierwszy przypadek gdy monitor decyduje za
użytkowników a w zasadzie za operatora systemu (stąd
możliwe wytłumaczenie nazwy system operacyjny)
☛początek końca wszechwładzy operatora systemu
komputerowego
Systemy z podziałem czasu ang. Time-Sharing Systems
☛Rozszerzenie wieloprogramowości (ang.
multiprogramming)
☛Procesor jest przydzielony jedynie zadaniom w
pamięci operacyjnej i wykonuje na przemian
wiele zadań, przy czym przełączenia następują
tak często, że użytkownicy mogą współdziałać z
programem podczas jego wykonania
☛Jedno z zadań w pamięci: dialog z użytkownikiem
(sesja)
Systemy rozproszone
☛Rozproszone przetwarzanie za pomocą wielu
procesorów zwanych węzłami (ang. nodes)
☛Systemy luźno powiązane (ang. loosely coupled)
lub rozproszone (ang. distributed systems) każdy procesor ma własną pamięć lokalną;
procesory komunikują się szybkim łaczem
☛Powody:
☛podział zasobów: zdalne drukowanie plików
☛przyspieszenie obliczeń, dzielenie obciążeń (ang.load
sharing)
☛niezawodność, komunikacja: poczta (ang. e-mail)
Sieci komputerowe
☛Aby systemy operacyjne mogły się
komunikować potrzebne są sieci komputerowe
☛Komunikacja w sieci komputerowej odbywa się
na podstawie ściśle określonego zbioru reguł
zwanego protokołem sieciowym
☛Przykłady protokołów sieciowych: TCP/IP Internet, IPX/SPX - Novell, NetBEUI - Microsoft
☛Inne protokoły sieciowe: PPP, SLIP, AX.25,
FDDI, ATM
☛Protokoły zwykle przedstawia się za pomocą
modelu
Protokoły - model OSI
☛Użytkowa (ang. Application) - usługi sieciowe
(e-mail, FTP)
☛Prezentacja (ang. Presentation) - reprezentacja
danych (format)
☛Sesja (ang. Session) - zarządzanie sesjami
(login, exit)
☛Transport - niezawodność transmisji
☛Sieć (ang. Network) - wybór trasy (routing)
☛Łącze (ang. Data Link) - transfer przez łącza
☛Fizyczna (ang. Physical) - transfer binarny
Model OSI
Porównanie protokołów - model
OSI
Protokoły - model TCP/IP
☛Użytkowa (ang. Application) - FTP, TFTP, HTTP,
SMTP, DNS
☛Transport - TCP
☛Internet ( Network ) - IP
☛Interfejs sieci (ang. Network Access) (Data Link
+ Physical ) - Ethernet
☛Rudymentarne warstwy - Prezentacji i Sesji
Sieciowe systemy operacyjne
☛Sieciowy system operacyjny (ang. network
operating system) tworzy środowisko, w którym
użytkownicy - świadomi wielości maszyn - mają
dostęp do zdalnych zasobów, rejestrując się na
odpowiednich zdalnych maszynach lub
przesyłając do własnych maszyn dane z maszyn
zdalnych
☛Przykłady: NFS - Unix, SMB - Windows, NCP Novell
Sieciowy system komputerowy
☛Sieciowy system komputerowy jest częścią
systemu komputerowego odpowiedzialną za
komunikowanie się komputerów przez łącza
☛sprzęt - medium transmisji danych, karta sieciowa, modem
☛system operacyjny - implementacja protokołu (TCP/IP,
NetBEUI, IPX/SPX ) w jądrze
☛sieciowy podsystem operacyjny : SMB, NFS, NCP
☛programy użytkowe - przeglądarka WWW, telnet, ftp
☛użytkownicy : zdalny komputer, osoba używająca ftp, itp.
Współczesne systemy operacyjne
☛Cechy wspólne
☛architektura mikrojądra- zawiera jedynie niezbędne funkcje
☛architektura monolityczna
☛wielowątkowość
☛proces (zadanie) składa się z wątków
☛SMP
☛(pod)system sieciowy
☛systemy grafiki (GUI) i wydruku
☛Windows: 2K/XP
☛Unix: Solaris 2.x, 4.4BSD, Linux
☛Maszyny wirtualne: JavaVM, VMware
Literatura
☛A. Silberschatz, P.B. Gavin, Podstawy systemów
operacyjnych, wyd. III, WNT, 2000 (tł. 5th ed.)
☛http://www.bell-labs.com/topic/books/os-book
☛W. Stallings, Organizacja i architektura systemu
komputerowego. Projektowanie systemu a jego
wydajność, PWN, Warszawa, 2000 (tł. 4th ed.)
☛http://William.Stallings.com/