Zadanie 1
W systemie uruchomiono trzy procesy: A,
B, C. Proces A przychodzi w czasie t=0ms i wykonuje się przez 40 ms. Proces B
przychodzi w czasie t=20 ms i wykonuje się przez 20ms. Proces C przychodzi w
czasie t=30 ms i wykonuje się przez 10ms. Narysuj trzy diagramy Gannt'a
obrazujące wykorzystanie procesora i zakładające odpowiednio planowanie przy
pomocy algorytmów FCFS, SJF (shortest job first) oraz SRTF (shortest remaining
time first, zwany również SJF z wywłaszczaniem).
FCFS (First Come First Serve, Procesy otrzymują
procesor na zasadzie FIFO; nie ma wywłaszczenia)
A |
B |
C |
0
40
60 70
SJF (Shortest Job First; bez
wywłaszczenia)
A |
C |
B |
0
40 50 70
SRTF (Shortest Remaining Time
First; SJF z wywłaszczeniem)
A |
B |
C |
B |
A |
0 20 30 40 50 70
Zadanie
2. Głowica dysku jest nad sektorem 20. W
kolejce żądań do dysku znajdują się następujące sektory: 1, 14,23,18,45,68,100
Podaj kolejność obsługi żądań zakładając planowanie przy pomocy algorytmów:
FCFS, SSTF (shortest seek time first) oraz C-LOOK (z przesuwem w
stronę rosnących numerów).
FCFS
0 1 14 18
20 23 45 68 100
SSTF
0 1
14 18
20 23 45 68 100
C-LOOK
0 1 14 18
20 23 45 68 100
Zadanie
3 Alicja
chce wysłać tajną wiadomość do Boba. Niestety Ewa weszła w posiadanie klucza
prywatnego Alicji. Czy w takiej sytuacji Alicja będzie mogła przekazać tajną
wiadomość Bobowi nie narażając jej na ujawnienie Ewie ? (Uzasadnienie max. 3
zdania).
Tak. Wykorzystując algorytm kryptografii asymetrycznej, gdzie jest jeden klucz
szyfrujący i jeden deszyfrujący. W takim przypadku, należy ukryć klucz Alicji i
użyc klucza publicznego Boba do szyfrowania wiadomości oraz klucza prywatnego
Boba do deszyfrowania wiadmości.
Zadanie 4
Rozmiar strony w systemie wynosi 8KB.
Obraz procesu w pamięci zajmuje 20KB. Oznacza to, że z powodu fragmentacji
zewnętrznej zmarnowanych jest ...4.... KB pamięci.
Zadanie 5 Proces wykonuje się w dwóch wątkach A
oraz B. Obydwa wątki wykonują funkcję f, a x jest zmienną lokalną w tej funkcji
[deklaracja: int x;] Najpierw wątek A przypisał zmiennej x wartość 10.
Następnie wątek B przypisał tej samej zmiennej wartość 5. Następnie wątek A
odczytał wartość tej zmiennej uzyskując …10….
Zadanie 6 Spośród trzech mechanizmów transferu
we/wy (A) programowane wejście-wyjście (ang.PIO) (B) wejście-wyjście sterowane
przerwaniami (C) transmisja z wykorzystaniem bezpośredniego dostępu do pamięci
(ang. DMA), osiągnięcie największej szybkości transmisji danych umożliwia
.......C........, a drugiej co do wielkości szybkości transmisji
........A..........
Zadanie 7
Podaj kod dla pewnego (pojedynczego)
procesu, który przy wykorzystaniu pojedynczego semafora S doprowadzi
do blokady (ang. deadlock).
private object lock1 = new object();
private object lock2 = new object();
new Thread(M1).Start();
new Thread(M2).Start();
…
public void M1() {
lock(lock1)
lock(lock2)
..
// jakiś kod }
public void M2() {
lock(lock2)
lock(lock1)
…
// jakiś kod }
Zadanie
8 Czy
znany z klasycznego Uniksa mechanizm synchronizacji jądra i handlerów przerwań,
polegający na blokowaniu przerwań (np. instrukcje cli/sti w Pentium) przy
wykonywaniu krytycznych sekcji kodu jądra spełniałby swoją rolę w systemie
wieloprocesorowym (Uzasadnienie max. 3 zdania).
Nie. Ponieważ w systemach SMP:
- Jeżeli dwa procesy wywołuja funkcje systemowe, dwa procesory moga probowac
odwolac sie do tej samej struktury danych w jadrze.
- Wyłaczenie przerwań (np. instrukcja cli) blokuje
perzerwania tylko na lokalnym procesorze, przerwanie może odebrać inny
procesor.
Zadanie
9 W
systemie wieloprocesorowym ze współdzieloną pamięcią wykorzystującym
współczesne procesory (A) nie występuje efekt fałszywego współdzielenia (ang.
false sharing) (B) czas dostępu dowolnego procesora do dowolnej komórki pamięci
zewnętrznej (np. DDR-RAM) jest stały (C) stosowanie mechanizmów synchronizacji
opartych na aktywnym czekaniu (ang. spin-locks) zawsze zmniejsza wydajność.
Poprawne odpowiedzi to: ...Brak poprawnej odpowiedzi.....
Zadanie
10 Planista
długoterminowy jest powszechnie stosowany w (A) systemach czasu rzeczywistego
typu hard real-time (B) w systemach operacyjnych dla komputerów biurkowych (np.
Windows XP) (C) systemach klastrowych służących do obliczeń
naukowo-inżynierskich (D) w jądrze Linuksa z serii 2.6.x. ..........C..........
Zadanie
11 W
klasycznym mechanizmie wymiany przesyłane są (A) najrzadziej używane strony
procesów (B) kompletne obrazy procesów (C) wybrane segmenty procesów (D) tylko
segmenty kodu procesów. B,C.
Zadanie
12 Które
mechanizmy są absolutnie niezbędne do implementacji pamięci wirtualnej przy
pomocy stronicowania na żądanie: (A) bit V (ang. valid) w pozycji tablicy stron
określający czy odwołanie do strony jest poprawne (B) bit R (ang. referenced)
automatycznie ustawiany na jeden gdy nastąpi odwołanie do strony (C) bit D
(ang. dirty) automatycznie ustawiany na jeden gdy strona została zmodyfikowana
(D) możliwość wznowienia instrukcji przerwanej przez wyjątek stronicowania. Odp
: A,D.
Zadanie
13 Pewna
firma z okolic Redmond w USA twierdzi, że, wprowadzony w najnowszych
konstrukcjach Intela i AMD bit ED (ang. execute disable), pozwalający na
zablokowanie praw wykonania kodu dla strony procesu w pełni i całkowicie
likwiduje wszelkie możliwe naruszenia bezpieczeństwa związane z przepełnieniem
bufora (ang. buffer overrun).Dlaczego firma się myli ? Firma ta myli się ponieważ istnieje możliwość ustawienia flagi ED na
wszystkich stronach procesu, przez co zamieniając atak przepełnienia bufora na
atak DOS.
Zadanie
14 Podaj
przykład zdarzenia, które sprawia że proces będący w stanie oczekującym
przechodzi do stanu zakończonego (max 3 zdania). Proces został zakończony przez inny proces (np funkcja kill w systemie
UNIX)
Zadanie 15
Lista
dostępów (ang. Access Control List - ACL)
(A) przechowuje wykaz domen mających uprawnienia do obiektu wraz uprawnieniami
dla każdej z domen (B) zawiera listę obiektów dla domeny wraz z uprawnieniami
do każdego z obiektów
(C) przechowuje zakodowaną kompletną macierz dostępu (D) przechowuje wyłącznie
uprawnienia dla właściciela, grupy i pozostałych użytkowników.......A .
Zadanie 16 System
operacyjny stosuje planowanie procesów wykorzystujące wywłaszczanie. Planista
może zostać wywołany ponieważ (A) proces zakończy się (B) proces zużyje swój kwant
czasu (C) proces przejdzie w stan zablokowany oczekując na zakończenie operacji
we/wy (D) zgasną światła na ulicy, (E) zostanie utworzony nowy proces. Poprawne
odpowiedzi to A, B, C.
Zadanie
17 Jaka jest funkcja planisty
krótkoterminowego w systemie operacyjnym (max 3 zdania) ?
rostrzyga problem "Któremu procesowi w
stanie gotowym mam przydzielić procesor".
Zadanie 18 Co to jest bomba logiczna (max. 3 zdania
+ przykład) ?
Jest to kod umieszczony w legalnym
programie, który eksploduje gdzy spełnione są pewne warunki np. Programista
zostaje skreślony z listy płac firmy lub firma nie otrzyma zapłaty.
Zadanie
19 Dlaczego odczyt pliku przy pomocy odwzorowania w
pamięci (ang. memory mapped file) jest bardziej wydajny od klasycznego odczytu
przy pomocy funkcji read (max. 4 zdania) ?
Z dwóch powodów:
- wywołanie funkcji systemowej jest o wiele wolniejsze niż zmiana adresu
lokalnego programu.
- W większości systemów operacyjnych ten region pamięci jest zmapowany jest
pamięcią podręczną systemu operacyjnego, co oznacza, że nie ma potrzeby
tworzenia kopii pliku w pamięci operacyjnej użytkownika.
Zadanie 20 Która
z metod alokacji bloków danych pozwoli na najszybsze odczytanie kompletnego
pliku ? (A) alokacja ciągła (B) alokacja listowa (C) alokacja z wykorzystaniem
tablicy FAT (D) alokacja indeksowa. Odp
A.
Zadanie 21 C
jest zmienną warunkową zadeklarowaną wewnątrz monitora. Co robi operacja
C.wait() .(Możliwie najpełniejsza definicja nie więcej niż 3 zdania).
Zawiesza
wykonanie procesu, i jednocześnie zwalnia monitor pozwalając
innym
procesom wejść do monitora.
Zadanie 22 Jaka
jest różnica pomiędzy wywołaniami systemowymi realizującymi odpowiednio
synchroniczną i asynchroniczną operację wejścia-wyjścia ? (max. 3 zdania)
Synchroniczna
:
Powrót z systemu operacyjnego po przeprowadzeniu operacji
we-wy
Proces żądający operacji we-wy jest wstrzymywany na jej czas
trwania
– W tym czasie procesor może
zostać przydzielony innemu procesowi.
Asynchroniczna:
Powrót z
systemu operacyjnego po zainicjalizowaniu operacji we-wy
Proces co
jakiś czas sprawdza czy operacja się zakończyła
– W tym rozwiązaniu w czasie trwania operacji we-wy możliwe
jest wykorzystanie
procesora
przez ten sam proces.
Zadanie
23 Pewien bank wykorzystuje dwie kolejki
do okienka. W jednej stoją zwykli klienci a w drugiej Bardzo Ważne Osoby. Pani
okienku obsługuje na przemian trzy Bardzo Ważne Osoby i jednego zwykłego
klienta. Czy zwykli klienci narażeni są na zagłodzenie ? (max 5zdań). Nie
ponieważ mimo faktu iż ważni klienci są uprzywilejowane to zwykli klienci
również zostają obsłużeni (choć w ograniczonym stopniu).
Zadanie
24 Dlaczego
weryfikacja poprawności poprzez testowanie ma bardzo ograniczone
zastosowanie w przypadku programów współbieżnych (kilka procesów lub wątków)
(max 4 zdania) ?
Z tego powodu, że w systemach
współbierznych procesy są niedeterministyczne (czyli trudno ocenić, który
proces wykona się w jakiej kolejności)
Zadanie
25 Podaj
dwa (dowolnie wybrane z trzech) warunki, które powinno spełniać poprawne
rozwiązanie problemu sekcji krytycznej.
- Wzajemne wykluczanie; w danej chwili
tylko jeden proces może być w sekcji krytycznej.
- Postęp; proces który nie wykonuje sekcji krytycznej nie może blokować
procesów chcących wejść do sekcji.
- Ograniczone czekanie; proces nie może czekać na wejście do sekcji krytycznej
w nieskończoność.
Zadanie 26 Dlaczego
na graf opisujący strukturę katalogów w systemie pliku nakładamy wymaganie
braku cykli ?
Aby
uniknąć powstawania ścieżek o nieskończonej długości.
Zadanie
27 O
dowolnym systemie wieloprogramowym możemy powiedzieć że:
(A) wiele programów przebywa jednocześnie w pamięci
(B) maksymalnie jeden program przebywa jednocześnie w pamięci
(C) wiele użytkowników może pracować interakcyjnie korzystając z wielu
terminali
(D) Operacje wejścia-wyjścia jednego procesu mogą być wykonywane podczas gdy
drugi proces wykonuje swój kod na procesorze. Poprawne odpowiedzi to ....A.C.D....
Zadanie 28 Co się stanie w
typowym systemie operacyjnym (np. Windows XP, Linux), gdy proces wykonujący się
w trybie użytkownika usiłuje wykonać instrukcję cli blokującą przerwania (max 4
zdania) ?
Zadanie 29 Podaj przykład zdarzenia, które sprawia że proces
będący w stanie zablokowanym przechodzi do stanu gotowego (max 3 zdania).
Gdy zakończona została
operacja wejścia/wyjścia i planista krótkoterminowy zadecydował o przesłaniu
procesu do kolejki krótkoterminowej.
Zadanie 30 Dane są dwa semafory S1 oraz S2. Przez P oznaczamy
wejście do semafora, a przez V opuszczenie. Podaj przykład kodu, dla dwóch
procesów lub wątków (odrębnie dla każdego z nich) który może doprowadzić do
blokady (ang. deadlock).
Semaphore S1,S2;
Proces P0
S1.Wait();
S2.Wait();
S2.Signal();
S1.Signal();
Proces P1
S2.Wait();
S1.Wait();
S1.Signal();
S2.Signal();
Zadanie 31
System operacyjny używa planowania procesów
nie wykorzystującego wywłaszczania.
Planista może zostać wywołany gdy
(A) proces zakończy się
(B) proces zużyje swój kwant czasu
(C) proces przejdzie w stan zablokowany oczekując na zakończenie operacji we/wy
(D) proces przejdzie ze stanu zablokowanego do stanu gotowego (np. w wyniku
zakończenia operacji we/wy)(E) zostanie utworzony nowy proces.
Poprawne odpowiedzi to A
Zadanie 32 Wyjaśnij, jaka jest funkcja bufora TLB (ang.
translation lookaside buffer) (max 4 zdania).
Bufor zawierający
tablice stron, przetrzymywany jest w szybkiej pamięci podręcznej.
Zadanie 33 Kontroler typowego dysku twardego otrzymał żądanie
odczytu grupy czterech sektorów o kolejnych numerach, położonych na jednej
ścieżce. Najmniejszy wpływ na czas trwania tej operacji będzie miał
(A) czas wyszukiwania (przesunięcia głowicy na właściwy cylinder)
(B) czas oczekiwania (na to, aż głowica znajdzie się nad pierwszym sektorem
grupy)
(C)czas właściwej transmisji danych (z głowicy do kontrolera i do systemu)
Odpowiedź: C.
Zadanie 34 Które z poniższych metod alokacji bloków są
odpowiednie dla plików o dostępie
swobodnym (z częstym wykorzystaniem operacji seek):
(A) alokacja ciągła (B) alokacja listowa (C) alokacja z wykorzystaniem tablicy
FAT
(D) alokacja z wykorzystaniem bloków indeksowych.
Są to ...A....
WYKŁAD 1
1. System jednowsadowym
Zbiór poleceń dostarczany jest do
komputera tworządc „wsad” procesor wykonuje zadania lecz użytkownik nie ma
kontroli nad wykonywaniem zadania. W systemie jednowsadowym w pamięci istnieje
tylko jeden program, kolejny dostarczany jest po przetworzeniu poprzedniego, co
powoduje że podczas operacji we/wy procesor pozostaje bezczynny.
2. System wielowsadowym
W przeciwieństwie do jednowsadowego
nw pamięci przechowywanych może być kilka programów.
3.Hard real-time
Reakcja na zdarzenie musi się
zakończyć przed upływem określonego czasu.
4. Soft real-time
zadanie do obsługi w czasie
rzeczywistym otrzymuje pierszeństwo nad pozostałymi zadaniami.
5. Spooling
Jest trybem zarządzania pracą
pewnego urządzenia. Dane wymagające przetworzenia przez konkretne urządzenie są
umieszczane w buforze na dysku lub w pamięci komputera. Po umieszczeniu,
urządzenie może je pobierać i przetwarzać z dowolną prędkością. CPU nie musi
nadzorować tego procesu, więc może zająć się innymi zadaniami.
WYKŁAD 2
1. Jaka jest różnica
między synchroniczną a asynchroniczną operacją wyjścia (wejścia/wyjścia)?
Synchroniczna
● Powrót z systemu
operacyjnego po przeprowadzeniu operacji we-wy
● Proces żądający operacji
we-wy jest wstrzymywany na jej czas trwania
-
W tym czasie procesor
może zostać przydzielony innemu procesowi.
Asynchroniczna
● Powrót z systemu
operacyjnego po zainicjalizowaniu operacji we-wy
● Proces co jakiś czas
sprawdza czy operacja się zakończyła
– W tym rozwiązaniu w czasie trwania
operacji we-wy możliwe jest wykorzystanie
procesora przez ten sam proces.
2. Jaka jest różnica
między trybem pracy jądra a trybem użytkownika?
Tryb pracy użytkownika: Proces może wywoływać kod tego programu.Może także
wywoływać funkcję bibliotek współdzielonych (.so w Linuksie, biblioteki
dynamiczne .dll w Windows), które formalnie nie są częścią programu.
Tryb pracy jądra: W tej sytuacji proces wykonuje kod systemu
operacyjnego, a nie kod programu z którego został wczytany.
3. Która z metod
komunikacji z urządzeniami zewnętrznymi:
a) metoda PIO
b) metoda DMA
c) metoda we-wy sterowanego przerywaniami
nadaje
się najlepiej do komunikacji z szybkim twardym dyskiem?
Odp: metoda
DMA, bo do przesłania bloku danych nie angażuje procesora
WYKŁAD 3
1. Planista
długoterminowy:
Procedura systemu operacyjnego
dokonująca wyboru zadań do wykonania z puli zadań przechowywanych w pamięci
zewnętrznej systemu komputerowego. Kolejność wykonywania zadań może zależeć od
ich pilności, rozmiarów.
2. Planista średnioterminowy:
Procedura systemu operacyjnego
podejmująca decyzję o wymianie procesu. W razie konieczności zwolnienia
znacznej części pamięci operacyjnej, lepszego doboru procesów lub zmniejszenia
stopnia wieloprogramowości planista średniotermonowy usuwa któryś z procesów na
dysk, przechowując go tam wraz ze wszystkimi informacjami niezbędnymi do
późniejszego wznowienia.
3. Opisz sytuację, w
której proces przechodzi ze stanu A w stan B (gdzie A, B wybrane przejścia)
Przejście ze stanu gotowości do zakończenia
procesu może nastapić przy wywolaniu funkcji kill (Unix).
4. Różnica między
procesem a wątkiem.
Procesy są od siebie
odizolowane, wątki nie.
5. Pewien serwer www
obsługuje każde żądanie przez tworzenie nowego wątku. Podaj jedną wadę i jedną
zaletę tego rozwiązania w porównaniu z rozwiązaniem, w którym każde żądanie
jest obsługiwane przez tworzenie nowego procesu
odp: wada-mniejsza stabilność,
zaleta: większa wydajność
WYKŁAD 4
1. Podaj definicję
blokady (zakleszczenia).
Zbiór procesów jest w stanie blokady, kiedy
każdy z nich czeka na zdarzenie, które może zostać spowodowane wyłącznie przez
jakiś inny proces z tego zbioru.
2. Podaj definicję
zagłodzenia.
Proces czeka w nieskończoność, pomimo że zdarzenie
na które czeka występuje. (Na zdarzenie reagują inne procesy).
3. Jaka jest wada metody
synchronizacji opartych na aktywnym czekaniu?.
Marnowany jest czas procesora.
4. Podaj 2 z 3 warunków,
które powinno spełniać rozwiązanie problemu sekcji krytycznej.
● Wzajemne wykluczanie.
– W danej chwili tylko jeden proces
może być w sekcji krytycznej.
● Postęp
– Proces który nie wykonuje sekcji
krytycznej nie może blokować procesów
chcących wejść do sekcji.
● Ograniczone czekanie
-
Proces nie może czekać
na wejście do sekcji krytycznej w nieskończoność
5.
Podaj rozwiązanie
problemu sekcji krytycznej wykorzystujące semafor.
● Wyłącz przerwania
– Nie działa w systemach wieloprocesorowych
– Problematyczne w systemach z
ochroną
– Wykorzystywane do synchronizacji w
obrębie jądra (zakładając jeden procesor
● Rozwiązania z czekaniem aktywny
6. Kiedy mówimy o
wyścigu?
O warunku wyścigu mówimy gdy wynik
zależy od kolejności wykonywania instrukcji procesów.
WYKŁAD 5
1. jaka jest różnica
między semantyką Hoare'a i semantyką Mesa?
Semantyka Mesa - Proces który wywołał operacje signal (Q) kontynuuje
pierwszy. Proces P może wznowić działanie, gdy Q opuści monitor.
Semantyka Hoare'a - Proces odblokowany (P) kontynuuje jako pierwszy.
Może ułatwiać pisanie poprawnych programów. W przypadku semantyki Mesa nie mamy gwarancji, że warunek, na jaki czekał P
jest nadal spełniony (P powinien raz jeszcze sprawdzić warunek).
2. jakie są wady semaforów w porównaniu z monitorami?
·
Duża podatność na błędy,
trudno wykazać poprawność programu
·
Mechanizm niskiego
poziomu
3. jakie dwie operacje
wykonuje metoda wait monitora?
Zawiesza wykonanie procesu, i
jednocześnie zwalnia monitor pozwalając innym procesom wejść do monitora.
4. różnica między metodą
signal monitora a metodą signal
semafora.
Po zasygnalizowaniu warunku
proces (który wykonał operację signal)
przechodzi do kolejki urgent queue.
WYKŁAD 6
1. Czy w systemie
stosującym planowanie bez wywłaszczenia proces, który się zawiesił, zawiesi
cały system? (+uzasadnienie)
Tak, ponieważ w systemie bez
wywłaszczenia prcesowi nie można odebrać procesora, chyba że sam go zwolni.
2. Co to jest
wywłaszczenie?
Technika używana w środowiskach
wielowątkowych, w której algorytm szeregujący może wstrzymać aktualnie
wykonywane zadanie (np. proces lub wątek), aby umożliwić działanie innemu.
WYKŁAD 7
● Fragmentacja wewnętrzna.
– Obszar pamięci przydzielony dla
procesu jest większy niż niezbędny.
– Poważny problem przy partycjach o
stałych rozmiarach.
● Fragmentacja zewnętrzna.
– Całkowita pojemność wolnej pamięci
jest wystarczająca na zaspokojenie żądania
procesu, ale wolna pamięć nie
stanowi ciągłego bloku
2. Podaj przyczynę dla
której przełączanie między procesami jest wolniejsze niż te między wątkami tego
samego procesu?
Odp: Podczas przełączania między procesami następuje przełączanie kontekstu co
wymaga opróżnienia bufora TLB.
WYKŁAD 8
● Anomalia Belady'ego: większa
liczba ramek niekoniecznie zmniejsza liczbę błędów stron.
1. Ciąg odwołań: umieć
zasymulować algorytmy z wykładu: FIFO (First In First Out), Algorytm drugiej
szansy, Algorytm optymalny, Algorytm LRU (Least recently used).
Algorytm drugiej szansy:
W algorytmie drugiej szansy
sprawdzany jest bit odniesienia R.
– Jeżeli R==0 (brak odniesienia) to
strona jest wybierana na ofiarę.
– Jeżeli (R==1) (odniesienie) to:
● R ustawiany jest na zero
● Strona przesunięta jest na
koniec kolejki (“otrzymała drugą szansę”).
● Przechodzimy do kolejnej
strony w kolejce.
Algorytm optymalny : Zastąp stronę, do której nie będziemy się odwoływać
przez najdłuższy cza
Algorytm LRU: Zastąp tę stronę, która nie była najdłużej używana.
Zakładamy, że ta strona nie będzie dalej potrzebna
WYKŁAD 10
1. Dlaczego trudno
znaleźć system plików, w którym blok ma 128 MB?
Ponieważ stosując:
· alokację indeksową możemy uzyskać 256KB
· indeksowanie pośrednie – 256KB*256KB = 64MB
· indeksowanie pośrednie podwójne – 256KB*256KB*256KB =
16GB
2. Która metoda alokacji oferuje
najmniejszą/największą wydajność przy wykonywaniu seek?
·
Największa: Alokacja
ciągła
·
Najmniejsza: Alokacja
listowa
3. Na czym polega
przewaga odczytu z pamięci nad read?
Plik staje się częścią
przestrzeni adresowej procesu; Unikamy
podwójnego kopiowania danyc;
Implementacja na ogół wykorzystuje mechanizm pamięci wirtualne.
WYKŁAD 11
1. Co to jest macierz dostępu?
abstrakcja ochrony obiektów
w systemie operacyjnym: macierz, której wiersze reprezentują domeny
ochrony, a kolumny — chronione obiekty. Każdy element takiej macierzy
zawiera zbiór praw dostępu.
2. Jak działa bit suid?
Plik posiadający flagę suid wykonuje
się z uprawnieniami właściciela.
WYKŁAD 12
Dlaczego bit zakazu nie
rozwiązuje wszystkich problemów związanych z przepełnieniem bufora?
Zamieniamy możliwość włamania się do
systemu na atak DoS (usługa spowoduje błąd stronicowania i przestaje działać).
WYKŁAD 13
1. Czy proces w trybie użytkownika może zostać
wywłaszczony w Uniksie?
TAK
2. Czy proces w trybie jądra może zostać
wywłaszczony w Uniksie?
NIE
3. Czym jest fałszywe współdzielenie?
Jeśli procesor A cyklicznie odczytuje zmienną x, a procesor B cyklicznie
zapisuje zmienną y formalnie wpsółdzielenia nie ma, ale pamięć podręczna
operuje wierszami o typowym rozmiarze 64 bajtów. Dwie sąsiednie zmienne prawie
na pewno znajdują się w tym samym wierszu, a jest on współdzielony. Aby tego
uniknąć pomiędzy zmienną x a y należy wstawić odstęp równy długości wiersza
pamięci podręcznej.
4. Kiedy sytuacja z wykorzystaniem
aktywnego czekania jest preferowana, a kiedy nie ma sensu?
Preferowana:
·
gdy chcemy
zsynchronizować kod wywołania
systemowego z handlerem przerwania;
·
oczekiwany koszt
czekania aktywnego jest mniejszy od kosztu przełączania kontekstu;
Nie ma sensu:
·
w systemie
jednoprocesorowym.
5. Na jakie kategorie możemy
podzielić systemy wieloprocesorowe?
·
System z przesyłaniem
komunikatów;
·
System ze wspólną
pamięcią;
WYKŁAD 14
1. Przykład maszyny z planistą
długoterminowym. (system wsadowy)
2. Definicja systemu
hard real-time.
System, w ktorym poprawność
zależy nie tylko od poprawności wynikow, ale rownież od dostarczenia tych
wynikow przed upływem nieprzekraczalnego terminu.
3. Czy Windows i Linux są systemami hard real-time?
Nie
4. Algorytmy szeregowania w systemach czasu
rzeczywistego.(nie wiem czy trzeba opisywać każdy z nich....)
·
RMS
·
EDF