85
Toruń, 2004 Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego

Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Toruń, 2004

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Wykład 5

Struktura systemu operacyjnego

Page 2: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Odrabianie wykładów

☛ czwartek, 1.04.2004, S7, g. 12.00

☛ czwartek, 15.04.2004, S7, g. 12.00

Page 3: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura systemu operacyjnego

☛ Składowe systemu☛ Usługi systemu operacyjnego☛ Funkcje systemowe☛ Programy systemowe☛ Struktury systemów☛ Maszyny wirtualne☛ Projektowanie i implementacja systemu☛ Generowanie systemu

Page 4: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Składowe systemu

☛ Zarządzanie procesami (ang. processmanagement)

☛ Zarządzanie pamięcią operacyjną (ang. mainmemory management)

☛ Zarządzanie plikami (ang. file management)☛ Zarządzanie systemem we/wy (ang. I/O system

management)☛ Zarządzanie pamięcią pomocniczą (ang.

secondary-storage management)

Page 5: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Składowe systemu (c.d)

☛ Praca sieciowa (ang. networking)☛ System ochrony (ang. protection system)☛ System interpretacji poleceń (ang. command-

interpreter system )

Page 6: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie procesami

☛ Proces to program, który jest wykonywany. Dorealizacji swego celu proces potrzebujezasobów: czasu procesora, pamięci, plików orazwe/wy.

☛ Procesy mogą być systemowe i użytkowe☛ Proces jest jednostką pracy w systemie☛ System składa się ze zbioru procesów

Page 7: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie procesami (c.d.)

☛ Program nie jest procesem, jest elementempasywnym, zaś proces jest jednostką aktywną

☛ W odniesieniu do zarządzania procesami systemoperacyjny odpowiada za:☛ tworzenie i usuwanie procesów☛ wstrzymywanie i wznawianie procesów☛ synchronizację procesów☛ komunikację procesów☛ obsługę impasów, zakleszczeń (ang. deadlock)

Page 8: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie pamięcią operacyjną

☛ Pamięć jest wielką tablicą słów lub bajtów oprzypisanych adresach. Pamięć stanowimagazyn szybko dostępnych danych wspólniewykorzystywanych przez procesor i we/wy.

☛ Pamięć operacyjna jest pamięcią ulotną☛ W odniesieniu do zarządzania pamięcią system

odpowiada za☛ utrzymywanie tablicy zajętości pamięci☛ decydowanie o tym jakie procesy są ładowane do pamięci☛ przydzielanie i zwolnianie pamięci

Page 9: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie plikami

☛ Plik jest zbiorem powiązanych ze sobą informacjizdefiniowanych przez jego twórcę. Zwykle plikzawiera program (źródłowy lub wynikowy) albodane

☛ W odniesieniu do zarządzania plikami systemodpowiada za☛ tworzenie i usuwanie plików i katalogów☛ dostarczanie elementarnych operacji na plikach i

katalogach☛ odwzorowywanie plików na obszary pamięci pomocniczej☛ składowanie plików na trwałych nośnikach pamięci (ang.

file backup)

Page 10: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie systemem we/wy

☛ System we/wy obejmuje☛ zarządzanie pamięcią: buforowanie, pamięć podręczna,

spooling☛ ogólny interfejs do modułów sterujących urządzeń☛ moduły obsługi (ang. drivers) urządzeń sprzętowych

Page 11: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie pamięcią pomocniczą

☛ Pamięć operacyjna (ang. primary storage) jestulotna i za mała aby pomieścić dane i programydlatego komputer musi mieć pamięć pomocniczą(ang. secondary storage)

☛ Większość współczesnych komputerów używapamięci dyskowej dla danych i programów

☛ W odniesieniu do zarządzania pamięcią dyskowąsystem odpowiada za☛ zarządzanie obszarami wolnymi☛ przydzielanie pamięci☛ planowanie przydziału pamięci dyskowej

Page 12: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Praca sieciowa

☛ System rozproszony jest zbiorem procesorów,które nie dzielą pamięci, urządzeń zewnętrznychani zegara. Każdy procesor ma własną pamięćlokalną

☛ Procesory w systemie rozproszonym komunikująsię za pomocą linii komunikacyjnychstanowiących elementy sieci komputerowych

☛ System rozproszony umożliwia zdalny dostęp dozasobów różnych systemów komputerowych (naogół jest to dostęp do plików)

Page 13: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

System ochrony

☛ Ochrona jest mechanizmem nadzorowaniadostępu programów, procesów lubużytkowników do zasobów komputera

☛ Mechanizm ochrony musi☛ rozróżniać między prawomocnym (ang. authorized) i

nieprawomocnym użyciem zasobów☛ określać co i na jakiej zasadzie podlega ochronie☛ posiadać środki do wymuszania zaprowadzonych ustaleń

Page 14: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

System interpretacji poleceń

☛ Wiele poleceń jest przekazywanych do systemuza pomocą instrukcji sterujących (ang. controlstatements). Polecenia te dotyczą☛ tworzenia procesów i zarządzania nimi☛ obsługi wejścia/wyjścia☛ administrowania pamięcią pomocniczą i operacyjną☛ dostępu do plików☛ ochrony☛ pracy sieciowej

Page 15: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

System interpretacji poleceń (c.d.)

☛ Program, który analizuje instrukcje sterującenazywa się różnie☛ interpreter kart sterujących (ang. control-card interpreter)☛ interpreter wiersza poleceń(ang. command-line interpreter)☛ powłoka (ang. shell) (w UNIXie)

Jego funkcja to pobranie i wykonanie następnejinstrukcji sterującej wpisanej z klawiatury iwprowadzonej za pomocą klawisza Enter(Return) bądź wprowadzonej kliknieciem myszkina wybraną ikonę.

Page 16: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Unix - realizacja poleceń

☛ Interpreter poleceń: powłoka (ang. shell)☛ System wielozadaniowy☛ Wprowadzenie polecenia to zapoczątkownie

procesu funkcją systemową fork i exec☛ Powłoka oczekuje na zakończenie procesu☛ Jeśli polecenie wykonuje się w tle (ang.

background) to powłoka może przyjmowaćnowe polecenia

☛ Proces wykonuje funkcję systemową exit☛ Powłoka może realizować nowe polecenie

Page 17: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - prosty shell

#define TRUE 1

while (TRUE) { /* pętla */ type_prompt( ); /* prompt */ read_command (command, parameters) /*czytaj komendę */

if (fork() != 0) { /* proces potomny */ /* Kod rodzica */ waitpid( -1, &status, 0); /* czekaj */} else { /* Kod potomka */ execve (command, parameters, 0); /* wykonaj komendę */ }}

Page 18: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Router Cisco - CLI

FLASH

NVRAM

ROM

CPU

RAMinterfejs szyny

interfejswe/wy

interfejswe/wy

interfejswe/wy

CPU CPU CPU

SystemIOS

Konfiguracja

booting tablice routingu

IOS

magistrala

sh flash

sh conf sh prot

sh int s0

sh processes CPU

sh run

sh ver

Page 19: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Usługi systemu operacyjnego

☛ Wykonanie programu - system powinien móczaładować program do pamięci i wykonać go

☛ Operacje we/wy - ponieważ program użytkowynie wykonuje operacji we/wy bezpośrednio więcsystem musi to oferować system

☛ Manipulowanie systemem plików - programmusi mieć możliwość (pod kontrolą) do czytania,pisania, tworzenia i usuwania plików

Page 20: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Usługi systemu operacyjnego (c.d.)☛ Komunikacja - wymiana informacji pomiędzy

procesami wykonywanymi na tym samym lubzdalnym komputerze np. za pomocą pamięcidzielonej (ang. shared memory) lubprzekazywania komunikatów (ang. messagepassing)

☛ Wykrywanie błędów - zapewnienie prawidłowścidziąłania komputera poprzez wykrywanie iobsługę wszystkich błędów w jednostcecentralnej, pamięci operacyjnej, urządzeniachwe/wy (np. błąd sumy kontrolnej) i w programieużytkownika (np. przekroczenie czasu)

Page 21: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Dodatkowe funkcje systemu

☛ Dodatkowe funkcje systemu nie sąprzeznaczone do pomagania użytkownikowi,lecz do optymalizacji działania samego systemu☛ przydzielanie zasobów dla wielu użytkowników i wielu

zadań w tym samym czasie☛ rozliczanie - przechowywanie danych o tym, którzy

użytkownicy i w jakim stopniu korzystają zposzczególnych zasobów komputera (statystykaużytkowania)

☛ ochrona - zapewnienie aby cały dostęp do zasobówsystemu odbywał się pod kontrolą np. dostęp przez modempo podaniu hasła

Page 22: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Funkcje systemowe☛ Funkcje systemowe (ang. system calls) tworzą

interfejs między wykonywanym programem asystemem operacyjnym☛ dostępne na poziomie języka maszynowego (asemblera) -

IBM/370: rozkaz SIO (start input/output)☛ pewne języki zastępują asembler w programowaniu

systemowym i umożliwiają bezpośrednie wykonywanie funkcjisystemowych (np. C, C++, Bliss, PL/360, PERL)

☛ Win32 API (ang. Application Programm{er|ing} Interface) -wielki zbiór procedur dostarczanych przez Microsoft, któreumożliwiają realizację funkcji systemowych

☛ Proste skopiowanie pliku jest w rzeczywistościskomplikowanym przedsięwzięciem

Page 23: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Funkcje systemowe (c.d.)

☛ Są trzy metody przekazywania parametrówmiędzy wykonywanym programem a systememoperacyjnym☛ umieszczenie parametrów w rejestrach jednostki centralnej☛ zapamiętanie parametrów w tablicy w pamięci operacyjnej

i przekazanie adresu tej tablicy jako parametru w rejestrze☛ składowanie (ang. push) przez program parametrów na

stosie (ang. stack) i zdejmowanie (ang. pop) ze stosuprzez system operacyjny

Page 24: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przekazywanie parametrów zapomocą tablicy

program użytkownika system operacyjny

Rejestr

X: parametry

funkcji systemowej

pobranie adresu X

wywołanie funkcji

systemowej 13

X

użycie parametrów

z tablicy X kod funkcjisystemowej 13

Page 25: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Funkcje systemowe - podział

☛ nadzorowanie procesów☛ operacje na plikach☛ operacje na urządzeniach☛ utrzymywanie informacji☛ komunikacja

Page 26: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Nadzorowanie procesów

☛ zakończenie (end), zaniechanie (abort)☛ załadowanie (load), wykonanie (execute)☛ utworzenie (create) i zakończenie (terminate)☛ pobranie (get) i ustawienie (set) atrybutów☛ czekanie czasowe (wait for time)☛ czekanie na zdarzenie (event), sygnał (signal)☛ przydział (allocate) i zwolnienie (free) pamięci

Page 27: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Nadzorowanie procesów i zadań

☛ Zrzuty zawartości (ang. dump) pamięci na dyskw przypadku błędu

☛ Ślad działania programu (ang. trace)☛ tryb pracy jednokrokowy procesora (ang. single step) -

wejście w tryb obsługi pułapki (ang. trap) po wykonaniukażdej instrukcji

☛ Dokąd przekazać sterowanie gdy załadowanyprogram zakończy pracę?

Page 28: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

MS-DOS działanie

☛ System jednozadaniowy☛ Okrojone wykonywanie współbieżne za pomocą

funkcji systemowej TSR (ang. terminate andstay resistance)☛ TSR przechwytuje przerwanie (np. zegarowe)☛ TSR rezerwuje obszar pamięci co uniemożliwia

nadpisanie go przez interpreter poleceń

Page 29: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

MS-DOS - proces a pamięć

jądro jądro

interpreter interpreter

obszar wolny

obszar wolny

proces

Page 30: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

UNIX - wieloprogramowanie

jądro

interpreter

obszar wolny

proces C

proces B

proces D

Page 31: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Operacje na plikach

☛ utworzenie (create) i usunięcie (delete)☛ otwarcie (open) i zamknięcie (close)☛ czytanie (read), pisanie (write), zmiana

położenia (reposition)☛ pobranie (get) i ustawienie (set) atrybutów

(attributes) pliku

Page 32: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zarządzanie urządzeniami

☛ Zarezerwowanie urządzenia☛ Zwolnienie urządzenia☛ Podobieństwo plików i urządzeń☛ W Unixie i MS-DOS urządzenia to pliki o

specjalnych nazwach (/dev/ttyS0 lub COM1)

Page 33: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Utrzymywanie informacji

☛ pobranie (get) lub ustawienie (set) czasu lubdaty (time or date)

☛ pobranie (get) lub ustawienie (set) danychsystemowych (system data)

☛ pobranie (get) atrybutów procesu, pliku luburządzenia

☛ ustawienie (set) atrybutów procesu, pliku luburządzenia

Page 34: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Komunikacja

☛ utworzenie (create), usunięcie (delete)połączenia

☛ nadawanie (send), odbieranie (receive)komunikatów (messages)

☛ przekazywanie informacji o stanie (transferstatus information)

☛ przyłączanie lub odłączanie urządzeń zdalnych(attach or detach remote devices)

Page 35: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Operacje na urządzeniach

☛ zamówienie (request) i zwolnienie (release)urządzenia (device)

☛ czytanie (read), pisanie (write) i zmianapołożenia (reposition)

☛ pobranie (get) i ustawienie (set) atrybutów☛ logiczne przyłączanie (logically attach) i

odłączanie (detach) urządzenia

Page 36: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Działanie na plikach

☛ Pliki tworzymy i usuwamy☛ Aby użyć utworzony plik musimy go otworzyć☛ Wykonujemy operacje na plikach (czytanie,

pisanie, przewijanie)☛ Po wykonaniu operacji na pliku plik zamykamy☛ Katalog jest też plikiem: analogiczne funkcje☛ Ochrona dostępu: atrybuty zbiorów

Page 37: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykłady - Unix i Win32

☛ tworzenie nowego procesu☛ Unix: fork; Win32: CreateProcess

☛ czekanie na zakończenie procesu☛ Unix: waitpid; Win32: WaitForSingleObject

☛ wykonanie nowego procesu☛ Unix: execve; Win32: (brak)

☛ zakończenie procesu☛ Unix: exit; Win32: ExitProcess

☛ przesłanie sygnału☛ Unix: kill; Win32: (brak)

Page 38: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykłady - Unix i Win32 (c.d.)

☛ otwarcie zbioru☛ Unix: open; Win32: CreateFile

☛ zamknięcie zbioru☛ Unix: close ; Win32: CloseHandle

☛ czytanie z pliku☛ Unix: read; Win32: ReadFile

☛ pisanie do pliku☛ Unix: write; Win32: WriteFile

☛ przesunięcie w pliku☛ Unix: lseek; Win32: SetFilePointer

Page 39: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykłady - Unix i Win32 (c.d.)

☛ atrybuty pliku☛ Unix: stat; Win32: GetFileAttributesEx

☛ tworzenie katalogu☛ Unix: mkdir; Win32: CreateDirectory

☛ usuwanie katalogu☛ Unix: rmdir; Win32: RemoveDirectory

☛ link do pliku☛ Unix: link; Win32: (brak)

☛ usuniecie linku☛ Unix: unlik; Win32: (brak)

Page 40: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykłady - Unix i Win32 (c.d.)

☛ montowanie katalogu☛ Unix: mount; Win32: (brak)

☛ rozmontowanie katalogu☛ Unix: umount; Win32: (brak)

☛ zmiana katalogu☛ Unix: chdir; Win32: SetCurrentDirectory

☛ zmiana praw dostępu☛ Unix: chmod; Win32: (brak)

☛ pobranie czasu☛ Unix: time; Win32: GetLocalTime

Page 41: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Komunikacja

☛ Dwa modele komunikacji:☛ przesyłanie komunikatów (ang. message passing)☛ pamięć dzielona (ang. shared memory)

☛ Przesyłanie komunikatów☛ nawiązanie połączenia

☛ pobranie nazwy sieciowej (ang. gethostid) , procesu (ang.get processid), otwarcie połączenia (ang. open connection)

☛ realizacja połączenia☛ klient i serwer wymieniają komunikaty (read, write)

☛ zamknięcie połączenia (ang. close connection)

Page 42: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Model klient/serwer

Sprzęt klienta Sprzęt serwera

System operacyjnyklienta

System operacyjnyserwera

Sieciowy systemoperacyjny klienta

Sieciowy systemoperacyjny serwera

Oprogramowanieklienta

Oprogarmowananieserwera

Usługi warstwyprezentacji

polecenie

odpowiedź

Protokółsieciowy

Połączeniesieciowe

Page 43: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Komunikacja (c.d.)

☛ Pamięć dzielona☛ procesy posługują się systemowymi funkcjami

odwzorowywania pamięci (ang. memory map)☛ system operacyjny nie ingeruje w sposób wykorzystania

pamięci dzielonej☛ problemy synchronizacji i ochrony danych

☛ Przesyłanie komunikatów przydatne dlamniejszej ilości danych i łatwe do realizacji

☛ Pamięć dzielona zapewnia maksymalną szybkośći wygodę komunikacji

Page 44: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Rodzaje komunikowania

jądro

proces B

proces A

jądro

proces D

proces C

pamięć dzielona

K

K

K

pamięć dzielona przesyłanie komunikatów

Page 45: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Programy systemowe

☛ Programy systemowe (ang. system programs)wygodniejsze środowisko do opracowywania iwykonywania innych programów. Można jepodzielić na kilka kategorii☛ Manipulowanie plikami (ang. file manipulation) -

programy do tworzenia, usuwania, kopiowania,przemianowywania, składowania i wyprowadzaniazawartości plików

☛ Informowanie o stanie systemu (ang. status information) -logi systemowe

☛ Tworzenie i zmienianie zawartości plików (ang. filemodification) - np. edytory

Page 46: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Programy systemowe (c.d.)

☛ (c.d)☛ Translatory języków programowania (ang. programming

language support) - C, Pascal, Basic, Lisp..☛ Ładowanie i wykonywanie programów (ang. program

loading and execution) - konsolidatory i programy ładujące☛ Komunikacja (ang. communications) - np. remote login☛ Programy aplikacyjne (ang. application programs)

☛ Sposób w jaki użytkownicy postrzegają systemoperacyjny wyznaczają programy systemowe anie funkcje (wywołania) systemowe

☛ Przyjazne dla użytkownika środowisko nie jestbezpośrednim celem systemu operacyjnego

Page 47: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktury systemów

☛ Monolityczna (ang. monolithic) - jądrojednoczęściowe☛ OS/360 - 5000 programistów 1M kodu w ciągu 5 lat☛ IBM/360 MVT/TSO - koszt 50M $☛ AIX - Unix wersji IBM - jądro dwuczęściowe

☛ Warstwowa (ang. layered)☛ strukura hierarchiczna - skutki małych zmian w jednej

warstwie trudne do przewidzenia w innych warstwach

☛ Mikrojądra (ang. microkernel, µ-kernel)☛ jedynie bezwzględnie niezbędne funkcje systemowe w

jądrze systemu (np. mikrojądro L4 ma 12kB kodu, 7funkcji systemowych)

Page 48: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

System monolityczny

procedura główna

procedury usługowe

procedury użytkowe

Page 49: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - MS-DOS

☛ MS-DOS – napisany pod kątem osiągnięciamaksymalnej funkcjonalności przy oszczędnościmiejsca☛ brak wyraźnego podziału na moduły☛ interfejsy i poziomy funkcjonalności nie są jasno

wydzielone, np. programy użytkowe mogą pisaćbezpośrednio na ekran

☛ brak dualnego trybu pracy (Intel 8088)☛ konsekwencja: MS-DOS nie jest odporny na błędne

programy

Page 50: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura MS-DOS (c.d.)

program aplikacji

rezydentny program systemowy

moduły sterujące MS-DOS

moduły sterujące ROM BIOS

Page 51: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - Unix

☛ UNIX (oryginalny) - ograniczany przez cechysprzętu miał ograniczoną strukturę. UNIX OSskłada z dwu odrębnych części☛ programy systemowe☛ jądro systemu

☛ jądro to wszystko co znajduje się poniżej interfejsu funkcjisystemowych a powyżej sprzętu

☛ za pośrednictwem funkcji systemowych jądro systemu UNIXudostepnia system plików, planowanie przydziału procesora,zarządzanie pamięcią oraz inne funkcje systemu

Page 52: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura systemu UNIX

(użytkownicy)

powłoki i poleceniakompilatory i interpretery

biblioteki systemowe

obsługa sygnalów obsługa terminaliznakowy system we/wy moduły sterujące terminali

sprzętowy interfejs jądra

interfejs funkcji systemowych

system plików wymiana blokowy system we/wy moduły sterujące dysków i taśm

planowanie CPU zastępowanie stron stronicowanie na żądanie pamięć wirtualna

sterowniki terminali terminale

sterowniki urządzeń dyski i taśmy

sterowniki pamięci pamięć fizyczna

Page 53: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura warstwowa

☛ System operacyjny jest podzielony na warstwy(poziomy) (ang. layers (levels)) zbudowanepowyżej warstw niższych. Warstwę najniższą(warstwę 0) stanowi sprzęt; warstwę najwyższą(warstwę N) stanowi interfejs z użytkownikiem

☛ podejście warstwowe realizuje modularność(ang. modularity): warstwy są wybrane w tensposób, że każda korzysta z funkcji (operacji) iusług tylko niżej położonych warstw

Page 54: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Warstwa systemu operacyjnego

.

.

.

.

.

.

.

.

.

warstwa M

warstwa M-1

nowe operacje

ukryte operacje

istniejące operacje

Page 55: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - system THE

☛ Zastosowana po raz pierwszy przyprojektowaniu systemu THE (TechnischeHogeschool w Eindhoven). Sześć warstw☛ 5: programy użytkowe☛ 4: buforowanie urządzeń we/wy☛ 3: program obsługi konsoli operatora☛ 2: zarządzanie pamięcią☛ 1: planowanie przydziału procesora☛ 0: sprzęt

Page 56: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura systemu OS/2

aplikacja aplikacja aplikacja

interfejs programowania aplikacji API

podsystem podsystem podsystem

jądro systemu

moduł sterujący

moduł sterujący

moduł sterujący

moduł sterujący

zarządzanie pamięcią

zarządzanie urządzeniami

ekspedycja zadań

Page 57: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura jądra systemu Unix

interfejs funkcji systemowych

interfejs sprzętu

podsystem plików

moduły sterujące

znakowe blokowe

sprzęt

podsystem zarządzania procesami

bibliotekiwarstwa użytkownika

warstwa jądra

warstwa jądrawarstwa sprzętu

komunikacja międzyprocesowa

planista przydziału procesora

zarządzanie pamięcią

cache (bufory)

program użytkownika pułapka

Page 58: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Maszyny wirtualne

☛ Maszyna wirtualna (ang. virtual machine) jestlogiczną konsekwencją podejścia warstwowego:jądro systemu jest traktowane jako sprzęt.☛ IBM VM/370, JavaOS, Tryb MS-DOS, Cygwin, VMware

☛ Maszyna wirtualna dostarcza identycznegointerfejsu dla sprzętu

☛ System operacyjny tworzy wirtualne systemykomputerowe, każdy proces ma do dyspozycjiwłasne (wirtualne) jądro, dyski, pamięć,drukarki

Page 59: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Maszyny wirtualne (c.d.)

☛ Zasoby fizycznego komputera są dzielone w celuutworzenia maszyn wirtualnych☛ planowanie przydziału procesora jest tak wykorzystane, że

użytkownik ma wrażenie jakoby miał do dyspozycjiwłasny procesor

☛ Spooling i system zarzadzania plikami jest wykorzystanytak, że powstaje wrażenie użytkowania drukarki, czytnikana wyłączność

☛ Zwykłe terminale użytkownika funkcjonują jak konsoleoperatorskie maszyny wirtualnej ( system interakcyjnyCMS)

Page 60: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Modele systemumaszyna niewirtualna maszyna wirtualna

jądro

sprzęt

proces B

proces Ajądro

sprzęt

proces B

proces A

jądro

proces D

proces C

jądro

proces F

proces E

VM1 VM2 VM3

implementacja maszyny wirtualnej

interfejs programowy

Page 61: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - VM/370

☛ Obserwacja: system podziału czasu dajeużytkownikowi wieloprogramowanie poprzezstworzenie wrażenia maszyny wirtualnej

☛ Wniosek: należy te dwie idee rozdzielić☛ Monitor maszyny wirtualnej zarządza zasobami

sprzętowymi wielu systemów operacyjnych CMS(ang. Conversational Monitor System)

☛ Przykład: program czyta plik z dysku wirtualnego☛ (wirtualne) wywołanie systemowe CMS☛ symulacja I/O przez system VM/370

Page 62: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - VM/370

CMS CMSCMS

VM/370

„goła maszyna 370”

maszyny wirtualne 370

pułapka

pułapka

instrukcja we/wy

wywołanie systemowe

Page 63: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Wirtualna Maszyna Javy

☛ Program w Javie .java kompilowany programemjavac tworzy kod wynikowy (ang. bytecode) .class

☛ Kod wynikowy .class jest niezależny od platformysprzętowej

☛ Do wykonania .class potrzebny jest jednakprogram java (Java Virtual Machine (JVM)), któryjest implementacją maszyny wirtualnej

☛ JVM składa się z:☛ Class loader☛ Class verifier☛ Runtime interpreter

Page 64: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Maszyna wirtualna JVM

class loader

Java interpreter

program Java pliki .class

Java API pliki .class

system operacyjny

bytecode

Page 65: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Przykład - program w Javie

☛ hello.java

☛ javac hello.java☛ javap -c hello >hello.bc☛ scp java.class [email protected]:☛ slogin juliusz.mat.uni.torun.pl -l user☛ uname -a☛ java hello

public class hello{ public static void main(String args[]) { System.out.println("Hello World!"); }}

Page 66: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Maszyna wirtualna - plusy iminusy☛ Koncepcja maszyny wirtualnej dostarcza pełnej

ochrony zasobów systemu, bowiem każdamaszyna wirtualna jest całkowicie odizolowanaod innych maszyn. Z drugiej strony izolacja takautrudnia bezpośrednie dzielenie zasobów

☛ System maszyn wirtualnych jest doskonałymnarzędziem do badania systemów operacyjnychoraz poszukiwania kierunków ich rozwoju. Niema potrzeby wyłączać z eksploatacji systemukomputerowego w czasie trawania pracsystemowych - można eksperymentować najednej z maszyn wirtualnych

Page 67: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Maszyna wirtualna - plusy iminusy (c.d.)

☛ Metasystem operacyjny - system operacyjnynadzorujący jednoczesną pracę wielu systemówoperacyjnych na jednym komputerze: np.9xLinux, 2xW95, 2xWNT, 1xSolaris, 1xMS-DOS

☛ Koncepcja maszyny wirtualnej jest bardzo trudnado zaimplementowania dlatego, że zawsze będziepokusa uzyskania oryginalnego systemu podpostacią maszyny wirtualnej - petitio principii

☛ petitio principii - sofizmat myślowy, “błędne koło”

Page 68: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Kompromis - egzojądro

☛ Maszyna wirtualna daje jedynie fragmentzasobów maszyny rzeczywistej

☛ “Istnieją dwa rodzaje ludzi - ci, którzy wszystkona świecie dzielą na dwa rodzaje rzeczy i ci,którzy tego nie czynią” - Kenneth Boulding

☛ Egzojądro (ang. exokernel ) - najniższa warstwajądra mająca za zadanie przydział zasobówmaszyn wirtualnych

☛ Wieloprogramowanie obsługiwane w egzojądrze☛ System operacyjny użytkownika działa w jego

przestrzeni adresowej ( w trybie użytkownika)

Page 69: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Wady podejścia warstwowego

☛ Trudno jest zdefiniować warstwę albowiemuzależnione to jest od warstw leżących poniżej

☛ Nieefektywność systemu wynikająca zkonieczności przechodzenia przez wiele warstw☛ operacja we/wy:warstwa we/wy -> warstwa zarządzania

pamięcią-> warstwa zarządzania procesami-> sprzęt☛ pierwsze wersje Windows NT miały strukturę warstwową i były mniej

wydajne niż Windows95

☛ Trudno jest kontrolować modyfikowanie kodusystemu operacyjnego

Page 70: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Mikrojądro

☛ jądro zredukowane do małego zbioru funkcjirdzeniowych tzw. mikrojądro

☛ większość operacji w przestrzeni użytkownika☛ obsługa: urządzeń, plików, pamięci wirtualnej, grafiki,

ochrona przy pomocy komunikatów (np. IPC)☛ Przykłady

☛ Mach - opracowany w Carnegie-Mellon University☛ Tru64 UNIX - Digital UNIX☛ Apple MacOS X Server☛ QNX - przykład systemu czasu rzeczywistego

☛ Windows NT 4.0 - rozwiązanie hybrydowe:warstwowe podejście do modelu klient-serwer

Page 71: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Struktura Mac OS X

BSD

mach

application environments and common services

kernel environment

Page 72: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Windows NT - hybrydowastruktura klient - serwer

aplikacja Win32

serwer Win32

aplikacja OS/2

serwer OS/2

aplikacja POSIX

serwer POSIX

jądro jądro

Page 73: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Warstwy a mikrojądro

sprzęt sprzęt

mikrojądro

pamięć wirtualna

zarządzanie we/wy

komunikacja IPC

systemy plików

użytkownicy

zarządzanie procesami

proc

es k

lient

a

pam

ięć

wirt

ualn

a

serw

er p

roce

sów

serw

er p

lików

mod

uły

ster

ując

e

tryb

jądra

tryb

użytkownika

Page 74: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Zalety i wady mikrojąder

☛ Jednolity interfejs dla procesów☛ Łatwość w kontrolowaniu kodu systemu

operacyjnego☛ Przenaszalność systemu (na inną architekturę)☛ Niezawodność - małe jądro łatwiej przetestować

(ok. 300 kB kodu, 140 funkcji systemowych)

☛ Wydajność - zbudowanie, zakolejkowanie,wysłanie, odebranie, potwierdzenie komunikatu

☛ Poprawianie wydajności prowadzi do rozbudowymikrojądra

Page 75: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Moduły

☛ Większość współczesnych systemówoperacyjnych ma zaimplementowane wjądrze systemu moduły (np. Linux)☛ podejście zorientowane obiektowo☛ moduły komunikują się za pomocą interfejsów☛ moduł jest ładowany do jądra tylko wtedy gdy jest

potrzebny☛ Pewne podobieństwo do struktury

warstwowej jednak większa elastyczność

Page 76: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Solaris - struktura modułowa

rdzeń jądra

systemy plików

moduły urządzeń

różnemoduły

modułystrumieni

formatywynikowe

wywołania systemowe

kolejki planisty

Page 77: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Projektowanie systemu -założenia projektowe

☛ Oczekiwania użytkownika - system operacyjnypowinien być wygodny i łatwy w użyciu i donauki, niezawodny, bezpieczny i szybki

☛ Oczekiwania projektanta systemu - systemoperacyjny powinien być łatwy w projektowaniuoraz realizacji; elastyczny, niezawodny, wolnyod błędów i wydajny

☛ Sformułowane oczekiwania są niejasne,nieprecyzyjne, na domiar złego ogólny sposóbrealizacji jest nieznany

Page 78: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Mechanizm a polityka

☛ Mechanizmy określają jak czegoś dokonać, zaśpolityka decyduje o tym co ma być zrobione

☛ Zasada rozdziału polityki od mechanizmu jestbardzo ważną zasadą gwarantującą elastyczność☛ zmiana polityki może powodowąć wymianę mechanizmu☛ ogólny mechanizm jest mniej podatny na zmianę polityki☛ dwie skrajności

☛ wydzielenie elementarnych składowych systemuoperacyjnego (np. w postaci mikrojąder) i budowanie na ichpodstawie ogólnych mechanizmów zależnie od bieżącejpolityki

☛ wbudowanie wszystkich mechanizów oraz interfejsówużytkowych w jądro systemu (np. Apple Macintosh)

Page 79: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Implementacja systemu

☛ Tradycyjnie systemy operacyjne pisano w kodziemaszynowym (asemblerze); obecnie mogą byćpisane w języku wysokiego poziomu (tylko 900wierszy oryginalnego kodu UNIXa było wasemblerze)

☛ Język wysokiego poziomu pozwala na☛ szybsze programowanie systemów operacyjnych☛ uzyskiwanie bardziej zwartego kodu.☛ łatwiejsze zrozumienie i sprawdzanie kodu☛ łatwiejsze przenoszenie (ang. port) systemu na komputery

o innej architekturze

Page 80: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Generowanie systemu -(SYSGEN)

☛ Systemy operacyjne są projektowane na pewnąklasę (podobnych) maszyn; dla każdej maszynysystem musi zostać osobno skonfigurowany

☛ Program generujący (SYSGEN) ma na wejściuinformację o specyficznej konfiguracji a nawyjściu gotowy system operacyjny na dysku☛ jaki procesor lub procesory; jakie rozszerzenia☛ ile pamięci opercyjnej; ile pamięci pomocniczej(swap)☛ jakie urządzenia we/wy i sposób ich adresowania☛ jaki sposób przydziału procesora, maksymalna liczba

procesów

Page 81: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Generowanie systemu -(SYSGEN) (c.d.)

☛ Można skonstruować system całkowiciesterowany tablicami; system zawiera caływymagany kod a wyboru dokonuje się w czasiewykonania programu

☛ Rozruch (ang. booting) - procedura startowaniasystemu przez załadowanie jądra do pamięci

☛ Program rozruchowy (ładujący) (ang. bootstrap(loader)) - fragment kodu w ROM, który jest wstanie zlokalizowąć jądro, wczytać do pamięci irozpocząć jego wykonywanie

Page 82: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Strony WWW

☛ ACM☛ www.acm.org

☛ IEEE Computer Society☛ www.computer.org

☛ USENIX☛ www.usenix.org

Page 83: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Podsumowanie (1)

☛ Systemy operacyjne są dostarczycielami usług☛ najniższy poziom to funkcje systemowe☛ interpreter poleceń lub powłoka☛ programy systemowe do spełniania życzeń

☛ Rodzaje żądań od systemu zależą od poziomu☛ najniższy poziom: podstawowe operacje na procesach,

plikach i urządzeniach☛ żądania poziomu interpretera poleceń lub programów

systemowych są tłumaczone na język funkcji systemowych

Page 84: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Podsumowanie (2)

☛ Usługi systemu dzielimy na☛ nadzór na wykonaniem procesów☛ podawanie informacji o stanie systemu☛ obsługa zamówień na operacje we/wy☛ obsługa błędów

☛ Struktura jądra systemu☛ monolityczna - np. Linux☛ warstwowa☛ mikrojądro

Page 85: Zbigniew S. Szewczak Podstawy Systemów Operacyjnychzssz/PSO2004/W5.pdf · Podstawy Systemów Operacyjnych Wykład 5 Struktura systemu operacyjnego. Odrabianie wykładów ☛czwartek,

Podsumowanie (3)

☛ Projektowanie systemu operacyjnego☛ modularność projektu ułatwia implementację☛ układ warstwowy jest ważną techniką projektowania☛ koncepcja maszyny wirtualnej zaciera różnice między

jądrem i sprzętem i pozwala na umieszczenie systemu☛ oddzielenie polityki od szczegółów realizacyjnych podczas

projektowania gwarantuje elestyczność☛ systemy operacyjne pisane są w językach wysokiego

poziomu lub w językach implementacji systemów

☛ Generacja systemu jest dopasowaniem systemuoperacyjnego do potrzeb konkretnej instalacji