so-wykl1

53
Systemy operacyjne Opracowano na podst.: Operating System Concepts – 8 th Edition, Silberschatz, Galvin and Gagne ©2009

description

OS systems

Transcript of so-wykl1

Page 1: so-wykl1

Systemy operacyjne

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009

Page 2: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.2

Informacje o kursie

• Prowadzący: – Andrzej Lewandowski, dr inŜ. – Email: [email protected]

Katedra Teorii Sygnałów, Instytut Telekomunikacji, Teleinformatyki i Akustyki

• Literatura:– A. Silberschatz., P.B. Galvin, G. Gagne „Podstawy systemów

operacyjnych”, Wyd. 7, WNT, 2006– W. Stallings , „Systemy operacyjne. Struktura i zasady budowy”, PWN,

2005

• Strona kursu:– http://zts.ita.pwr.wroc.pl/dydaktyka

• Zaliczenie kursu

Page 3: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.3

Wykład 1.: Wprowadzenie do S.O.

• Do czego słuŜą systemy operacyjne

• Organizacja systemów komputerowych

• Architektura systemów komputerowych

• Struktura systemu operacyjnego

• Działanie systemu operacyjnego

• Zarządzanie procesami

• Zarządzanie pamięcią

• Zarządzanie magazynowaniem danych

• Ochrona i bezpieczeństwo

• Systemy rozproszone

• Systemy do zastosowań specjalnych

• Środowiska obliczeniowe

• Systemy operacyjne Open-Source

Page 4: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.4

Cel

• Przegląd najwaŜniejszych składowych systemów operacyjnych

• Przedstawienie sposobu w jaki są zorganizowane systemy komputerowe

Page 5: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.5

Co to jest system operacyjny?

• Program będący pośrednikiem pomiędzy uŜytkownikiem komputera, a sprzętem komputerowym

• Zadania systemu operacyjnego:

– Wykonywanie programów uŜytkownika i ułatwianie rozwiązywania problemów uŜytkownika

– Ułatwienie korzystania przez uŜytkownika z systemu komputerowego

– Wykorzystywania sprzętu komputera (hardware, HW) w sposób wydajny

Page 6: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.6

Struktura systemu komputerowego

• W systemie komputerowym moŜna wyróŜnić cztery składowe

– Sprzęt – zapewnia podstawowe zasoby do obliczeń:

• Procesor (CPU – Central Processing Unit), pamięć, urządzenia we/wy (input/output - I/O)

– System operacyjny

• Steruje i koordynuje uŜywanie sprzętu przez róŜne aplikacje i uŜytkowników

– Aplikacje – wyznaczają sposoby wykorzystywania zasobów systemu do rozwiązywania problemów obliczeniowych

• Procesory tekstu, kompilatory, przeglądarki sieciowe, systemy baz danych, gry, ...

– UŜytkownicy

• Ludzie, maszyny, inne komputery

Page 7: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.7

Składowe systemu komputerowego

Page 8: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.8

Definicja systemu operacyjnego

• System operacyjny jest dystrybutorem (alokatorem) zasobów

– Zarządza wszystkimi zasobami

– Decyduje komu przydzielić zasoby w przypadku Ŝądań powodujących konflikt – cel: efektywne i uczciwe wykorzystanie zasobów

• System operacyjny jest programem sterującym

– Steruje wykonywaniem programów tak aby zapobiegać błędom i niewłaściwemu wykorzystaniu komputera, obsługuje i kontroluje pracę urządzeń we/wy

Page 9: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.9

Definicja systemu operacyjnego c.d.

• Brak powszechnie zaakceptowanej definicji

– Dobre przybliŜenie: „Wszystko co dostarcza producent kiedy zamawiasz system operacyjny”

– Definicja ta jest bardzo ogólna

• „Program, który bez przerwy działa w komputerze” to jądro. Wszystko poza tym to program systemowy (dostarczany wraz z systemem) lub program uŜytkowy

Page 10: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.10

Organizacja systemu komputerowego

• Działanie systemu komputerowego

– Jeden lub więcej CPU, sprzętowych sterowników urządzeń (device

controller) połączonych wspólną magistralą zapewniającą dostęp do wspólnej pamięci

– CPU i urządzenia działają równolegle konkurując o cykle pamięci

Page 11: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.11

Budowa komputera

• Składowe komputera (oryg. W.Stallings „Systemy operacyjne. Struktura i zasady budowy”)

Page 12: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.12

Rejestry i cykl rozkazowy

• Licznik rozkazów (Program counter (PC))

– Zawiera adres rozkazu do pobrania

• Rejestr rozkazów (Instruction register (IR))

– Zawiera ostatnio pobrany rozkaz

• Wykonanie rozkazu w architekturze von Neumanna (oryg. W.Stallings„Systemy operacyjne. Struktura i zasady budowy”)

Page 13: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.13

Działanie systemu komputerowego -uruchomienie komputera

• Program rozruchowy (ang. bootstrap program) jest ładowany po włączeniu zasilania bądź ponownym uruchomieniu

– Zwykle umieszczony w ROM lub EEPROM, nazywany teŜ (ang.) firmware

– Inicjalizuje system (rejestry CPU, pamięć, kontrolery urządzeń,...)

– Ładuje jądro systemu operacyjnego do pamięci rozpoczyna jego wykonywanie

– Następuje oczekiwanie na zdarzenia

Page 14: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.14

Przerwania

• Zdarzenia są sygnalizowane za pomocą przerwań (interrupt) sprzętowych lub programowych

• Przerwania sprzętowe są zgłaszane do CPU za pomocą sygnałów elektrycznych na magistrali systemowej

• Program moŜe zgłaszać przerwanie wykonując specjalną operację zwaną wywołaniem systemowym (system call) lub inaczej wywołaniem monitora (monitor call)

• Procesor przestaje wykonywać to co robił i przechodzi do wykonania instrukcji znajdującej się w określonej lokacji

• Lokacja ta zawiera adres startowy procedury obsługi przerwania

• Procedura ta wykonuje się, a po jej zakończeniu CPU wraca do wykonywania przerwanych obliczeń

Page 15: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.15

Przerwanie - przebieg czasowy

Page 16: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.16

Wykorzystanie przerwań

• Przerwanie przekazuje sterowanie do procedury obsługi przerwania za pomocą wektora przerwania (ang. interrupt vector), tzn. tablicy wskaźników do procedur obsługi przerwań, zawierającej adresy wszystkich procedur obsługi przerwań

• Architektura przerwań musi uwzględnić zapamiętanie adresu przerwanej instrukcji

• Często przerwania są zablokowane na czas obsługi innego przerwania

• Pułapka (trap) czyli wyjątek (exception) jest przerwaniem wygenerowanym programowo na skutek błędu (np. dzielenie przez zero) lub Ŝądania uŜytkownika, które musi być obsłuŜone przez S.O. – Przejście do wektora przerwań – rozkaz trap (w niektórych systemach

syscall

• System operacyjny jest sterowany przerwaniami (interrupt driven)

Page 17: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.17

Struktura we/wy

• Urządzenia we/wy (ang. I/O) i CPU mogą pracować równolegle

• KaŜdy kontroler urządzenia zarządza określonym typem urządzenia

• KaŜdy kontroler urządzenia posiada lokalny bufor i rejestry sterujące

• Zwykle s.o. posiada moduły obsługi urządzenia (device drivers), które rozumieją swoje sterowniki urządzeń

• CPU kopiuje dane z/do pamięci głównej do/z buforów lokalnych

• Operacja I/O odbywa się pomiędzy urządzeniem a lokalnym buforem kontrolera

• Kontroler urządzenia informuje moduł obsługi urządzenia, Ŝe zakończył operację za pomocą przerwania

• Moduł zwraca sterowanie do s.o.

Page 18: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.18

Struktura we/wy – przerwania we/wy

• Po rozpoczęciu operacji we/wy sterowanie wraca do procesu uŜytkownika dopiero po zakończeniu operacji we/wy (we/wy blokujące)

– Czekanie na zakończenie transmisji:

• Instrukcja wait powodująca bezczynność CPU do wystąpienia przerwania

• Pętla czekania

• NajwyŜej jedno Ŝądanie we/wy jest niezakończone w danej chwili, nie ma równoległych operacji we/wy

• Po rozpoczęciu operacji we/wy sterowanie wraca do procesu uŜytkownika bez czekania na zakończenie operacji we/wy (we/wy nieblokujące)

– Wywołanie systemowe – Ŝądanie do S.O. pozwalające uŜytkownikowi czekać na zakończenie we/wy

Page 19: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.19

blokujące i nieblokujące we/wy

Page 20: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.20

Anynchroniczne we/wy

• Aby odnotować wiele zamówień na operacje we/wy, S.O. wykorzystuje:

– Tablicę stanów urządzeń (Device-status table) jej elementy określają typ urządzenia, adres stan

• Urządzenie we/wy wysyła przerwanie jeśli wymaga obsługi

– S.O. określa które urządzenie zgłosiło przerwanie, a następnie

– pobiera z tablicy informacje o stanie urządzenia i zmienia odnotowując przerwanie

• Zakończenie operacje we/wy równieŜ sygnalizowane przerwaniem przez większość urządzeń

• Na koniec procedura obsługi przerwania zwraca sterowanie

Page 21: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.21

Bezpośredni dostęp do pamięci - Direct Memory Access (DMA)

• UŜywane dla urządzeń we/wy o duŜej szybkości zdolnych do transmitowania danych z szybkościami zbliŜonymi do szybkości dostępu do pamięcikomputera

• Sprzętowy sterownik urządzenia transferuje bloki danych z buforabezpośrednio do pamięci głównej komputera bez udziału CPU

• Zamiast generować jedno przerwanie na kaŜdy bajt danych, generowane jest jedno przerwanie po zakończeniu transferu bloku

Page 22: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.22

Struktura pamięci

• Pamięć główna (main memory) lub inaczej pamięć operacyjna (RAM –random access memory)– jedyne miejsce na dane o duŜej pojemności, do którego CPU ma bezpośredni dostęp

• Pamięć pomocnicza (secondary storage) – rozszerzenie pamięci głownejzapewniające duŜą pojemność i nieulotność (non-volatile) danych

• Dyski magnetyczne – płytki pokryte materiałem magnetycznym

– Powierzchnia dysku jest logicznie podzielona na ścieŜki(tracks), które podzielone są na sektory

– Kontroler dysku określa logiczną współpracę pomiędzy urządzeniem, a komputerem

Page 23: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.23

Hierarchia systemów magazynowania danych

• Systemy magazynowania danych mają strukturę hierarchiczną

– szybkość

– koszt

– ulotność danych

Page 24: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.24

Hierarchia urządzeń do magazynowania danych

Page 25: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.25

Wykorzystanie pamięci podręcznej

• Przechowywanie podręczne (caching) – kopiowanie informacji do szybszego systemu magazynowania danych – pamięci podręcznej (cache). Pamięć główna moŜe być postrzegana jako ostatnia pamięć podręczna dla pamięci pomocniczej

• Wykorzystanie pamięci podręcznej jest b. waŜne na wielu poziomach komputera (w sprzęcie, systemie operacyjnym, oprogramowaniu)

• Wykorzystywane dane są kopiowane tymczasowo z wolniejszej do szybszej pamięci

Page 26: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.26

Wykorzystanie pamięci podręcznej c.d.

• Najpierw jest sprawdzane czy potrzebna informacja znajduje się w pamięci podręcznej

– JeŜeli jest, dane są wykorzystywane bezpośrednio z pamięci podręcznej) (duŜa szybkość)

– JeŜeli nie, dane są kopiowane do pamięci podręcznej i stamtąd wykorzystywane

• Pamięć podręczna jest mniejsza niŜ pojemność nośnika z którego dane są do niej kopiowane

– Zarządzanie pamięcią podręczną – waŜny problem

– Dobór pojemności pamięci podręcznej

Page 27: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.27

Jak pracują współczesne komputery

Page 28: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.28

Architektura systemów komputerowych

• Większość systemów uŜywa jednego procesora ogólnego przeznaczenia (od urządzeń PDA do duŜych komputerów)– Większość systemów ma równieŜ procesory specjalnego przeznaczenia

• Systemy wieloprocesorowe – coraz powszechniej uŜywane– Znane równieŜ jako: systemy równoległe, systemy ściśle powiązane

(tightly-coupled systems)– Zalety

1.Większa przepustowość (throughput)2.Ekonomiczność3.Zwiększona niezawodność – łagodna degradacja

(graceful degradation) lub odporność na błędy/awarie (fault-tolerant)

– Dwa typy1.Wieloprzetwarzanie asymetryczne (Asymmetric Multiprocessing)2.Wieloprzetwarzanie symetryczne (Symmetric Multiprocessing)

Page 29: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.29

Architektura wieloprzetwarzania symetrycznego

Page 30: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.30

Procesor dwurdzeniowy (Dual-Core)

Page 31: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.31

Systemy zgrupowane (clustered systems)

• Jak systemy wieloprocesorowe ale składają się z wielu systemów połączonych ze sobą sieciami lokalnymi, pracujących razem

• zwykle współdzielą pamięć masową tworzącą sieć pamięci masowych(storage-area network (SAN))

– Ich zadanie to uzyskanie wysokiej dostępności (high-availability) usług odpornych na awarię

– W węzłach grupy (klastra) działa warstwa oprogramowania klastra

– KaŜdy węzeł moŜe nadzorować jeden lub więcej innych węzłów

– W przypadku awarii moŜna przejąć z uszkodzonej maszyny jej zasoby pamięciowe i wznowić aplikację (na maszynie nadzorującej)

• Klastry asymetryczne (Asymmetric clustering) jedna z maszyn w gotowości, a druga pracuje

• Klastry symetryczne (Symmetric clustering) wiele węzłów wykonuje aplikacje monitorując się wzajemnie

Page 32: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.32

Struktura systemu operacyjnego

• Wieloprogramowanie niezbędne do wydajnej pracy

– Pojedynczy uŜytkownik nie jest w stanie zapewnić zajęcia dla CPU i urządzeń we/wy przez cały czas

– Wieloprogramowanie organizuje zadania (kod i dane), tak aby CPU zawsze miało jedno z tych zadań do wykonania

– Pewien podzbiór wszystkich zadań (pula zadań) w systemie jest umieszczony w pamięci

– Jedno z tych zadań jest wybrane i wykonywane (tzw. Szeregowanie/planowanie zadań - job scheduling)

– Kiedy zadanie musi poczekać (np. na we/wy) system operacyjny przełącza wykonywanie na inne zadanie

Page 33: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.33

Struktura systemu operacyjnego

• Praca z podziałem czasu (timesharing)/wielozadaniowość (multitasking)jest logicznym rozszerzeniem wieloprogramowanie, w którym CPU przełącza się tak często, Ŝe uŜytkownik moŜe współdziałać z kaŜdym zadaniem podczas jego wykonywania – system staje się interaktywny

– Czas odpowiedzi (Response time) powinien być < 1 sekundy

– KaŜdy uŜytkownik ma przynajmniej jeden wykonujący się program w pamięci�proces

– JeŜeli kilka zadań jest gotowych do wykonania � planowanie przydziału procesora (CPU scheduling)

– JeŜeli procesy nie mieszczą się w pamięci, wymiatanie (swapping)przenosi je na dysk i z powrotem do pamięci celu wykonania

– Pamięć wirtualna (Virtual memory) pozwala na wykonywanie procesów nie mieszczących się w całości w pamięci

Page 34: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.34

Wygląd pamięci w systemie wieloprogramowym

Page 35: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.35

Działania systemu operacyjnego

• System operacyjny jest sterowany przerwaniami• Błędy w programie lub Ŝądanie tworzy wyjątek (exception) inaczej pułapkę

(trap)– Dzielenie przez zero, Ŝądanie od programu uŜytkownika usługi od S.O.

• Inne problemy : pętle nieskończone, procesy modyfikujące się nawzajem lub system operacyjny

• Praca w Dual-mode pozwala S.O. chronić siebie i inne składowe systemu– Tryb uŜytkownika (User mode) i tryb jądra (kernel mode) inne nazwy:

tryb systemu, monitora, uprzywilejowany– Bit trybu (mode bit) w sprzęcie

• Daje moŜliwość rozróŜnienia czy system właśnie wykonuje kod uŜytkownika czy kod jądra systemu

• Pewne uprzywilejowane (priviledged) instrukcje kodu maszynowego mogą być wykonywane tylko w trybie jądra

• Wywołanie systemowe zmienia tryb na tryb jądra, powrót z wywołania przywraca ten tryb na tryb uŜytkownika

Page 36: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.36

Przejście z trybu uŜytkownika do trybu jądra

Page 37: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.37

Czasomierz (Timer)

• Wykorzystanie czasomierza do zapobiegania nieskończonym pętlom / lub próbom obchodzenia usług systemowych

– Ustawienie przerwania po zadanym czasie

– S.O. zmniejsza licznik

– Kiedy licznik zejdzie do zera generowane jest przerwanie

– Ustawienie przerwania po czasie, przed wybraniem procesu do wykonania w celu odzyskania kontroli przez s.o. lub zakończenia procesu, który przekroczył przydzielony mu czas

Page 38: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.38

Zarządzanie procesami

• Proces jest to wykonujący się program. Jest to jednostka pracy w systemie. Pojęcie program jest statyczne, proces - dynamiczne.

• Proces potrzebuje zasobów aby wykonać swoją pracę:

– CPU, pamięć, I/O, pliki

– Dane inicjalizujące

• Zakończenie procesu wymaga zwrócenia wszystkich moŜliwych do ponownego uŜycia zasobów

Page 39: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.39

Zarządzanie procesami c.d.

• Proces jednowątkowy (single-threaded) ma jeden licznik rozkazów(program counter) zawierający adres następnej instrukcji do wykonania

– Proces wykonuje instrukcje sekwencyjnie jedną po drugiej aŜ do zakończenia

• Proces wielowątkowy (multi-threaded) ma po jednym liczniku rozkazów na kaŜdy wątek

• Zwykle system ma wiele procesów, kilku uŜytkowników, kilka s.o. działających współbieŜnie na jednym lub wielu CPU

– WspółbieŜność na jednym CPU przez multipleksowanie procesora pomiędzy procesy/ wątki

Page 40: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.40

Zadania zarządzania procesami

System operacyjny jest odpowiedzialny za następujące czynności w odniesieniu do mechanizmu zarządzania procesami:

• Tworzenie i usuwanie procesów uŜytkownika i systemowych

• Zawieszanie i wznawianie wykonania procesów

• Dostarczanie mechanizmów do synchronizacji procesów

• Dostarczanie mechanizmów do komunikacji procesów

• Dostarczanie mechanizmów do zapobiegania zakleszczeniu

Page 41: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.41

Zarządzanie pamięcią

• Wszystkie dane w pamięci przed i po przetwarzaniu

• Wszystkie instrukcje w pamięci aby moŜna było je wykonać

• Zarządzanie pamięcią określa co jest w pamięci kiedy

– optymalizowane jest wykorzystanie CPU i czasów odpowiedzi komputera na Ŝądania uŜytkowników

• Zadania zarządzania pamięcią:

– Przechowywanie i aktualizacja informacji o tym jaka część pamięci jest uŜywana i przez kogo

– Decydowanie które procesy (lub ich części) i dane ładować i odsyłać z pamięci

– Alokowanie i dealokowanie przestrzeni pamięci w miarę potrzeb

Page 42: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.42

Zarządzanie systemem plików

• S.O. zapewnia jednolity logiczny sposób w jaki są widziane systemy przechowywania danych

– Abstrakcja fizycznych własności do logicznej jednostki przechowywania danych – pliku (file)

– Plik – jest to zbiór powiązanych ze sobą informacji zdefiniowanych przez jego twórcę

– KaŜdy nośnik jest kontrolowany przez urządzenie (np. napęd dysku, napęd taśmy)

• RóŜne własności:

– czas dostępu,

– pojemność

– szybkość transferu danych

– sposób dostępu (sekwencyjny lub losowy)

Page 43: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.43

Zarządzanie systemem plików

• Zarządzanie systemem plików

– Pliki są zwykle grupowane w katalogi

– Kontrola dostępu do plików w większości systemów w celu określenia kto moŜe mieć do czego dostęp

– Przykładowe zadania S.O.

• Tworzenie i kasowanie plików i katalogów

• Udostępnienie elementarnych funkcji do manipulowanie plikami i katalogami

• Odwzorowanie plików na obszary pamięci pomocniczej

• Tworzenie kopii bezpieczeństwa (backup) na stabilnych (nieulotnych) nośnikach informacji

Page 44: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.44

Zarządzanie pamięcią pomocniczą

• Zwykle dyski są uŜywane do przechowywania danych, które nie mieszczą się w pamięci głównej bądź teŜ danych, które muszą być przechowywane przez długi okres czasu

• Właściwe zarządzanie jest kluczowe• Ogólna szybkość pracy komputera zaleŜy istotnie od podsystemu dysków i

algorytmów do dostępu do nich• Zadania S.O.

– Zarządzanie wolną przestrzenią– Alokacja miejsca– Planowanie dostępu do dysku

• Niektóre nośniki informacji (tzw. pamięć trzeciorzędna) nie muszą być b. szybkie:– Dyski optyczne, taśmy magnetyczne– TeŜ trzeba nimi zarządzać (S.O., aplikacje)– RoŜny typ: WORM (write-once, read-many-times), RW (read-write)

Page 45: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.45

Wydajność róŜnych poziomów pamięci

• Transfery danych pomiędzy poziomami mogą być jawne bądź niejawne

Page 46: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.46

Migracja liczby całkowitej z dysku do rejestru

• W środowisku wielozadaniowym naleŜy uwaŜać, aby uŜywać najświeŜszej wartości bez względu, gdzie się znajduje w hierarchii

• Środowiska wieloprocesorowe musi zapewnić spójność pamięci podręcznej w sprzęcie, tak, aby wszystkie CPU miały najświeŜszą wartość w swoich pamięciach podręcznych

• W środowiskach rozproszonych sytuacja jest bardziej skomplikowana

– MoŜe istnieć wiele kopii tej samej zmiennej

Page 47: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.47

Podsystem we/wy

• Jednym z zadań S.O. jest „odseparowanie” uŜytkownika od konieczności znajomości urządzeń

• Podsystem we/wy:

– Zarządzanie pamięcią we/wy włączając w to buforowanie (tymczasowe zapamiętywanie danych podczas ich transferu), odsyłanie danych do pamięci podręcznej (caching) (zapamiętywanie części danych w szybszej pamięci ze względów wydajnościowych), spooling (nakładanie wyjścia dla jednego zadania z wejściem innych zadań)

– Ogólny interfejs do modułów sterujących urządzeń

– Modułów sterujących (programów obsługi) dla urządzeń specjalnych

Page 48: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.48

Ochrona i bezpieczeństwo

• Ochrona – dowolny mechanizm do kontroli dostępu procesów lub uŜytkowników do zasobów zdefiniowanych w S.O.

• Bezpieczeństwo – obrona systemu przed wewnętrznymi i zewnętrznymi atakami– Szeroki zakres: denial-of-service, robaki, wirusy, kradzieŜ toŜsamości,

kradzieŜ usług• Systemy zwykle wpierw sprawdzają uŜytkownika w celu określenia kto moŜe

co robić– ToŜsamości uŜytkowników (identyfikator uŜytkownika, user ID) – nazwa i

skojarzony z nią numer (jeden na uŜytkownika)– User ID jest następnie kojarzony ze wszystkimi plikami i procesami

uŜytkownika w celu kontroli dostępu– Identyfikator grupy (group ID) pozwala definiować zbiór uŜytkowników,

identyfikator ten jest skojarzony z kaŜdym procesom i plikiem– Eskalacja uprawnień (Privilege escalation) pozwala uŜytkownikom

zwiększać swoje uprawnienia (tzw. efektywne ID)

Page 49: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.49

Środowiska obliczeniowe

• Tradycyjny komputer

– DuŜa zmian na przestrzeni lat

– Środowisko biurowe

• Kiedyś: komputery podłączone do sieci, terminale podłączone do komputera głównego, minikomputery (praca wsadowa i z podziałem czasu)

• Teraz portale udostępniające Sieć pozwalające zdalnym systemom mieć dostęp do wspólnych zasobów

– Sieci domowe

• Kiedyś pojedynczy system, potem modemy

• Obecnie często zapora ogniowa (firewall), szerokopasmowy dostęp do sieci

Page 50: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.50

Środowiska obliczeniowe c.d.

� Środowisko typu klient-serwer

� „głupie” terminale zastąpione „mądrymi” komputerami PC

� Wiele systemów działa jak systemy serwerowe, odpowiadając na Ŝądania generowane prze klientów

� Serwer obliczeniowy udostępnia klientom interfejs do Ŝądania usług (np. bazy danych)

� Serwer plików udostępnia klientom interfejs do zapisywania i odczytywania plików

Page 51: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.51

Środowiska obliczeniowe partnerskie Peer-to-Peer

• Inny model systemu rozproszonego

• W P2P niema podziału na serwery i klientów

– Wszystkie węzły są równe (peer)

– Mogą być zarówno klientami jak i serwerami, lub jednym i drugim

– Węzeł musi dołączyć do sieci P2P

• Rejestruje swoje usługi w centralnym rejestrze usług w sieci, lub

• Rozgłasza Ŝądanie usługi i odpowiada na Ŝądania usług za pomocą tzw. discovery protocol

– Przykłady Napster, Gnutella

Page 52: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.52

Środowiska obliczeniowe webowe

• Sieć stała się wszechobecna

• Podstawowe urządzenia: komputery PC

• Coraz więcej urządzeń zostaje podłączonych do sieci w celu dostępu do WWW

• Nowa kategoria urządzeń do zarządzania ruchem w sieci pomiędzy serwerami: wyrównywacze obciąŜeń (load balancers)

• S.O. takie jak Windows 95 (klient), wypierane przez Linuksa i Windows XP/Vistę, gdzie mogą być serwerami i klientami

Page 53: so-wykl1

Opracowano na podst.: Operating System Concepts – 8 th Edition , Silberschatz, Galvin and Gagne ©2009 1.53

S.O. Open-Source

• S.O. udostępniane w formacie kodów źródłowych zamiast formatu binarnego (closed-source)

• Jest to odpowiedź na ochronę prze kopiowaniem (copy protection) i ruchemDigital Rights Management (DRM)

• Zapoczątkowane przez Free Software Foundation (FSF), twórcę GNU Public License (GPL)

• Przykłady: GNU/Linux, BSD UNIX (włączając rdzeń Mac OS X), i Sun Solaris