124
1 Systemy Operacyjne Sem. Zimowy 2007/2008 Dr Piotr Smejda E-mail: [email protected] htttp://piotrsmejda.wshe.lodz.pl student

Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

  • Upload
    lamdan

  • View
    246

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

1

Systemy Operacyjne

Sem. Zimowy 2007/2008Dr Piotr Smejda

E-mail: [email protected]

htttp://piotrsmejda.wshe.lodz.plstudent

Page 2: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

2

Literatura:

• A. Silberschatz, P.B. Galvin, G. Gagne, „Podstawy systemówoperacyjnych”, wydanie szóste, WNT 2005; wydanie siódme, WNT 2006.

Page 3: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

3

Ogólny plan wykładu (7 h lekcyjnych)

• Wprowadzenie i przegląd.• Struktury systemów komputerowych.• Struktury systemów operacyjnych.• Zarządzanie procesami.• Zarządzanie zasobami pamięci..• Zarządzanie operacjami wejścia-wyjścia.• Ochrona i bezpieczeństwo.• Przykłady systemów: linux, winnt/2000/xp/vista i

inne

Page 4: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

4

Wprowadzenie• System komputerowy: sprzęt (ang. hardware) –dostarcza podstawowe zasoby systemu

komputerowego: procesor (jednostka centralna, ang. central processing unit –CPU), pamięć, urządzenia wejścia-wyjścia (WE/WY) itd.

System operacyjny –nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy aplikacyjne (użytkowe) – szczegóły później

Programy aplikacyjne (kompilatory, systemy baz danych, gry komputerowe, programy dla biznesu)

Określają sposoby użycia zasobów systemu do rozwiązywania zadań stawianych przez użytkowników

Użytkownicy (ludzie, maszyny, inne komputery).

Page 5: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

5

Schemat systemu komputerowego

Page 6: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

6

Co to jest System Operacyjny?• System operacyjny –program, który działa jako

pośrednik między użytkownikiem komputera a sprzętem komputerowym.

• Zadania systemu operacyjnego:Zarządzanie zasobami komputera: procesory, pamięć, urządzenia wejścia wyjścia, porty komunikacyjne itd.Ukrywanie szczegółów sprzętowych przez tworzenie abstrakcyjnych obiektów (maszyn wirtualnych).Tworzenie środowiska, w którym użytkownik może wydajnie i wygodnie wykonywać programy.

Page 7: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

7

Historia SO• I. Systemy komputerów głównych (Mainfraime

Systems)A) Wczesne systemy –(lata 1950-te)

Struktura: duże maszyny obsługiwane przy pomocy konsoli;system jednoużytkownikowy; programista/użytkownik jako operator;taśmy papierowe i karty perforowane jako nośniki.

Wczesne oprogramowanie: asemblery, kompilatory, programy ładujące (loaders); biblioteki typowych funkcji; sterowniki urządzeń

Zalety –wysoki poziom bezpieczeństwa.Wady – nieefektywne wykorzystanie drogich zasobów:niski poziom

wykorzystania CPU, znaczący czas potrzebny na czynności operatorskie.

Page 8: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

8

B) Proste systemy wsadowe (Simple Batch Systems)

Konieczne zatrudnienie operatora (użytkownik operator). Użytkownik przygotowuje zadanie (na kartach perforowanych) i przekazuje je operatorowi. Operator uruchamia zadanie i wyniki zwraca użytkownikowi.

Zalety –większa przepustowość

Wady –niska wydajność: długi czas obiegu zadania;

Page 9: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

9

C) Wieloprogramowe systemy wsadoweWiele zadań rezyduje w tym samym czasie w pamięci, a procesor jest im

odpowiednio przydzielany (współbieżność);Niezbędne cechy systemu operacyjnego:Szeregowanie zadań – decydowanie, które zadania z puli zadań mają

być załadowane do pamięci operacyjnej.Zarządzanie pamięcią –system musi alokować pamięć dla wielu zadań.Planowanie przydziału procesora (CPU scheduling) –system musi

wybrać do uruchomienia jedno spośród wielu zadań w pamięci.Ochrona zadań na wszystkich etapach pobytu w systemie.Alokowanie urządzeń, dostarczanie procedur WE/WY.Zalety:

Wydajne wykorzystanie zasobów (CPU, pamięć operacyjna,urządzenia zewnętrzne).

Wady:Użytkownik nie może ingerować w zadanie w trakcie jego wykonywania, np. reagować na błędy kompilacji, nie może na bieżąco testować programu itd.Długi obieg zadania –od złożenia programu do odebrania wyników.

Page 10: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

10

D) Systemy z podziałem czasu (Time-Sharing Systems)

Procesor wykonuje na przemian wiele różnych zadań (wielozadaniowość, ang. multitasking), a przełączenia następują tak często, że użytkownicy

mogą na bieżąco współdziałać z programami podczas ich wykonywania.• Możliwość pracy interakcyjnej –użytkownik wydaje bezpośrednioinstrukcje systemowi lub programowi i otrzymuje natychmiastoweodpowiedzi (zazwyczaj przy użyciu klawiatury i ekranu monitora).•Bezpośrednio dostępny systemu plików (on-line file system) –użytkownik ma bezpośredni dostęp do plików z programami i danymi(zazwyczaj na dysku).•Wymiana zadania pomiędzy pamięcią a dyskiem w trakcie jego

wykonywania (swapping).•Tworzenie pamięci wirtualnej (virtual memory), tzn. rozszerzeniepamięci operacyjnej pamięcią dyskową –umożliwienie wykonywaniazadań nie mieszczących się w pamięci operacyjnej.•Wielu użytkowników może równocześnie dzielić jeden komputer –każdy z nich odnosi wrażenie jakby dysponował swoim własnym.

Page 11: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

11

WieloprogramowoWieloprogramowość ść iipodział czasu procesorapodział czasu procesora –to podstawowe cechy współczesnych systemów operacyjnych.

Page 12: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

12

2. Systemy biurkowePoczątkowo:Komputery osobiste (W latach 1970-tych.Brak potrzeby maksymalizowania wykorzystania CPU i urządzeń zewnętrznych.Mniej istotna ochrona plików, pamięci.Nacisk na maksimum wygody użytkownika iszybkość kontaktu z użytkownikiem.Systemy operacyjne: MS-DOS, wczesne Microsoft Windows, Apple Macintosh.Później:• Sieci komputerowe, Internet – zmiana podejścia do kwestii ochrony i• bezpieczeństwa (• konieczność ochrony danych, systemów).Szybkie mikroprocesory, duże pamięci – możliwość zastosowania cech systemów dużych

komputerów (wielozadaniowość itd.). Nowa generacja systemów operacyjnych dla PC: Microsoft Windows

NT/2000/XP, IBM OS/2, Apple Macintosh ), Linux.

Page 13: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

13

III. Systemy wieloprocesorowe (Multiprocessor Systems)

Systemy wieloprocesorowe z więcej niż jednym CPU w ścis³ej komunikacji między sobą.• procesory dzielą szynę systemową i zegar, czasami pamięć i urządzenia peryferyczne,

komunikacja zwykle odbywa się przez pamięć dzieloną.Zalety:większa przepustowość, większa niezawodność (łagodna degradacja, tolerancja na

awarie),ekonomika skali (oszczędność).Wieloprzetwarzanie symetryczne ( symmetric multiprocessing: SMP):• Każdy procesor wykonuje identyczną kopię systemu operacyjnego.• Wiele procesów może być wykonywanych równocześnie bez spadku• wydajności. Systemy: Sun Solaris, Linux, MS Windows 2000/XP, Mac OS X. Wieloprzetwarzanie asymetryczne (asymmetric multiprocessing):Każdy procesor ma przydzielone specyficzne zadanie; procesor g³ównymaster) szereguje i przydziela pracę procesorom podrzędnym (slaves).Częściej spotykana w bardzo dużych systemach.

Page 14: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

14

IV. Systemy rozproszone (Distributed Systems)

• Systemy luźno powiązane (loosely coupled) –• każdy procesor ma swoją w³asną pamięć lokalną; procesory komunikują się między sobą za

pomocą różnych linii komunikacyjnych (np. szybkie szyny danych, linie telefoniczne).Zalety:podział zasobów (w różnych miejscach można mieć różne zasoby),przyspieszanie obliczeń (rozdzielanie obliczeń między wiele procesorów, używanie mniej

obciążonych komputerów – tzw. dzielenie obciążeń),niezawodność ( awaria jednego komputera nie wstrzymuje pracy pozosta³ych),komunikacja ( wymiana informacji, plików itd. między węz³ami).Ogromnie zyskały na znaczeniu w ostatnich latach, a w przyszłości powinny jeszcze bardziej się

rozwijać – coraz szybsze itańsze linie komunikacyjne!Internet, a w szczególności WorldWideWeb (• Sieci komputerowe: lokalne (LAN), miejskie (MAN), rozleg³e (WAN), technologie bezprzewodowe sieci ma³oobszarowe (Systemy klient-serwer: systemy serwerów obliczeń, systemy serwerów plików.Systemy Peer-to-Peer (P2P): systemy wymiany plików, np. Napster, Gnutella.Rozproszone systemy operacyjne: systemy w bliskiej komunikacji przez sieć.•

Page 15: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

15

V. Systemy klastroweV. Systemy klastrowe (zgrupowane) (Cluster Systems)Wed³ug ogólnie akceptowanej definicji zgrupowane w klaster komputery dzielą

pamięć dyskową i są blisko ze sobą powiązane poprzez sieć LAN.Różnią się od systemów równoleg³ych tym, że z³ożone są z dwu lub więcej

indywidualnych systemów sprzężonych razem. Zwykle są używane w celu dostarczania serwisów wysokiego poziomu dostępności tj. takich serwisów, które będą dostępne nawet gdy jeden lub więcej systemów w klastrze ulegnie awarii.

Tryb asymetryczny: jeden komputer pozostaje w pogotowiu ( hot-standby host) monitorując aktywne serwery aplikacji – gdy któryś z

nich ulegnie awarii, wówczas przejmuje jego rolę. Tryb symetryczny: wszystkie komputery klastra działają jako aktywneserwery aplikacji i zarazem monitorują się nawzajem na wypadek awarii.

Page 16: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

16

Inne rodzaje klastrów:klastry równoległe: wiele komputerów ma dostęp do tych samych

danych w dzielonej pamięci masowejklastry w sieciach rozleg³ych, np. storage-area networks (SAN) –wiele różnych systemów pod³ączonych do wielu jednostek

pamięci masowej poprzez WAN.

Page 17: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

17

VI. Systemy czasu rzeczywistego (Real-Time Systems)

Używane jako sterowniki urządzeń o ściśle określonym celu.Surowe wymagania czasowe.

• Rygorystyczne systemy czasu rzeczywistego (hard real-time systems):pamięć pomocnicza ma³a lub jej brak, dane przechowywane w pamięci o krótkim czasie dostępu

lub pamięci tylko do odczytu (ROM);• W konflikcie z systemami z podzia³em czasu – dlatego nie są realizowane wuniwersalnych systemach operacyjnych.Zastosowania do sterowania procesami przemys³owymi, nadzorowaniaeksperymentów naukowych, obrazowania badań medycznych itd.Łagodne systemy czasu rzeczywistego (soft real-time systems):krytyczne zadanie do obs³ugi w czasie rzeczywistym otrzymuje pierwszeństwo przed innymi

zadaniami,³agodniejsze wymagania czasowe – mogą występować pewne opóźnienia.• Zastosowania w technikach multimedialnych, wirtualnej rzeczywistości, zaawansowanych

projektach badawczych – wymagających systemów operacyjnych o rozbudowanych w³aściwościach.Znajdują się w większości wspó³czesnych systemów operacyjnych,

Page 18: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

18

VII. Systemy kieszonkowe (Handheld Systems)

Personal digital assistants (PDA), takie jak Palm, Pocket-PC, telefonykomórkowe W porównaniu np. z komputerem PC dysponują niewielką pamięcią,wolnym procesorem, małym ekranem –Ograniczenia w funkcjonalności są równoważone przez ich wygodę iprzenośność (obecnie powszechny jest również dostęp do Internetu).Użyteczność i rola systemów kieszonkowych ciągle wzrasta!Wędrówka cechWiele własności dawnych systemów operacyjnych, opracowanych np. dlakomputerów g³ównych (mainfraimes), zostało zaadaptowanych przezpóźniejsze systemy operacyjne, np. dla PC, a nawet dla PDA.Znajomość historii rozwoju systemów operacyjnych jest bardzo przydatnaW zrozumieniu współczesnych systemów (niektóre idee się odradzają).

Page 19: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

19

Działanie systemu komputerowego

• CPU i sterowniki urządzeń (device controllers) są połączone wspólną szyną systemową (system bus).

• CPU i sterowniki mogą działać współbieżnie.• Każdy sterownik odpowiada za określony typ urządzenia ( np. napędy dysków,

monitor, USB itd.).• Każdy sterownik ma swój lokalny bufor.• CPU przesyła dane między pamięcią operacyjną a lokalnymi buforami.• Operacje wejścia-wyjścia odbywają się między urządzeniami a lokalnymi

buforami sterowników.• Sterownik informuje CPU o zakończeniu swojej operacji za pomocą

przerwania (interrupt).

Page 20: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

20

• Przed operacją WE/WY CPU określa zawartość rejestrów w sterowniku. Sterownik sprawdza stan swoich rejestrów, aby określić rodzaj działania, a następnie wykonuje to działanie ( np. dla operacji czytania przesyła dane z urządzenia do swojego lokalnego bufora).

• O zakończeniu działania sterownik informuje CPU za pomocą przerwania.

Synchroniczne WE/WY (synchronous I/O) – CPU czeka na zakończenie operacji WE/WY.Wada: Nieefektywne wykorzystanie CPU i urządzeń WE/WY

Asynchroniczne WE/WY (asynchronous I/O) – rozpoczęcie operacji WE/WY i kontynuowanie działań systemu operacyjnego lub programu użytkownika bez czekania na zakończenie.

Przy asynch. WE/WY ważna jest Tablica stanów urządzeń (device status table) określająca typ urządzeń, ich adresy i stany (wolne, zajęte, …) – potrzebna do obsługi wielu urządzeń.

Oraz Kolejka oczekujących zamówień dla każdego urządzenia –do obsługi zamówień wielu procesów.Zalety:Efektywniejsze wykorzystanie CPU i urządzeń WE/WY.Na koniec procedura obsługi przerwania urządzenia WE/WY zwraca sterowanie – do programu użytkownika,

do pętli czekania, etc.

Struktura wejścia-wyjścia (WE/WY)

Page 21: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

21

Struktura pamięciPamięć operacyjna lub główna (main memory) – jedyny wielki obszar pamięci dostępny

bezpośrednio procesorowi (za pośrednictwem szyny pamięci) Pamięć pomocnicza (secondary storage) –rozszerzenie pamięci operacyjnej dające możliwość

trwałego przechowywania dużej ilości danych (dyski magnetyczne, taśmy magnetyczne, pamięci elektroniczne typu Flash).

• Dysk magnetyczny –metalowa lub szklana płyta pokryta materiałem magnetycznym; powierzchnia logicznie podzielona na ścieżki (tracks), a te z kolei na sektory (sectors); wiruje z dużą prędkością w napędzie dysku; połączony z komputerem wiązką przewodów zwaną szyną WE/WY; sterownik dysku i sterownik macierzysty (po stronie szyny WE/WY) nadzorują przesyłanie danych między dyskiem a komputerem (sterowniki dysków mają zwykle pamięć podręczną, która jest używana do przesyłania danych z dysku lub na dysk).

• Taśma magnetyczna –taśma pokryta materiałem magnetycznym, znajduje się naszpuli i przewija się do przodu lub do tyłu pod głowicą odczytująco-zapisującą; znacznie wolniejsza od dysku, ale może być kilkakrotnie pojemniejsza; używana głównie do przechowywania rzadko używanych danych (np. archiwizacja, kopie zapasowe, czyli tzw. backup).

• Pamięci typu Flash –elektroniczne urządzenie pamięci nieulotnej; pojemnośćdo kilkudziesięciu GB (dziś), duża szybkość dostępu. Czy wyprą twarde dyski? (laptopy)

Page 22: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

22

Pamięć jest to tablica oznaczona adresami słów lub bajtówKażdy proces działający w komputerze wymaga pamięci operacyjnej do przechowywania kodu swego programu i danych które przetwarza. Dane, które przetwarza proces reprezentowane są przez zmienne programu. Przez zmienną programu rozumie się obszar pamięci o ustalonym adresie początkowym i długości, do którego można odwoływać się z programu poprzez symbol zwany nazwą zmiennej. Każda zmienna posiada swój typ, definiowany jako zbiór,którego elementy mogą być kodowane przez wartości zmiennej, np. typ char języka C koduje znaki zbioru ASCII lub liczby z przedziału -128 do 127. Typ decyduje o długości obszaru przeznaczonego na zmienną. Ważnymi typami zmiennych są zmienne wskaźnikowe. Przechowują one adresy (adresy początku obszaru) innych zmiennych.

Page 23: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

23

Z punktu widzenia zarządzania pamięcią wyróżnia się trzy klasy zmiennych:

. Zmienne statyczne - są tworzone przy starcie procesu i istnieją przez cały czas jego życia. Określenie statyczna odnosi się do sposobu gospodarowania pamięcią tej zmiennej - rezerwuje się ją przy starcie a zwalnia przy końcu procesu. Przez cały czas życia procesu dany obszar pamięci wykorzystywany jest w ten sam sposób - na przechowywanie aktualnej wartości danej zmiennej.

. Zmienne lokalne podprogramów zwane też automatycznymi - są tworzone dla każdego wywołania podprogramu i usuwane po jego zakończeniu.

. Zmienne dynamiczne - są tworzone i usuwane w miarę potrzeby.

Page 24: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

24

wyróżnia się trzy zasadnicze grupy obszarów pamięci, z których korzysta proceswyróżnia się trzy zasadnicze grupy obszarów pamięci, z których korzysta proces:

. Obszary zajmowane przez kod programu i biblioteki. Na pamięci wchodzącej w skład tych obszarów po załadowaniu programu (lub biblioteki) procesor wykonuje jedynie operacje odczytu. Obszary te mogą być wspólne dla różnych procesów wykonujących ten sam program, lub korzystających z tej samej biblioteki ładowanej dynamicznie.

. Obszary zajmowane przez prywatne dane programu, w tym zmienne statyczne i dynamiczne. Obszar ten jest inicjowany przy starcie procesu początkowymi wartościami zmiennych globalnych (często zerami). W trakcie życia procesu dokonywane są zarówno operacje odczytu jak i zapisu. Obszar przechowujący zmienne dynamiczne nazywany jest stertą. Tworzenie i niszczenie zmiennych dynamicznych może powodować zwiększanie się i zmniejszanie tego obszaru w

trakcie życia procesu. Każdy proces wymaga własnego obszaru prywatnych danych. Jeżeli proces składa się z wątków, wątki współdzielą obszar danych procesu.

. Obszar stosu. W obszarze tym zapamiętuje się adresy powrotów z podprogramów oraz przechowuje zmienne lokalne (dla każdego wywołania podprogramu tworzony jest jego własny komplet zmiennych lokalnych). Obszar ten jest rezerwowany w pamięci przy starcie procesu. Z początku jest pusty. Wypełnia się i opróżnia w miarę jak wywoływane i kończone są poszczególne podprogramy. Każdy wątek wymaga własnego obszaru stosu.

Page 25: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

25

1. Adresem fizycznym komórki nazywamy adres, jaki wysyła na magistralę adresową procesor, aby odwołać się do tej komórki. Każda komórka pamięci operacyjnej ma swój niezmienny adres fizyczny. Każdy adres fizyczny odnosi się zawsze do tej samej komórki pamięci lub jest zawsze błędny. Adresem logicznym (lub wirtualnym) nazywamy adres jakim posługuje się program, aby odwołać się do zmiennej lub instrukcji. Adres logiczny może odnosić się zarówno do komórki pamięci operacyjnej jak i słowa maszynowego zapisanego na dysku. Przypisanie adresu logicznego do konkretnej komórki pamięci, czy konkretnego miejsca na dysku jest inne dla każdego procesu i może się zmieniać w trakcie jego życia. Pamięć operacyjna dzielona jest na ramki, to jest spójne obszary o stałym rozmiarze zwanym wielkością ramki. Przestrzeń adresów wirtualnych dzielona jest na strony, to jest spójne obszary o stałym rozmiarze zwanym wielkością strony. Wielkość strony równa się wielkości ramki i jest wielokrotnością rozmiaru sektora dyskowego. Wielkość strony jest rzędu 1kB, i tak, w systemie VMS wynosi ona 512B, w Linuksie - 1kB a.

Logiczna i fizyczna przestrzeń adresowa

Page 26: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

26

• Odwzorowywanie adresów logicznych na fizyczne dokonywane jest przez jednostkę zarządzania pamięcią (memory management unit – MMU) – jest to urządz. Sprzętowe

• Do każdego adresu generowanego przez proces użytkownika w chwili odwołania się do pamięci dodawana jest wartość rejestru przemieszczenia

• Program użytkownika działa na adresach logicznych i nigdy nie ma do czynienia z adresami fizycznymi

Page 27: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

27

● Wymiana (ang. swapping): ● Proces może zostać czasowo wysłany z pamięci głównej do

zewnętrznej, a po jakimś czasie sprowadzony ponownie do pamięci głównej

● Jako pamięć zewnętrzna na potrzeby wymiany służy duży szybki dysk z dostępem bezpośrednim.

● Główny narzut: czas transmisji.● różne wersje wymiany są realizowane w wielu systemach, np. w

różnych wersjach Uniksa czy Microsoft Windows.●

Page 28: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

28

Techniki zarządzania pamięciąAlokacja ciągła

Przydział pojedynczego obszaru•Pamięć podzielona na dwa obszary: dla rezydującego systemu operacyjnego i dla użytkownika.•Rejestr bazowy (relokacji) i graniczny służą do ochrony oraz do dynamicznej translacji adresów logicznych na fizyczne.•Np. IBM PC: BIOS (programy sterujące urządzeń) w ROM-ie (górne adresy), SO w RAM-ie (dolne adresy).

Przydział wielu obszarówW systemach wieloprogramowych w pamięci równocześnie przebywa wiele programów, każdy we własnym obszarze.Metoda stref statycznych: pamięć jest na stałe podzielona na obszary o ustalonej wielkości (np. IBM OS/360 MFT).Metoda stref dynamicznych: liczba i wielkość stref zmienia się dynamicznie (np. IBM OS/360 MVT).Dziura: wolny obszar pamięci; dziury różnych rozmiarów są rozrzucone po pamięci.

Page 29: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

29

Strategia wyboru wolnego obszaru:

• Pierwszy pasujący (ang. first fit): przydziela pierwszy obszar o wystarczającej wielkości (następny pasujący: szukanie rozpoczyna się od miejsca, w którym ostatnio zakończono szukanie); z reguły krótszy czas szukania.

• Najlepiej pasujący (ang. best fit): przydziela się najmniejszy z dostatecznie dużych obszarów; wymaga przeszukania całej listy (o ile nie jest uporządkowana wg rozmiaru); pozostająca część obszaru jest najmniejsza.

• Najgorzej pasujący (ang. worst fit): przydziela się największy obszar; wymaga przeszukania całej listy; pozostająca część obszaru jest największa.

• Pierwszy pasujący i najlepiej pasujący są zwykle lepsze w terminach czasu i wykorzystania pamięci.

Fragmentacja zewnętrzna: suma wolnych obszarów w pamięci wystarcza na spełnienie żądania, lecz nie stanowi spójnego obszaru.

Fragmentacja wewnętrzna: przydzielona pamięć może być nieco większa niż żądana. Różnica między tymi wielkościami znajduje się wewnątrz przydzielonego obszaru, lecz nie jest wykorzystywana.

Redukowanie fragmentacji zewnętrznej przez defragmentację: umieszczenie całej wolnej pamięci w jednym bloku; możliwe tylko w przypadku, gdy adresy są wiązane w czasie wykonania; różne strategie defragmentacji;

Page 30: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

30

Techniki zarz. Pamięcią cd Stronicowanie

•Pamięć fizyczna jest podzielona na bloki jednakowego rozmiaru, zwane ramkami (rozmiar ramki jest potęgą 2, między 512 bajtów a 8 MB).•Logiczna przestrzeń adresowa procesu jest podzielona na bloki o rozmiarze takim jak ramki, zwane stronami.•Strony przebywają w pamięci pomocniczej, są sprowadzane do pamięci głównej i umieszczane w wolnych ramkach (program o n stronach potrzebuje n ramek); strony nie muszą zajmować ciągłego obszaru fizycznego.•Występuje fragmentacja wewnętrzna, brak fragmentacji zewnętrznej (małe ramki to mniejsza fragmentacja wewnętrzna, ale większy narzut na tablice stron).•System przechowuje informacje o wolnych ramkach (w tablicy ramek).•Tablica stron procesu służy do odwzorowywania adresów logicznych w adresy fizyczne.•Adres logiczny składa się z dwóch części:

•numer strony (p) - służy jako indeks w tablicy stron, •przesunięcie w stronie (d) - numer bajtu w stronie.

Page 31: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

31

Procesy i wątki

Page 32: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

32

Jak nazywamy czynności procesora?

1. System wsadowy: zadaniami (jobs)

2. Systemy z podziałem czasu: programy użytkownika (user programs) lub prace (tasks)

3. Terminy: „zadanie” i „proces” używane są zamiennie;preferowany jest jednak termin „proces”

4. Proces – wykonywany program; musi on być wykonywany sekwencyjnie

Page 33: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

33

W skład procesu wchodzi:

• Kod programu• Licznik rozkazów• Stos procesu – dane tymczasowe• Sekcja danych – zmienne globalne

STAN PROCESUWykonujący się proces zmienia swój stan.

Może on znajdować się w jednym z następujących stanów:

Page 34: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

34

• Nowy – proces został utworzony• Aktywny – są wykonywane instrukcje• Oczekiwanie – proces czeka na wystąpienie

jakiegoś zdarzenia (np.. Operacji we/wy)• Gotowy - proces czeka na przydział procesora• Zakończony – proces zakończył działanie

W każdej chwili w procesorze tylko jeden proces może być aktywny, ale wiele procesów może być gotowych do działania lub oczekujących

Page 35: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

35

Kolejki i priorytetyProcesy oczekujące na zwolnienie procesora mogą mieć różną ważność. Przykład: ● proces dokonujący pomiaru w toczącym się eksperymencie,● edytor teksu, ● proces systemowy uruchomiony celem zrobienia okresowych porządków● zadanie symulacji numerycznej jakiegoś układu fizycznego wykonywane długi czas w tle. Pierwsze dwa procesy przez większość czasu oczekują na zajście operacji wejścia wyjścia, a gdy już to nastąpi, powinny natychmiast reagować, z kolei dwa ostatnie wykorzystują głównie czas procesora, ale nie są na tyle pilne, by nie mogły ustępować w razie potrzeby innym. W zależności od pilności zadania i jego dotychczasowego przebiegu, system operacyjny nadaje procesowi priorytet. Im mniejszą liczbą jest wyrażony, tym lepiej z punktu widzenia procesu - ma więksy dostęp do procesora. Dla każdego priorytetu tworzona jest osobna kolejka procesów gotowych do wykonania. Dopóki w kolejce o priorytecie wyrażonym mniejszą liczbą czekają procesy, prcesy z kolejki większego priorytetu nie będą wykonywane.

Page 36: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

36

Najmniejsze priorytety są zarezerwowane dla użytku systemu operacyjnego, są one do tego stopnia uprzywilejowane, że procesy wykonujące się z tymi priorytetami nie są wywłaszczane. Stąd też są używane jedynie w wyjątkowych okolicznościach przez krótkie procedury systemowe.

Użytkownik ma zwykle możliwość wyboru priorytetu dla uruchamianego procesu, jednakże jest w swym wyborze ograniczony "z dołu". System operacyjny rezerwuje sobie możliwość zmiany priorytetu w trakcie działania procesu, celem wyrównania szans różnych procesów.

Page 37: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

37

WątkiNiektóre systemy operacyjne dopuszczają współbieżność w ramach jednego procesu. Określa się wówczas wątek jako jednostkę wykonania. Każdy wykonujący się proces ma przynajmniej jeden wątek, każdy wątek wykonuje się w ramach jednego procesu. Wątki konkurują ze sobą o czas procesora. Pozostałe zasoby przydzielane są na rzecz procesu. System operacyjny zostawia programiście aplikacji wolną rękę w rozstrzyganiu konfliktów pomiędzy wątkami o dostęp do zasobów przydzielonych procesowi.

Page 38: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

38

System operacyjny nazywamy wielowątkowym, jeżeli dopuszcza istnienie wielu wątków wykonania w ramach jednego procesu. Przykłady systemów wielowątkowych:•Windows 2000 i następne • niektóre odmiany Uniksa. W systemach nie będących wielowątkowymi pojęcie wątku i prcesu utożsamia się.

Page 39: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

39

Kontekst procesu

Aby proces/wątek mógł być wznowiony od miejsca w którym przerwane zostało jego wykonanie, należy zachować pewne informacje o stanie procesora w chwili przerywania działania procesu. Zbiór wszystkich informacji niezbędnych do podjęcia prez proces działania z miejsca, w którym się znajduje nazywamy kontekstem procesu.

Kontekst procesu składa się z:1. wskaźnika instrukcji,2. rejestru flag stanu3. wskaźnika stosu.

W przypadku systemów z pamięcią wirtualną w skład kontekstu wchodzą tablice stron.

Page 40: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

40

Kolejki szeregowania procesów

• kolejka zadań - zbiór wszystkich procesów w systemie

• kolejka gotowych - zbiór wszystkich procesów umieszczonych w pamięci głównej, gotowych i czekających na wykonanie

• kolejki do urządzeń - zbiór procesów czekających na określone urządzenie wejścia-wyjścia

Page 41: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

41

Szeregowanie procesów- rodzaje

• szeregowanie długoterminowe - wybór procesów, które przejdą do kolejki gotowych; wykonywane rzadko (sekundy, minuty); może być wolne;

• szeregowanie krótkoterminowe - wybór następnego procesu do wykonania i przydział CPU; wykonywane często (milisekundy); - musi być szybkie

• Czasami dochodzi szeregowanie średnioterminowe: wymiana (swapping) czyli czasowe usuwanie zadania w całości z pamięci głównej do pomocniczej

Page 42: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

42

Inny podział procesów

• zorientowane na wejście-wyjście - spędzają więcej czasu wykonując wejście-wyjście niż obliczenia; wiele krótkich odcinków czasu zapotrzebowania na CPU

• zorientowane na obliczenia - spędzają więcej czasu wykonując obliczenia; kilka bardzo długich odcinków czasu zapotrzebowania na CPU

Page 43: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

43

Tu skonczylem

Wykonanie procesu przebiega cyklicznie: fazy zapotrzebowania na CPU przeplatają się z fazami zapotrzebowania na wejście- wyjście

Rozkład faz zapotrzebowania na CPU powinien mieć wpływ na dobór algorytmu szeregowania procesów

Page 44: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

44

Na czym polega działanie procesu szeregującego (krótkoterminowo) -- wybiera spośród procesów gotowych i umieszczonych w pamięci jeden

i przydziela mu procesorDecyzję podejmuje się gdy proces:1. przechodzi ze stanu wykonywany do stanu oczekujący2. przechodzi ze stanu wykonywany do stanu gotowy3. przechodzi ze stanu oczekujący do stanu gotowy4. kończy sięSzeregowanie bez wywłaszczania: 1 i 4Szeregowanie z wywłaszczaniem: pozostałe

Page 45: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

45

Ważnym elementem w szeregowaniu jest Dyspozytor (dispatcher)Przekazuje procesor procesowi wybranemu przez proces szeregujący; jego obowiązki to:• przełączanie kontekstu • przełączenie do trybu użytkownika • wykonanie skoku do odpowiedniego adresu w programie

użytkownika w celu wznowienia wykonania programu Przy tej operacji występuje opóźnienie związane z działaniem

dyspozytora - czas potrzebny dyspozytorowi na zatrzymanie jednego procesu i uruchomienie innego

Page 46: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

46

Kryteria szeregowania procesów:

• Wykorzystanie CPU - procent czasu zajętości CPU (max )• Przepustowość - liczba procesów, które zakończyły

wykonanie w jednostce czasu (max) • Czas obrotu - czas potrzebny na wykonanie procesu (min) • Czas oczekiwania - czas spędzony przez proces w kolejce

procesów gotowych (min)• Czas reakcji - czas liczony od chwili dostarczenia żądania

do chwili uzyskania odpowiedzi (w systemie z podziałem czasu) (min)

Page 47: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

47

Algorytmy (krótkoterminowego) szeregowania procesów

• Kolejka prosta (FIFO) – first in first out lub inaczej FCFS (first come first served)

Procesy są wykonywane w kolejności przybywaniaPrzykład:• Procesy i ich zapotrzebowanie na CPU: P1 (24), P2 (3), P3

(3)Jeśli procesy przybyły w kolejności P1, P2, P3:• czas oczekiwania: P1 = 0, P2 = 24, P3 = 27• średni czas oczekiwania: (0 + 24 + 27)/3 = 17

Page 48: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

48

Przykład 2

• Jeśli procesy przybyły w kolejności P2, P3, P1:• czas oczekiwania: P1 = 6, P2 = 0, P3 = 3• średni czas oczekiwania: (6 + 0 +3)/3 = 3

Algorytm FCFS jest niewywłaszczający. Po objęciu kontroli nad procesorem proces utrzymuje ją aż sam zwolni procesor kończąc swoje działanie.

Występuje tzw. efekt konwoju czyli krótkie procesy wstrzymywane przez długie

Wadą tego algorytmu jest długi średni czas oczekiwania oraz to ze jest, praktycznie nie do zaakceptowania w systemach z podziałem czasu ponieważ ważne jest aby w tych systemach każdy użytkownik dostawał procesor w regularnych odstępach czasu.

Page 49: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

49

2. Najkrótsze zadanie najpierw (SJF) –shorted job firstProcesor przydziela się temu procesowi, który ma najkrótsząfazę zapotrzebowania na CPU Algorytm ten może być wywłaszczający lub niewywłaszczający Konieczność wyboru powstaje wówczas gdy w kolejce procesów gotowych pojawia się nowy proces a poprzedni proces używa nadal CPU. Nowy proces może mieć krótsza następna fazę procesora niż to co pozostało do wykonania w bieżącym procesie. Wtedy aktywizuje się algorytm wywłaszczający (SRTF)Zaleta to optymalnośćWada: wymaga określenia długości przyszłej fazy CPU

Algorytmy (krótkoterminowego) szeregowania procesów ciąg dalszy

Page 50: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

50

3. Szeregowanie priorytetoweZ każdym procesem jest związany priorytet (liczba całkowita)CPU przydziela się procesowi z najwyższym priorytetem, Procesy o równych priorytetach planuje się w porządku FCFS. Priorytety mogą być z dowolnego przedziału liczb całkowitych Jest to algorytm zarówno wywłaszczający jak i niewywłaszczajacyProblemem w szer.prior. jest głodzenie procesu. Polega ono na tym ze w obciążonym systemie komp. procesy o wyższych priorytetach nie dopuszczają nigdy procesów o niższym priorytecieRozwiązaniem tego problemu jest postarzanie procesów czyli : wzrost priorytetu z upływem czasu np. można podwyższać priorytet czasu o 1 co 10 minut

Page 51: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

51

4. Szeregowanie rotacyjne (Round Robin)Każdy proces otrzymuje przedział czasu CPU, zwykle 10 – 100 milisekund. Po upływie przedziału czasu proces zostaje wywłaszczony i idzie na koniec kolejki procesów gotowychJeśli w kolejce procesów gotowych jest n procesów, a q towielkość przedziału czasu, to każdy proces dostaje 1/n czasu procesora w odcinkach długości co najwyżej q. żaden proces nie czeka na następny przedział czasu dłużej niż (n-1) × q jednostek czasuCechy: zwykle wyższy średni czas obrotu niż dla SRTF, leczlepszy czas reakcji

Page 52: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

52

5. Kolejki wielopoziomowePolega to na tym ze kolejka procesów gotowych jest podzielona na odrębne kolejki. W zależności od pewnych cech jak rozmiar pamięci, priorytet lub typ procesu procesy zostają przydzielone do jednej z tych kolejek.Szeregowanie pomiędzy kolejkami polega na tym ze kolejki otrzymują albo stały priorytet,np. obsługują najpierw wszystkie procesy pierwszoplanowe, potem drugoplanowealbo · Kwant czasu - każda kolejka otrzymuje ustaloną część czasu CPU do podziału pomiędzy swoje procesy, np. 80% dlaProcesów pierwszoplanowych 20% dla drugoplanowych

Page 53: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

53

6. Kolejki wielopoziomowe ze sprzężeniem zwrotnymCechą tego jest to ze procesy mogą się przemieszczać pomiędzy kolejkamiParametry metody to m.in..:· liczba kolejek· algorytm szeregowania dla każdej kolejkiPrzykład: proces zużywający dużo czasu procesora przechodzi do kolejki o niższym priorytecie,Zalety: bardziej elastyczna niż zwykłe kolejki wielopoziomowe,umożliwia starzenia się procesówWady: dużo ilość parametrów potrzebnych do optymalizacji kolejki a co za tym idzie wysoki koszt implementacji

Page 54: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

54

Blokady (zakleszczenia, deadlock)

Stan blokady: każdy proces w zbiorze procesów czeka na zdarzenie, które może być spowodowane tylko przez inny proces z tego samego zbioru (zdarzeniem może być przydział lub zwolnienie zasobu ) Zasoby mogą być fizyczne np. drukarki, cykle procesora albo logiczne- pliki, semafory, monitory. Semafor jest to zmienna całkowita dostepna jako „czekaj” wait i sygnalizuj -signal

Page 55: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

55

Charakterystyka blokadyBlokada może powstać wtedy, gdy w systemie są spełnionerównocześnie cztery warunki:

• Wzajemne wykluczanie: tylko jeden proces może używać zasobu w danym czasie. Jeśli inny proces zamawia dany zasób to musi być opóźniany aż zasób zostanie zwolniony np. drukarka nie może być używana przez kilka procesów jednocześnie. Warunek ten stosuje się do procesów niepodzielnych

• Przetrzymywanie i oczekiwanie: proces przetrzymujący conajmniej jeden zasób czeka na przydział dodatkowych zasobów będących w posiadaniu innych procesów

• Brak wywłaszczania: zasoby nie podlegają wywłaszczaniu czyli zasób może być zwolniony tylko z inicjatywy przetrzymującego go procesu po zakończeniu tego procesu

• Cykliczne oczekiwanie: procesy nawzajem czekają na siebieAby system wszedł w stan zakleszczenia musza być spełnione

równocześnie wszystkie warunki

Page 56: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

56

Do czego można porównać blokadę?

Problem pięciu filozofów• Co jakiś czas filozofowie muszą się posilić. Przed każdym

filozofem stoi talerz, a obok talerza widelec. Na środku stołu stoi półmisek z rybą. Rybę należy jeść dwoma widelcami, więc filozof może zacząć jeść tylko gdy będzie miał obok siebie dwa wolne widelce. Po spożyciu posiłku filozof odkłada oba widelce na stół i ponownie zatapia się w myśleniu, itd.

Page 57: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

57

Możliwe rozwiązania:1. Każdy filozof czeka aż jeden widelec (np. lewy) będzie wolny i

podnosi go, a następnie czeka aż będzie wolny drugi widelec i też go podnosi.

Możliwość zakleszczenia – Każdy filozof podniesie jeden widelec.Głodny filozof podnosi jednocześnie dwa widelce wtedy gdy są

wolne.Możliwość zagłodzenia –jeżeli któryś z filozofów będzie miał

„żarłocznych” sąsiadów, tak że nigdy dwa widelce obok jego talerza nie będą wolne, to nie będzie mógł jeść i zostanie zagłodzony.

3. Nad procesem jedzenia filozofów czuwa lokaj, który dopuszcza dorywalizacji o widelce tylko czterech filozofów naraz, a ci podnosząwidelce sekwencyjnie (np. najpierw lewy, potem prawy).

Page 58: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

58

Metody postępowania z blokadami:

• Zapewnić, że system nigdy nie wejdzie w stan blokady

• Pozwolić na wejście systemu w stan blokady, po czym ją usunąć

• Zignorować problem i udawać, że system nigdy nie wejdzie w stan blokady

Page 59: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

59

Zapobieganie blokadom polega na zapobieżeniu spełnieniu jednego z warunków koniecznych wystąpienia blokady. Sposoby zapobiegania to:

• Przetrzymywanie i oczekiwanie - trzeba zagwarantować,że gdy proces żąda zasobu, to nie posiada innych zasobów, można wymagać, by proces zamawiał i dostawał wszystkie swoje zasoby zanim rozpocznie działanie lub żądał zasobów wtedy, gdy nie posiada żadnych innych.

• Brak wywłaszczania:- Jeśli proces będący w posiadaniu zasobów żąda zasobu, którego nie można natychmiast przydzielić, to musi zwolnić wszystkie posiadane zasoby .Wywłaszczone zasoby dodaje się do listy zasobów, na które czeka proces. Proces zostanie wznowiony, gdy będzie mógł odzyskać posiadane wcześniej zasoby oraz otrzymać nowo żądany

• Cykliczne oczekiwanie - narzuca się uporządkowanie całkowite wszystkich typów zasobów i wymaga, by proces zamawiał zasoby we wzrastającym porządku ich numerów

Page 60: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

60

Unikanie zakleszczeń• Innym sposobem na unikniecie blokady jest wymaganie, by system posiadał pewną

informację o przyszłym zapotrzebowaniu na zasoby • W najprostszym modelu wymaga się, by proces deklarował maksymalną liczbę zasobów

każdego typu, których będzie potrzebował. Buduje się tzw. Algorytm unikania blokady który dynamicznie bada stan przydziału zasobów, by zapewnić, że nigdy nie dojdzie do cyklicznego oczekiwania

• Stan przydziału zasobów jest określony przez liczbę dostępnych i przydzielonych zasobów oraz przez maksymalne zapotrzebowanie procesówStan bezpieczny - kiedy proces żąda dostępnego zasobu, system musi ustalić, czy natychmiastowy przydział zasobu zachowa bezpieczny stan systemu

W systemie w którym doszło do zakleszczenia muszą istnieć:• algorytm identyfikujący zakleszczenie • algor. likwidowania zakleszczenia

Page 61: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

61

Sposoby likwidowania zakleszczenia:

1. poprzez zaniechanie jednego lub kilku procesów które uczestniczą w blokadzie

2. wywłaszczanie zasobów polegające na stopniowym odbieraniu zasobów jednym procesom i przydzielaniu innym aż cykl zakleszczenia zostanie przerwany

Wniosek: najlepszym sposobem na radzenie sobie z zakleszczeniami jest połączenie wszystkich metod

Page 62: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

62

Przerwania • Mechanizm sprzętowy umożliwiający urządzeniu zawiadamianie procesora nazywa się

przerwaniem (interrupt). Inaczej: przerwania to sygnały jakie wysyłają sterowniki sprzętowe aby poinformować procesor o istotnym zdarzeniu, które wymaga poświęcenia przez procesor uwagi danemu urządzeniu. Przykładami takich wydarzeń może być wciśnięcie klawisza, zakończenie operacji dyskowej, nadejście pakietu informacji do karty sieciowej

• Aby odróżnić zdarzenia pochodzące od różnych urządzeń, poszczególnym sterownikom sprzętowym przypisuje się numery przerwań przy czym zakres numerów przerwań sprzętowych jest niewielki i wynosi od 0 do 15 dla komputerów o architekturze PC/AT.

• Po otrzymaniu przerwania procesor przerywa aktualnie wykonywany proces, zapisuje część swego kontekstu na stosie (przynajmniej wskaźnik instrukcji i rejestr flagowy) i przechodzi do wykonania podprogramu obsługi przerwania zarejestrowanego dla danego numeru przerwania. Podprogram ten pochodzi ze sterownika programowego danego urządzenia i został zarejestrowany w trakcie inicjacji sterownika. Po zakończeniu obsługi przerwania sterowanie wraca do przerwanego procesu, który wykonuje się dalej tak jakby nie został przerwany.

Page 63: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

63

Tu skonczylem

• Większość procesorów ma dwie linie przerwań. Jedna służy przerwaniom niemaskowalnym zarezerwowanym np. dla nieusuwalnych błędów pamięci. Druga –dla przerwań maskowalnych które są używane przez sterowniki urządzeń do zgłaszania żądań obsługi

Page 64: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

64

Części składowe przerwania:

• Wektor przerwania - zawiera adresy pamięci wyspecjalizowanych procedur obsługi przerwań

• system poziomów priorytetów przerwań - Umożliwia on opóźnianie przez procesor obsługi przerwań niskopriorytetowych i pozwala przerwaniom wysokopriorytetowym wywłaszczać procesy obsługi przerwań z niskim priorytetem.

Page 65: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

65

Procedura współpracy SO z przerwaniami

1. SO sprawdza szyny urządzeń które urządzenia są dostępne

5. SO instaluje w wektorze przerwań odpowiednie procedury ich obsługi

Page 66: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

66

• Przerwania stosuje się również do sytuacji wyjątkowych (exceptions) czyli np. próby dzielenia przez zero czy zaadresowanie nieistniejącego obszaru pamięci

• Zdarzenia powodujące przerwania muszą odznaczać się wspólną cechą: ich wystąpienie zmusza procesor do wykonania pilnej, samodzielnej procedury.

Page 67: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

67

Oprócz przerwań sprzętowych istnieją również systemowe i przeznaczone do sterowania operacjami w jądrze systemu

• Przerwania systemowe -(software interrupt) lub pułapki (drap). Wykonanie rozkazu takiego przerwania podczas odwoływania się do systemu powoduje przechowanie przez sprzęt obsługi przerwań stanu programu użytkownika, przełączenie procesora w tryb nadzorcy i przejście do wykonania procedury jądra. Przerwanie systemowe z reguły ma niższy priorytet od przerwania sprzętowego. Wykonanie odwołania na żądanie aplikacji jest mniej pilneod żądania sprzętowego.

Page 68: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

68

Budowa urządzeń dyskowych(struktura dysku)

Page 69: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

69

Planowanie dostępu do dysku

System operacyjny jest odpowiedzialny za wydajne użytkowanie sprzętu w odniesieniu do napędów dyskowych oznacza to szybki dostęp

do dysku i szybkie przesyłanie danych dyskowych.Główne składniki czasu dostępu do dysku:• Czas wyszukiwania (seek time) –czas potrzebny na przemieszczenie

ramienia dysku do pozycji, w której głowice ustawiają się na cylindrze zawierającym szukany sektor.

• Opóźnienie obrotowe (rotational latency) –czas zużywany na obrót dysku dysku do pozycji, w której sektor trafia pod głowicę dysku.

• Szerokość pasma (bandwidth) dysku –łączna liczba przesłanych bajtów podzielona przez łączny czas, jaki upływa od pierwszego zamówienia na usługę do chwili zakończenia ostatniego przesłania.

Należy minimalizować czasu dostępu i maksymalizować szerokość pasma.

Page 70: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

70

Algorytmy dostępu do dysku

• Algorytm FCFS (First-Come, First-Served)Jest to najprostszy algorytm planowania dostępu do dysku. Zamówienia są wykonywane w kolejności ich zgłaszania. Skrót FCFS (first-come, first-served) oznacza „pierwszy zgłoszony - pierwszy obsłużony”. Jest to najbardziej sprawiedliwy z algorytmów jednak nie najszybszy.

• Algorytm SSTF (Shortest-Seek-Time-First)najpierw najkrótszy czas przeszukiwania. Metoda ta polega na realizacji zamówień w takiej kolejności, aby wielkość liczby cylindrów pomiędzy każdym zamówieniem była jak najmniejsza.

Page 71: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

71

Algorytmy dostępu do dysku cd.• Metoda SCAN

Algorytm SCAN polega na tym, że ramię dysku rozpoczyna przemieszczanie się od jednej krawędzi dysku, do przeciwległej krawędzi. W czasie przemieszczania się ramienia dysku, obsługiwane są zamówienia w kolejności napotkanych, żądanych przez system, cylindrów. Po osiągnięciu przeciwległej krawędzi ramię dysku zmienia kierunek ruchu i zaczyna wracać, obsługując następne zamówienia napotkane po drodze.

Inną nazwą dla algorytmu SCAN jest nazwa: algorytm windy a to dlatego że ramię dysku zachowuje się jak winda. Jeżdżąc góra - dół obsługuje wszystkie zamówienia, tak jakby winda zabierała ludzi

Page 72: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

72

• Metoda C-SCAN Odmianą algorytmu SCAN, jest algorytm C-SCAN (cilcural SCAN). Polega ona na tym, że po osiągnięciu jednej krawędzi dysku głowica wraca do drugiej krawędzi, ale nie wykonuje nic poza tym. Po osiągnięciu tej drugiej krawędzi, głowica przemieszcza się do pierwszej krawędzi, wykonując zlecenia po drodze. Zaletą tego algorytmu jest bardziej równomierny rozkład czasu czekania na wykonanie zlecenia.

Page 73: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

73

Metoda SSTF jest stosowana dość powszechne .Algorytmy SCAN i C-SCAN są odpowiedniejsze w systemach, w których jest bardzo dużo zamówień na operacje dyskowe. Wydajność każdego algorytmu zależy przede wszystkim od liczby i rodzaju zamówień. Zamówienia na usługi dyskowe mogą w znacznym stopniu zależeć od metod przydziału pliku (bloki w przydziale listowym lub indeksowym mogą być znacznie rozrzucone po dysku). Ważna jest także lokalizacja katalogów i bloków indeksowych –przechowywanie podręczne może znacznie przyspieszyć dostęp.Algorytm przydziału miejsca na dysku powinien być napisany jako oddzielny moduł systemu operacyjnego, aby można go było łatwo zastąpić innym –w razie potrzeby.

Wybór algorytmu planowaniadostępu do dysku

Page 74: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

74

1. W nowoczesnych dyskach twardych algorytmy planowania są zawarte w sterowniku dysku, gdyż producent sam najlepiej dobiera, jaka metoda jest najlepsza dla dysku jego produkcji. System operacyjny musi jednak nadzorować te algorytmy gdyż np. operacja stronicowania na żądanie ma większy priorytet niż np. operacja we-wy dotycząca aplikacji. Dlatego system operacyjny posiada swoje własne algorytmy które mają zapewnić zarówno optymalną szybkość, jak i bezpieczeństwo danych zawartych na tym dysku.

Page 75: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

75

Zarządzanie dyskiemFormatowanie dysku:Formatowanie niskiego poziomu lub formatowanie

fizyczne –podział dysku na sektory, które sterownik dysku potrafi czytać i zapisywać. Przeprowadzenie formatowania niskopoziomowego wymazuje z dysku wszelkie informacje (łącznie z tablicą partycji).

Struktura sektora: nagłówek, obszar danych (zwykle 512 B) i zakończenie.

Nagłówek i zakończenie zawierają informacje dla sterownika dysku: numer sektora i kod korygujący (error-correcting code –ECC).

Page 76: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

76

Zarządzanie dyskiem cd.

Większość dysków jest formatowana na niskim poziomie przez producenta.Aby użyć dysk do przechowywania plików, system operacyjny musi jeszcze

zapisać na nim własne struktury danych –wykonuje to w dwóch etapach:1. Podział dysku na jedną lub więcej grup cylindrów – każda z takich partycji

( partition) może być traktowana jak osobny dysk.

2. Formatowanie logiczne (czyli tworzenie systemu plików) – utworzenie początkowych struktur danych systemu plików: mapa wolnych i przydzielonych obszarów ( tablica FAT lub i-węzły) oraz początkowy, pusty katalog.

Page 77: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

77

• Jeżeli system operacyjny startuje z dysku, jedna z partycji, tzw. partycja aktywna powinna zawierać program ładujący jądro systemu operacyjnego oraz wszystkie inne pliki niezbędne do startu systemu. Program ładujący jądro bywa umieszczany w zerowym sektorze dysku, zawierającym też tablicę partycji zwanym sektorem startowym (ang. bootsector).

Page 78: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

78

Bezpieczeństwo SOW języku angielskim wyróżnia się dwa terminy, którym

odpowiada jedno polskie określenie - bezpieczeństwo: • safety - bezpieczeństwo użytkownika (i jego danych) przed

niezgodnym ze specyfikacją (awaryjnym) działaniem systemu i

• security - bezpieczeństwo systemu przez destrukcyjnymi działaniami użytkownika.

Są to dwie strony tego samego medalu. System nie będący bezpiecznym w jednym z powyższych znaczeń, przestaje być bezpieczny w drugim.

Page 79: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

79

Autentykacja

• Autentykacja jest to proces, w którym komunikujący się partnerzy potwierdzają swoją tożsamość. Najczęściej autentykacja ogranicza się jedynie do potwierdzenia tożsamości użytkownika. Zakłada się tutaj, że użytkownik pracuje w otoczeniu zaufanych komputerów. Jednak zdarzają się przypadki podszywania się "wrogich" komputerów pod "przyjazne" serwery, aby np. przechwycić hasła nieświadomych użytkowników. Użytkownik przystępując do pracy (lub łącząc się z kolejnym komputerem), proszony jest to podanie identyfikatora (konta lub profilu).

Page 80: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

80

Autentykacja cd.

• Identyfikator jest jawny. Pozwala on innym użytkownikom i oprogramowaniu powoływać się na danego użytkownika. Identyfikator ten jest ciągiem znaków, najczęściej małych liter. Zaleca się, aby miał jakiś związek z imieniem, nazwiskiem lub wydziałem, w którym pracuje użytkownik. Teraz użytkownik musi potwierdzić swoje prawo do posługiwania się identyfikatorem. Najczęściej proszony jest o podanie znanego tylko jemu hasła. Hasło nie pojawia się na ekranie.

Page 81: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

81

Zaletą haseł wielokrotnych jest "prostota obsługi" i brak konieczności instalowania specjalizowanego sprzętu. Wady są następujące:

• Użytkownicy wybierają hasła, które łatwo jest odgadnąć.

• Bywa, że hasło jest zapisane w dostępnym dla postronnych miejscu, lub jest gubione.

• Hasła są przechowywane w niektórych komputerach, lub przesyłane siecią w postaci jawnej (niezaszyfrowanej), co pozwala na ich przechwytywanie.

• Użytkownicy posługują się tymi samymi hasłami w odniesieniu do kont na różnych komputerach. Nieuczciwy administrator, lub włamywacz, przeglądając pliki z hasłami na jednym komputerze wchodzi w posiadanie haseł na innych komputerach

Page 82: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

82

Aby utrudnić odgadnięcie hasła:

• W żadnym wypadku nie należy ustawiać sobie jako hasła, słowa, które łatwo jest skojarzyć z własną osobą, tj: nazwy konta, imienia, nazwiska (własnego, członka rodziny, znajomego lub zwierzęcia domowego), numeru telefonu, rejestracji samochodu, adresu, daty urodzin itp.

• Hasło powinno mieć przynajmniej 6 znaków, czym dłuższe tym lepsze.

• Niektórzy włamywacze próbują różnych haseł pochodzących ze specjalnie sporządzonych słowników zawierających popularne słowa z danego języka, nazwy geograficzne, słownictwo fachowe, imiona bohaterów powieści, filmów itp. Jeśli zatem stosuje się hasło, które jest popularnym słowem, należy wpleść w nie cyfrę lub znak nieliterowy, lub jeśli pozwala na to oprogramowanie, część znaków wpisać dużymi, a część małymi literami.

• Dobre hasła uzyskuje się biorąc pierwsze litery z wybranego zdania.

Page 83: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

83

• Przez pewien czas zalecano by haseł nie zapisywać, lecz pamiętać je. Obecnie zaleca się zapisywanie haseł, ale przechowywać należy je w miejscach dla innych niedostępnych, np. w portfelu. Dobrze jest też zamaskować hasło wplatając je w inne napisy.

• Należy unikać łączenia się przez niepewne sieci z usługami wymagającymi haseł. Np. z domu przez publiczny modem telekomunikacji i dalej przez Internet do pracy (należy dzwonić bezpośrednio na firmowy modem, jeśli takowy jest). Jeśli tylko można, należy skorzystać z oprogramowania kryptograficznego.

• Dobrze jest posiadać inne hasło do każdego z kont. Czasem jest to uciążliwe, dlatego można ograniczyć się do posiadania jednego hasła do komputerów w pracy i drugiego do usług w Internecie. W żadnym razie nie należy zakładać sobie takiego samego hasła w jakiejkolwiek usłudze internetowej, jakie ma się w pracy.

Page 84: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

84

Ochrona przed złamaniem hasła – inne zalecenia

• Wymuszanie zmian haseł w regularnych odstępach czasu (bez powtórzeń).

• Ograniczanie liczby błędnych prób dostępu oraz ich rejestrowanie.

• Generowanie haseł przez system –zwykle trudniejsze do zapamiętania.

Page 85: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

85

Inne metody autentykacji:Biometria

• Czytniki dłoni –porównują zapamiętane parametry (np. rysunek dłoni) z tym co jest czytane z ich podkładek analizujących dłoń (hand-reader pad).Urządzenia te są dziś zbyt duże i kosztowne, by ich używać do zwykłego uwierzytelniania komputerowego.

• Czytniki odcisków palców –czytają wzory linii papilarnych palca umieszczonego na specjalnej podkładce i zamieniają je na sekwencję liczb, a następnie porównują tę sekwencję z zapamiętanym wzorcem. Dokładne i ekonomiczne –powinny spopularyzować się w niedalekiej przyszłości.Schemat uwierzytelniania dwuskładnikowego –wymaganie nazwy użytkownika i hasła oraz analizowanie odcisku palca.

• Skanery siatkówki oka – duża precyzja identyfikacji, łatwość w użyciu › duże szanse na spopularyzowanie.

Page 86: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

86

Autoryzacja skonczyelm

• Autoryzacja, oznacza udzielanie dostępu danemu użytkownikowi (reprezentowanemu przez zautentykowany identyfikator) do tych zasobów, które są dla niego przeznaczone. W tym celu system operacyjny danego komputera utrzymuje bazę danych zawierającą informacje o tym które zasoby (pliki, katalogi, urządzenia itp.) mogą być udostępniane poszczególnym użytkownikom i na jakich prawach.

Page 87: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

87

Baza ta zawiera następujące informacje: 1. Obiekty podlegające ochronie. Najczęściej są to pliki i katalogi, w

ogólności są to zasoby danego komputera. 2. Podmioty uzyskujące prawa dostępu. Podmiotami tymi są

użytkownicy. Aby ułatwić zarządzanie prawami dużych zbiorowości użytkowników wprowadza się grupy użytkowników, które są również podmiotami uzyskującymi uprawnienia. Użytkownicy są przypisywani do grup. Dany użytkownik może należeć do wielu grup. Przez fakt przynależności do danej grupy użytkownik zyskuje lub traci takie uprawnienia jakie zostały przypisane grupie.

3. Uprawnienia. We wszystkich systemach operacyjnych powtarzają się prawa do zapisu i odczytu plików. Wiele systemów rozszerza te podstawowe uprawnienia o prawo do uruchamiania programów, prawo do kasowania lub tworzenia plików w katalogu, prawo do powoływania się na katalogi itp.

Page 88: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

88

Na poziomie systemu operacyjnego wyróżnić można kilka klas systemów autoryzacji

1. Brak autoryzacji. Takie systemy nadają się dla pojedyńczego użytkownika, lub tam gdzie autoryzacja nie jest wymagana. Np. MS DOS.

2. Profile użytkownika. Komputer rozpoznaje użytkowników, każdemu daje spersonalizowane środowisko pracy, jednak nie zabezpiecza danych jednego użytkownika przed innym użytkownikiem. W praktyce takie systemy są więc równoważne poprzedniej klasie. Nadają się dla niewielkiej grupy zaufanych użytkowników. Np. MS Windows 9x.

Page 89: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

89

1. Wspólne hasła. System nie wyróżnia użytkowników, wyróżnia natomiast zasoby mające przypisane hasła. Każdy użytkownik, który poda hasło do zasobu, otrzymuje do niego dostęp. Utrzymanie bezpieczeństwa takich systemów jest możliwe tylko w niewielkich grupach zaufanych użytkowników.

2. Klasyczne systemy wieloużytkownikowe. Wyróżniają użytkowników i grupy. Autentykacja użytkownika następuje w momencie rozpoczynania sesji pracy z systemem. Z każdym obiektem związana jest ograniczona liczba podmiotów jakie uzyskują do niego uprawnienia. Np. w standardowym uniksie każdy plik ma dokładnie jednego właściciela-użytkownika, któremu przypisane są pewne uprawnienia, dokładnie jednego właściciela-grupę mającą uprawnienia, oraz uprawnienia stosowane do pozostałych.

Page 90: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

90

1) Systemy z ACL (Access Control List - lista kontroli dostępu). Systemy te różnią się tym od klasycznych, że z każdym obiektem można związać dowolnie lub wystarczająco długą listę podmiotów mających uprawnienia do danego zasobu. Użytkownik może bez pomocy administratora nadawać uprawnienia innym podmiotom do swoich zasobów (z oczywistym ograniczeniem, że nie może nadać większych niż sam ma). Do tej klasy należą takie systemy jak Novel Netware, Windows 2k i niektóre uniksy np. Solaris.

2) Systemy z określeniem klas poufności. Oprócz istnienia grup i ACL użytkownicy i zasoby komputera są przydzieleni do klas poufności. Żaden użytkownik nie może udzielić uprawnień do zasobów danej klasy poufności innemu użytkownikowi należącemu do klasy gorszej.

Page 91: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

91

• Oprócz uprawnień do pojedyńczych zasobów mogą istnieć w systemie tzw, kwoty (ang. quota) tj. ograniczenia ilości jednocześnie wykorzystywanych zasobów danej klasy. Kwoty zabezpieczają system przed wyczerpaniem zasobów przez użytkowników. Np. kwota dyskowa określa jak duży obszar dysku może być jednocześnie zajęty przez pliki danego użytkownika. Kwoty mogą też dotyczyć procentu czasu pracy procesora na rzecz danego użytkownika w jednostce czasu, ilości uruchomionych procesów itp. W wielu systemach istnieją mechanizmy do ograniczania użytkownikowi dostępu do wydzielonych stanowisk lub określonych godzin pracy.

Page 92: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

92

Użytkownicy SO

Wśród użytkowników wyróżnia się administratorów i operatorów, czyli takich, do których zadań należy troska o poprawne działanie systemu. Mają w związku z tym znacznie szersze prawa. W rozbudowanych systemach można wyróżnić kilka klas administratorów:

Page 93: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

93

1. główny administrator (w uniksie zwany tradycyjnie root, w innych systemach admin, sysadmin itp.), ma maksymalne prawa do systemu operacyjnego, może w szczególności nadawać prawa innym, w związku z czym jego hasło nie powinno być jego prywatną tajemnicą, lecz tajemnicą firmy,

2. operatorzy poszczególnych usług i aplikacji, przykładowo: • operatorzy backupu - mają prawo nadzorować wykonanie kopii

bezpieczeństwa systemu, • administratorzy baz danych - odpowiadają za integralność bazy

danych i poprawne działanie jej oprogramowania, • webmasterzy odpowiedzialni za poprawną pracę serwisu WWW, • operatorzy drukarek - odpowiadają za poprawną pracę drukarek,

mogą m.in. wstrzymywać i usuwać z kolejek wyduku zadania innych użytkowników.

Page 94: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

94

Prawa głównego administratora. Można tu wyróżnić dwa podejścia:

• Administrator jest osobą, która doskonale zna system, która go zainstalowała na komputerze oraz ma pełne prawa zapisu i odczytu dysków i pamięci operacyjnej, więc nie ma sensu bronić użytkowników przed nieuczciwym administratorem, ponieważ może on wszystkie mechanizmy obejść lub wyłączyć. Takie podejście prezentują systemy unixowe.

• Twórcy systemu operacyjnego utajniają pewne informacje (m. in. projekt i kod źródłowy) dotyczące systemu operacyjnego, a w szczególności systemu plików, dzięki czemu administrator nie może wykonać z systemem wszystkiego w szczególności usunąć śladów swoich działań. Takie podejście zastosowano np. W windowsie.

Page 95: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

95

AudytAudyt oznacza śledzenie działania systemu i

poczynań użytkowników. Pozwala ustalić przyczyny awarii oraz momenty i sprawców naruszeń bezpieczeństwa (np.. Windows’ie

narzędzia do monitorowania aktywności użytkowników

Page 96: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

96

Kopie bezpieczeństwa

• Awarii systemu kończących się utratą danych nigdy nie da się wykluczyć. Posiadanie starych wersji dokumentów, które przestały być użyteczne i zostały normalną drogą usunięte z systemu też może być niekiedy cenne. Niekiedy archiwizacja wymuszana jest osobnymi przepisami, np. bazy danych księgowości.

Page 97: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

97

Narzędzia do kopii

• Flash• Dyski• Dyski optyczne• streamery

Page 98: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

98

Tworzenie kopii bezpieczeństwaIstnieją różne poziomy kopii

bezpieczeństwa:

• zerowy - pełna kopia - obejmuje cały dysk lub drzewo katalogów,• kopie różnicowe lub przyrostowe - obejmują tyko pliki, które

zmieniły się od ostatniej kopii, może tu istnieć wiele poziomów (pierwszy, drugi, ...), dany poziom obejmuje te pliki, które zmieniły się od czasu ostatniej kopii poziomu niższego.

• Przyjmuje się, że kopie poziomu zerowego powinno się robić nie rzadziej niż raz na kwartał a zaleca się raz na miesiąc. Kopie takie powinno się przechowywać przez czas nieokreślony. Kopie wyższych poziomów powinno sporządzać się w połowie okresów wykonywania kopii poziomów niższych, należy je przechowywać przynajmniej przez dwukrotność okresu jej sporządzania. Po upływie czasu przechowywania kopii, nośnik można wykorzystać powtórnie. Dobrze sprawdzają się tutaj takie nośniki jak streamery i dyski magnetooptyczne.

Page 99: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

99

Nie wszystkie dane w komputerze są równie narażone na możliwość utraty, można je podzielić pod tym względem na

kilka grup: • Pliki tymczasowe. W zasadzie nie wymagają archiwizacji. • Oprogramowanie systemowe i inne oprogramowanie niededykowane. W razie utraty można

je powtórnie zainstalować z nośników instalacyjnych. Pod warunkiem zapewnienia ochrony nośnikom instalacyjnym nie wymagają archiwizacji.

• Dzienniki systemu (logi). Zawierają cenne informacje dla administratora, jednak ich utrata zazwyczaj nie uniemożliwia bieżącego działania systemu. Warto archiwizować.

• Konfiguracja oprogramowania. Często łatwa do odtworzenia, zwłaszcza, gdy została udokumentowana na papierze, jednak w złożonych programach odtworzenie może wymagać wielu godzin żmudnej pracy. Zaleca się archiwizować.

• Oprogramowanie dedykowane i jego konfiguracja. Powtórna instalacja oprogramowania dedykowanego, takiego jak programy bankowe, oprogramowanie linii technologicznej itp. może wymagać obecności przedstawicieli producenta a sam proces zazwyczaj jest długotrwały. Należy liczyć się z tym, że producent może nie dysponować plikami instalacyjnymi pewnych modułów oprogramowania, jeśli były robione dla potrzeb specyficznego klienta. Należy archiwizować

• Dane przedsiębiorstwa, własna twórczość użytkownika itp. Są bezcenne. Bezwzględnie archiwizować.

Page 100: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

100

Charakterystyka wybranych SO

1.1. Windows 98 1.2. Windows Millennium Edition 1.3. Windows NT 1.4. Windows 2000 Professional 1.5. Windows CE 1.6. Windows XP 1.7. Windows 2003

Page 101: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

101

• Pierwsze komputery klasy IBM/PC pracowały pod kontrolą systemu operacyjnego PC-DOS (Disk Operating System) i jego odmiany MS-DOS. Cechy charakterystyczne:

• Wydawanie poleceń z klawiatury i pracę na ekranie, wyświetlającym zazwyczaj 25 linii po 80 znaków. Dziś taki tryb pracy nazywamy pracą z linii poleceń.

• Użytkownik w systemie DOS mógł zazwyczaj uruchomić jeden program, po jego zakończeniu i usunięciu przez system z pamięci operacyjnej było możliwe wykonanie kolejnego polecenia.

• Norton Commander stanowił tzw. nakładkę systemu operacyjnego i w istocie był prekursorem współczesnego menedżera plików, którego funkcje z czasem przejął Eksplorator Windows. W 1990 roku, wśród wielu programów działających w systemie operacyjnym MS-DOS, pojawiła się aplikacja Windows 3.0, a w dwa lata później jej wersja Windows 3.10 i Windows for Workgrups 3.11 (pierwszy SSO firmy Microsoft). Programy te były w dalszym ciągu graficzną nakładką na system MS-DOS, a nie oddzielnym systemem operacyjnym.

Page 102: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

102

• 1993- system Windows NT 3.1, a następnie jego kolejne wersje 3.50 i 3.51 (najpopularniejsza).

• Sierpień 1995 roku pojawił się Windows 95, który przestał być nakładką na MS-DOS, a zaczął pełnić funkcję systemu operacyjnego. MS-DOS przestał być systemem dominującym

• Dalszy rozwój systemów operacyjnych MS Windows potoczył się dwutorowo. Następcą Windows 95 stały się systemy Windows 98 i Millenium (Me), a linia Windows NT jest kontynuowana przez rodzinę systemów Windows 2000 i XP, 2003 vista

Page 103: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

103

Win95• W systemie Windows 95 wprowadzono 32-bitowe jądro

systemu, mechanizmy obsługi sieci, 32-bitowe programy zarządzające pamięcią, nieograniczone możliwości alokowania pamięci operacyjnej, stosowanie długich nazw plików (do 255 znaków) oraz obsługę standardu Plug&Play. Do prawidłowego działania system wymagał komputera z procesorem minimum klasy 386, 4 MB pamięci operacyjnej. Podstawowa wersja systemu z czasem modyfikowana była kolejnymi poprawkami.

Page 104: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

104

• Rok 1998 r. Poprawiono:1. szybkość otwierania i zamykania aplikacji2. zmodernizowany interfejs użytkownika, charakteryzujący się

integracją przeglądarki Internet Explorer z Eksploratorem Windows i nowy system pomocy w formacie HTML.

3. Wprowadzono również 32-bitowy FAT, narzędzia nadzorujące i diagnozujące system, aktywny pulpit i program wykonujący kopie zapasowe danych.

4. Wprowadzono obsługę napędów DVD oraz urządzeń podłączonych poprzez interfejs USB.

5. System Windows 98 jest również nieco szybszy od swojego poprzednika, ale i bardziej od niego wymagający.

6. Do efektywnej pracy systemu Windows 98 komputer musi być wyposażony w procesor przynajmniej Pentium 166 MHz i minimum 32 MB RAM-u.

WIN98

Page 105: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

105

Rok później, w czerwcu 1999 r. ukazała się druga, poprawiona edycja tej wersji systemu — Windows 98 SE (Second Edition). Poprawiono w niej błędy pop. Systemu oraz umożliwiono wspólne korzystanie z jednego połączenia internetowego ICS (ang. Internet Connection Sharing) oraz dołączono oprogramowanie do obsługi aplikacji

Page 106: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

106

WinNT (New Technology)• System sieciowy, po raz pierwszy zaimplementowano system plików

NTFS• NTFS pozwalał na nadawanie uprawnień dostępu do plików i

katalogów, kompresję danych, zapewniał mechanizmy kontroli integralności danych, obsługę dużych partycji i plików.

• Kolejne wersje to 3.1, 3.1 Advanced Server, Windows NT 3.5 Workstation.

Page 107: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

107

NT cd.• W systemie zaimplementowano dwa tryby pracy: tryb jądra (kernel

mode) i tryb użytkownika (user mode). 16-bitowe programy mogą działać w oddzielnym obszarze pamięci, gwarantując pełną ochronę przed kolizjami między aplikacjami 16- i 32-bitowymi. Przez to zasadniczy kod systemu operacyjnego i sterowników urządzeń oraz danych jest chroniony przed działającymi programami. W systemie wprowadzono obsługę wielozadaniowości i wielowątkowości. System zapewnia obsługę wielu protokołów sieciowych, co sprawia, że Windows NT jest bardzo elastycznym i uniwersalnym systemem operacyjnym w środowiskach sieciowych.

Page 108: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

108

NT cd• System zawierał Monitor wydajności, który stanowi część aplikacji

Menedżer zadań. Inny z wprowadzonych programów — Monitor zdarzeń — zapisuje wszystkie zdarzenia i pozwala na ich podgląd — także ze zdalnego komputera poprzez sieć, umożliwia użytkownikom i administratorom pracę na różnych komputerach, a wielu użytkowników może korzystać z tego samego komputera przy zachowaniu własnych, przechowywanych na serwerze konfiguracji, tzw. profili zdalnych. Windows NT Workstation zawiera wbudowane sterowniki i programy monitorujące do obsługi urządzeń dodatkowych, zwiększających bezpieczeństwo pracy, np. UPS. Wprowadzono również obsługę standardu graficznego OpenGL.

Page 109: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

109

Windows 2000• System ten łączy w sobie najlepsze cechy poprzedniego systemu Windows NT

i 98. Z systemu NT zostały odziedziczone bezpieczeństwo i niezawodność, a z 98 prostota interfejsu użytkownika oraz obsługa Internetu i multimediów.

• Windows 2000 został wyposażony w wygodny zestaw narzędzi do administrowania systemem. Zapewniono również wyraźnie większą stabilność systemu. W Windows 2000 wprowadzono system zaawansowanego zarządzania energią, obsługę portów USB i podczerwieni, co ma szczególne znaczenie przy pracy na komputerach przenośnych. W tym systemie zaimplementowano DirectX 7.0, co w znacznym stopniu rozszerzyło możliwości multimedialne systemu. Minimalne wymagania systemu Windows 2000 Professional to Pentium 133, 32 MB RAM i dysk 2 GB z 700 MB wolnego miejsca, karta graficzna min. 4 MB AGP.

Page 110: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

110

Win2000 cd.• W Windows 2000 wyraźnie rozszerzono listę obsługiwanych urządzeń

peryferyjnych i ułatwiono ich obsługę. Microsoft opracował listę zgodności HCL (Hardware Compatibility List). W systemie wykorzystano technologię WDM (Win32 Driver Model), w której wszystkie zadania związane z rozpoznaniem sprzętu i alokacją niezbędnych zasobów spadają na system operacyjny. W związku z tym sterowniki urządzeń muszą m.in. pozwalać na dodawanie i usuwanie sprzętu z systemu bez ponownego uruchamiania komputera oraz poprawnie obsługiwać wychodzenie ze stanu uśpienia. Nowym elementem, który występuje w Windows 2000, jest folder Narzędzia administracyjne (ang. Administrative Tools). Zawarte są w nim aplikacje do zaawansowanego monitoringu i konfigurowania systemu. Najbardziej istotnym programem w tej grupie jest Microsoft Management Console — MMC (zarządzanie komputerem). MMC stworzono, by ułatwić zarządzanie systemem. Ogólne zalety Windows 2000 to możliwość pracy w systemie plików NTFS i FAT32, zabezpieczenie logowania (bez podania hasła do komputera nie będzie możliwe logowanie), systemowe szyfrowanie plików, perspektywa zabraniania dostępu do plików innym użytkownikom komputera (tylko NTFS), ewentualność ograniczenia przestrzeni

Page 111: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

111

Win2000 cd• We wszystkich wersjach systemu jest dostępna obsługa mechanizmów

Plug&Play (automatyczne rozpoznawanie i instalowanie kart PCI oraz urządzeń dodatkowych SCSI i USB), funkcje zarządzania energią dla komputerów przenośnych, obsługę systemu plików FAT32, wsparcie DirectX, usługę Active Directory Services (ADS), umożliwiającą gromadzenie informacji o wszystkich obiektach w sieci komputerowej. Usługa ta miała stanowić alternatywę dla konkurencyjnego produktu Novell Directory Services (NDS). Windows 2000 Professional jest przeznaczony przede wszystkim dla różnej wielkości przedsiębiorstw i został zaprojektowany w taki sposób, aby zapewnić maksymalną niezawodność komputerów przenośnych i biurowych. Windows 2000 Server łączy zintegrowane, przystosowane do współpracy z Internetem usługi katalogowe, sieciowe i aplikacyjne.

Page 112: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

112

Windows CE

• Windows CE (ang. Windows Consumer Electronics) to 32-bitowy system operacyjny, przeznaczony do obsługi przenośnych komputerów handheld typu Palmtop lub PDA oraz różnych specjalistycznych urządzeń elektronicznych: routerów, konsol do gier (Sega DreamCast), telefonów komórkowych itp. Jego wielkość zredukowano do jedynie 400 kB. System nie jest w żaden sposób spokrewniony z innymi systemami Microsoftu (wbrew popularnym poglądom nie jest to okrojona wersja Windows 95), posiada modułową budowę i obsługuje wiele różnych procesorów. Producenci instalują go w postaci pamięci ROM, zazwyczaj nie jest to pamięć typu flash — zmiana lub uaktualnienie systemu może nastąpić tylko przez fizyczną wymianę układu scalonego. Windows CE zawiera w sobie edytor tekstu Pocket Word, arkusz kalkulacyjny Pocket Excel, przeglądarkę WWW Pocket

Page 113: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

113

Windows XP• 2001 r. (skrót od eXPerience — doświadczenie) • Zmodyfikowana szata graficzna• W systemie Windows XP zostały zawarte narzędzia i mechanizmy pozwalające

na wprowadzenie koncepcji Microsoft.NET. Stanowi ona platformę przejścia użytkowników ze środowiska odrębnych aplikacji, usług i urządzeń do całkowicie sieciowego środowiska komputerowego. Platforma .NET wykorzystuje język XML, rozszerzając swój zasięg z jednego komputera PC na inne komputery, serwery, urządzenia inteligentne i usługi sieci WWW. W systemie Windows XP dodano automatyczną konfigurację podstawowych usług sieciowych.

Page 114: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

114

Win2003• przeznaczony głównie do zastosowań serwerowych. Odmiany:• Windows Server 2003 Standard Edition — przeznaczony do pracy w małych

i średnich przedsiębiorstwach, pełniący funkcje serwera plików, drukarek, aplikacji,

• Windows Server 2003 Enterprise Edition — system przeznaczony dla dużych przedsiębiorstw, pełniący funkcje serwera aplikacji lub serwera internetowego obsługującego transakcje handlowe,

• Windows Server 2003 Datacenter Edition — system przeznaczony dla dużych organizacji jako wydajny serwer baz danych, służący do przetwarzania transakcji w czasie rzeczywistym,

• Windows Server 2003 Web Edition — system przeznaczony dla dostawców usług internetowych.

Page 115: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

115

System NTFS• Prawa dostępu do zasobów w systemie Windows

• Uprawnienia NTFS pozwalają określić, którzy użytkownicy lub grupy mają dostęp do danego katalogu lub pliku. Uprawnienia te są dostępne jedynie na dyskach z systemem NTFS. Nie są natomiast dostępne na partycjach sformatowanych z użyciem systemu plików FAT16 i FAT32. Jest to jedna z najważniejszych zalet systemu NTFS. Dzięki temu istnieje możliwość ochrony plików i katalogów przed dostępem niepowołanych osób.

• Prawa do katalogów: odczyt, zapis, wyswietlenie zawartości, zapis i wykonanie, modyfikacje, pełna kontrola

• Prawa do plików: podobne jak do katalogów

Page 116: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

116

ACL• Lista kontroli dostępu

• NTFS wraz z każdym plikiem i katalogiem przechowuje na dysku listę kontroli dostępu ACL (ang. Access Control List). Lista ta zawiera spis wszystkich kont użytkowników i grup, które mają nadane prawa dostępu do plików i katalogów, jak również typ dostępu, jaki został im nadany. Aby użytkownik mógł skorzystać z danego pliku lub katalogu, na liście ACL musi istnieć wpis prawa dostępu, zwany ACE (ang. Access Control Entry), dla niego lub grupy, do której należy. Wpis ten musi pozwalać na rodzaj dostępu, który jest żądany (np. odczyt) dla użytkownika, chcącego uzyskać ten dostęp. Jeśli wpis ACE nie występuje na liście ACL, wówczas użytkownik nie będzie miał dostępu do danego zasobu.

Page 117: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

117

Dziedziczenie uprawnieńDomyślnie uprawnienia przypisywane do katalogów nadrzędnych są dziedziczone przez

podkatalogi i pliki w nim zawarte. Zatem przypisanie uprawnień do danego katalogu spowoduje przypisanie takich samych uprawnień do wszystkich istniejących w nim oraz nowo tworzonych plików i katalogów.

Zablokowanie dziedziczenia uprawnień spowoduje, że wyłączone zostanie przekazywanie uprawnień z katalogu macierzystego do podkatalogów i plików w nim zawartych. Aby wyłączyć ten mechanizm, należy w podkatalogach i plikach usunąć wszystkie odziedziczone uprawnienia, pozostawiając uprawnienia pozostałe. Katalog, dla którego zablokowano mechanizm dziedziczenia uprawnień staje się teraz nowym katalogiem nadrzędnym i jego uprawnienia będą teraz dziedziczyły jego podkatalogi i pliki.

Page 118: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

118

Linux - geneza• Oparty na opracowanym w 1965 roku unixie• 1991 r. Linus Torvalds, z otwartym kodem• Oprogramowanie to jest oparte o licencję GNU opracowaną przez Free Software

Foundation http://www.gnu.org, która zezwala na rozpowszechnianie i wykorzystywanie oprogramowania opartego o tę licencję bez żadnych ograniczeń, również w celach komercyjnych. Inaczej mówiąc, nie ma nielegalnych kopii programów opartych o tę licencję.

• Dystrybucje Linuksa:Standardowe, prekompilowane zbiory pakietów, zwane dystrybucjami, zawierają podstawowy

system Linux, narzędzia do instalowania systemu i zarządzania nim oraz gotowe do instalowania pakiety typowych narzędzi systemu UNIX.

Pierwsze dystrybucje zarządzały pakietami jedynie przez dostarczanie środków do rozpakowywania wszystkich plików w odpowiednie miejsca; współczesne dystrybucje zawierają zawansowane zarządzanie pakietami.

Większość obecnych dystrybucji stosuje lub przynajmniej rozpoznaje pakiety plików RPM – ułatwiające instalację, rozbudowę i usuwanie oprogramowania.

Dystrybucje: SLS, Slackware, knoppix, fedora, debian, suse itp. itd

Page 119: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

119

Główne cechy linuxa:Linux jest wielodostępnym (multiuser), wielozadaniowym

(multitasking) systemem operacyjnym z pełnym zestawem narzędzi zgodnych z systemem UNIX.

Głównymi cechami systemu są: szybkość, wydajność i standaryzacja.

Składowe części linuxa:

Page 120: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

120

System Linux składa się z trzech głównych fragmentów kodu:

Jądro: jest odpowiedzialne za realizację wszystkich istotnych abstrakcji systemu operacyjnego (pamięć wirtualna, procesy itd.).

Kod jądra jest wykonywany w trybie jądra (kernel mode) z pełnym dostępem do wszystkich fizycznych zasobów komputera.

Cały kod jądra ze wszystkimi strukturami danych przebywa w tej samej pojedynczej przestrzeni adresowej

Biblioteki systemowe: Definiują standardowy zbiór funkcji, za pomocą których aplikacje mogą współpracować z jądrem i które realizują wiele właściwości systemu operacyjnego nie wymagających pełnych przywilejów kodu jądra.

Pomoce systemowe: wykonują osobne, specjalizowane zadania administracyjne.

Page 121: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

121

Struktura systemu plików, podstawowe katalogi i pliki systemu

Page 122: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

122

Struktura systemu plików, podstawowe katalogi i pliki systemu cd

Page 123: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

123

Bezpieczeństwo w linuxieZagadnienia bezpieczeństwa można podzielić na dwie grupy:Uwierzytelnianie –zapewnienie, że nikomu nie uda się uzyskać dostępu dosystemu bez uprzedniego wykazania, że ma do tego prawo.Kontrola dostępu –dostarczanie mechanizmu sprawdzania, czy użytkownik maprawo dostępu do danego obiektu i realizowanie ochrony obiektów przed

dostępem.Uwierzytelnianie:Podstawowym mechanizmem uwierzytelniania są hasła: hasło użytkownika zostaje

zmieszane z wartością losową („przyprawione”), zakodowane za pomocą funkcji jednokierunkowej i zapamiętane w pliku haseł.

Aby utrudnić łamanie haseł, przechowuje się zaszyfrowane hasło w plikuniedostępnym do czytania dla ogółu, pozwala się na dłuższe hasła, nie zezwala

się na używanie łatwych haseł (np. wyrazów słownikowych), ogranicza się liczbę niepoprawnie wprowadzonych haseł, rejestruje się przypadki nieudanych prób uwierzytelnienia, stosuje się bezpieczniejsze metody kodowania itd.

Page 124: Systemy Operacyjne - infwshe.cba.plinfwshe.cba.pl/3/SO/wyklad_SO_zima_2007_2008.pdf · Podstawy systemów operacyjnych ... wymagających systemów operacyjnych o rozbudowanych w³aściwościach

124

Kontrola dostępuKontrolowanie dostępu odbywa się za pomocą niepowtarzalnych

identyfikatorów numerycznych: użytkownika –UID, grupy –GID.Linux nadzoruje dostępy przez przypisywanie obiektom masekochronnych (protection masks), określających, które tryby dostępu:

pisanie, czytanie lub wykonywania są udzielane procesom z dostępem właściciela, grupy lub świata (pozostałych użytkowników).

Jedynym wyjątkiem jest uprzywilejowany identyfikator użytkownika root –automatycznie udziela się mu dostępu do dowolnego obiektu w systemie.