Egzamin Sysopy2002 2

Egzamin Sysopy2002 2



Szczecin, dn. 20 czerwca 2002 r.

Kierunek INFORMATYKA - studia magisterskie dzienne PODSTAWY SYSTEMÓW OPERACYJNYCH - Grupa A

Imię i nazwisko:........................................................................ Ocena:

Pytanie I

Załóżmy, że w przedstawionej poniżej propozycji Petcrsona dotyczącej rozwiązania sekcji krytycznej dia dwóch procesów zmodyfikowaliśmy pętlę while Mod\Tikacja ta polega na podzieleniu pętli na dwa fragmenty (przejmij, ż.c każda operacje pobierania, zapisywania i testowania języka C jest niepodzielna) Uwaga CS - sekcja krytyczna. NCS - sekcja niekrytyczna

shared int turn, state[2);

Init { turn= (011) , state = (0,0) }

Rozwiązanie Petersona

Proces PI wykonuje:    I Proces P2 wykonuje:

while(l) {

state[0] * 1; turn « 0;

wbile( !turn && state(l] ); CS () ;

state[0] = 0;

NON_CS();

}


while(l) {

state[l] * 1; turn = 1;

while ( turn && statefO] ); CS () ;

state[1] 55 0;

NON_CS () ;

}


Proces P2 wykonuje:

while(1)    {

state(l) = 1; turn * 1; while ( turn ); while ( state(0) ) ;

CS () ;

state[l) = 0;

NON_CS() ;

)


Propozycja modyfikacji Proces PI wykonuje:

while(l) {

state(0] = 1; turn = 0; while (    !turn );

while( state[1] );

CS () ;

state[0] * 0; NON_CS () ;

}


Jeśli proponow ane rozwiązanie jest poprawne, to uzasadnij dlaczego Jeśli jest niepoprawne, to dokładnie wyjaśnij, co jest źle i podaj sekwencje wykonań procesów PO i Pl: która ilustruje błąd.

Pytanie 2 (grafy alokacji zasobów)

□    Narysuj grafy, które ilustrują każdy z następujących przypadków: (a) cykl. stan bezpieczny, (b) cykl. stan zagrożenia, (c) cykl. blokada (d) trzy cykle, stan bezpieczny.

□    • podaj cztery warunki konieczne powstania blokady i wyjaśnij jak nic dopuścić do spełnienia każdego z ty ch warunków. Uwaga1

Proszę nie definiować warunków, a jedynie je wymienić.

□    Który z przedstawionych niżej elementów najbardziej wpływa na powstanie blokady i dlaczego (a) liczba procesów, (b) liczba typów' zasobów, (c) liczba egzemplarzy każdego typu zasobu, (d) porządek, w jakim zasoby są przy dzielane?

Pytanie 3

Załóżmy, że dany jest początkowy stan zasobów w systemie oraz przyjmijmy, że w celu umknięcia blokady stosowany jest algorytm Bankiera.. Uzupełnij przedstawiona poniżej tabelę i odpowiedz na postawione pytania

Początkowy stan zasobów (2,3,2)

Proces


0

1

2

3


| Max |

I-------1

10 12 1 ! 1 2 0 | |2 0 2| |231|


Przydz ielone


| Potrzebne


Dostępne A=(x, y, z): określ wartości


0 0 0 0 10 0 0 10 0


? ? ? I ??? I ??? I ???


(a)    System znajduje się w stanie bezpiecznym -    podaj bezpieczną sekwencję procesów

(b)    Załóżmy, żc proces PO zamawia (1.0.0).    Co    robi    system operacyjny? Przedstaw    swoje analizy

(c)    Zalóż.TTW. że proces PO zamawia (0.0.2)    Co robi    system operacyjny'' Przedstaw    swoje analizy

(d)    Załóżmy, żc proces P3 zamawia (0.1.0).    Co    robi    system operacyjny-' Przedstaw    swoje analizy

(e) Zalóżmv. że proces PO zamawia (0.1.0) Co robi system operacyjny? Przedstaw swoje analizy

Uwaga! Każde z powy ższy ch py lan jest niezależne i rozpoczy na się zawsze od stanu, który został określony na początku zadania

Pytanie 4    ,

Rozważ, następujący ciąg odniesień do adresów logicznych pochodzący z 460-bajtowego programu 10. 11. 104, 170. 73. 309. 185. 245. 246. 434. 458. 364*

(a)    Podaj ciąg odniesień do stron zakładając, że rozmiar strony wynosi 100 bajtów.

(b)    Znajdź, liczbę błędów strony dla ciągu odniesień z (a) przy założeniu, że programowi przy dzielono 200 bajtów pamięci operacyjnej, a do zastępowania stron stosuje się algorytm F1FO.

(c)    Oblicz, jaka byłaby liczba błędów stron, gdyby zastosowano tu algory tm LRU.

(d)    Określ, ile wynosiłaby liczba błędów stron przy zastosow aniu algory tmu opty malnego

Pytanie 5

Sy stem posiada 28-bitowe adresy wirtualne oraz. 64 megabajty pamięci Fizycznej. Wielkość strony i ramki wynoszą 8 kB (kilobajty ) Aktualnie wykonywany proces ma wielkość I MB Następna dostępna ramka ma numer 100. tzn. w przypadku powstania następnego błędu braku strony system operacyjny załaduje niezbędna stronę do ramki numer 100 Poniż.ej przedstawiono część tabeli stron (sy stem jest z adresowaniem bajtów. 1KB=210. I MB=220)

indeks

ramka

bit poprawności

0

10

1

1

1000

0

2

300

1

3

6

1

4

3

0

5

5

0

6

2

0

7

0

0

8

3

1


Odpowiedz, na następujące py tania:

□    Ile wierszy występuje w całej tabeli stron rozważanego procesu'’ Ilu bitowe jest pole wystarczające do opisania numeru ramki?

U    Załóżmy, że każdy wiersz można zapisać na 4 bajtach i tabela stron w całości przechowyw ana jest w pamięci operacy jnej. Jaka

jest wielkość (w bajtach) tej pamięci?

Aktualnie wykonywane proces odwołuje się do pamięci. Opisz, co się stanie po każdy m odwołaniu oraz podaj wartość żądanego adresu fizycznego lub wirtualnego. Przedstaw swoje obliczenia (zakładamy, że bajty pamięci adresowane są od zera).

□    Proces pisze pod    wirtualny adres    8198. Podaj odpowiadający mu adres fizyczny.

□    Proces pisze pod    wirtualny adres    21000. Podaj odpowiadający    mu adres fizy czny.

□    Proces pisze pod    wirtualny adres    25000. Podaj odpowiadający    mu adres wirtualny .

□    Jeśli wystąpi wewnętrzna fragmentacja. to podaj ile bajtów'    zostanie utraconych Jeśli fragmentacja nie wystąpi, to wyjaśnij

dlaczego’

Py tanie 6

•r

Załóżmy, że mamy plik. który początkowo składa się ze 100 bloków. Załóżmy', że blok kontrolny pliku (i blok indeksowy w przypadku przy działu indeksowego) znajduje się już w pamięci operacyjnej Oblicz, ile dyskowych operacji wejścia-wyjścia wy maga każda ze strategii przydziału: ciągłą, listowa i indeksowa (jednopoziomowa), jeśli dla jednego bloku trzeba wykonać każdą z jioniższy ch operacji. W przy padku przydziału ciągłego zakładamy, że nie ma więcej miejsca do rozrastania się pliku na początku, ale jest wolne miejsce na jego końcu. Zakładamy też. że blok informacji, która ma zostać dodana do pliku, jest przechowywana w pamięci operacy jnej: (a) blok ma być dodany na początku pliku, (b) blok ma być dodany w środku pliku, (c) blok ma być dodany na końcu, (d) blok ma być usunięty z początku pliku, (e) blok ma być usunięty ze środka pliku. (0 blok ma być usunięty z. końca pliku

Py tanie 7 (Unix)

Wyjaśnij, jaki będzie wynik działania niniejszego programu? Dokładniej, co zobaczy my na ekranie po skompilowaniu i uruchomieniu programu

łinclude <stdio.h>

#define MAXSTRS 5

int rnain(void)

<

int entr;

FILE *pipe_fp;

char *strings(MAXSTRS] = { "echo",

"bravo", "alpha", "charlie", "delta"};

if (( pipe_fp « popen("sort", "w")) *= NULL)

(

perror("popen”); exit(1);

)

for(cntr=0; cntr<MAXSTRS; entr+t)

(

fputs(strings[entr], pipe_fp); fputc('\n' , pipę fp) ;


Wyszukiwarka

Podobne podstrony:
68117 Image 04 (6) Szczecin, dn, 14 czerwiec 2000 r Kierunek INFORMATYKĄ- studia magisterskie dzienn
Image 02 (7) Szczecin, dn. 14 czerwiec 2000 r, Kierunek INFORMATYKA - studia magisterskie dzienne PO
Image 10 (6) Kierunek INFORMATYKA - studia magisterskie dzienne PODSTAWY SYSTEMÓW OPERACYJNYCH . Gru
25676 Image 06 (5) Szczecin, drt. 20 czerwca 2002 r. Kierunek INFORMAl YK.A - studia magisterskie Si
78343 Image 09 (3) Kierunek INFORMATYKA - studia magisterskiePODSl avv SYSTEMÓW OPERACYJNYCH - Grupa
literatura10 122.    Rozporządzenie Ministra Rolnictwa i Rozwoju Wsi z dn. 24 czerwc
Ustawa z 20 czerwca 2002 roku o bezpośrednim wyborze wójta, burmistrza i prezydenta miasta (Dz. U. 2
UC1 kolo I2002 Układy cyfrowo (kolokwium dn. 20.01.2002) Imię i nazwisko............................

więcej podobnych podstron