Imię
Nazwisko
Grupa
Data
Egzamin z Systemów Operacyjnych
Jeżeli w zadaniu wystąpi nazwa Windows mamy na myśli 32-bitowy system oparty na architekturze Win32
Jeżeli w zadaniu wystąpi nazwa proces mamy na myśli 32-bitowy proces
Zadanie 1
Karta dźwiękowa obsługiwana jest przez urządzenie wirtualne sound.vxd i sterownik sound.drv. Karta
wykorzystywana jest jednocześnie przez proces Windows i aplikację systemu MS-DOS. Zaznaczyć rysunek,
który poprawnie opisuje architekturę systemu i wykorzystanie zasobów przez pracujące procesy.
a
b
c
d
e
Wskazówka: jakie są zadania sterowników urządzeń i urządzeń wirtualnych?
Zadanie 2
W systemie Windows pracuje 16-bitowy proces Windows 3.x , który otworzył widoczne okno. Jaka jest
standardowa reakcja systemu, gdy użytkownik przesuwa mysz nad oknem tego procesu?
a
Urządzenie wirtualne
mouse.vxd
wywołuje funkcję, którą wcześniej proces musi zarejestrować,
b
32-bitowy sterownik
mouse.drv
wywołuje funkcję, którą wcześniej proces musi zarejestrować,
c
Proces otrzymuje meldunki
WM_MOUSEMOVE
,
d
System nie obsługuje 16-bitowych procesów, proces musi analizować dane z portu myszy
Zadanie 3
Wywołanie poniższej funkcji spowoduje w systemie Windows (wskaźnik ptr jest niezainicjowany):
char f(void) {char *ptr; char c; c = *ptr; return c;}
a
Funkcja na pewno wykona się i zwróci losową wartość z przestrzeni adresowej swojego procesu,
b
Funkcja na pewno zwróci wartość z przestrzeni adresowej swojego albo innego procesu,
c
Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do odczytu, system zawiesi się,
d
Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do odczytu, proces wykonujący funkcję
zostanie przerwany.
Wskazówka: jakie są prawa dostępu do strony?
Zadanie 4
W Windows pracują 3 procesy. Liczba wątków i aktualny priorytet pokazane są w tabeli.
Proces
p1
p2
p3
wątki
w1
w2
w3
w4
w5
priorytet
16
16
15
15
17
Który rysunek poprawnie przedstawia kolejkowanie (pomijamy wątki systemowe)?
a
b
c
d
W1
W1 W2
W5
W3 W4
W4
W3
W2
W1
W5
W2
vxd
drv
Win32
DOS
karta
W3
W4
vxd
drv
Win32
DOS
karta
W5
W5
W1
W2
W3
W4
drv
vxd
Win32
DOS
karta
vxd
drv
Win32
DOS
karta
drv
vxd
Win32
DOS
karta
Zadanie 5
Pracują dwa wątki o równych priorytetach: w1 (uruchomiony pierwszy) i w2 (uruchomiony drugi). W chwili,
gdy wątek 1 wykonuje podkreśloną instrukcję następuje przełączenie zadań i system przełącza kontekst na
wątek 2. Funkcja
printf
nie jest współbieżna. Zaznaczyć, co prawdopodobnie pojawi się na ekranie.
int wyswietl(char *s) {
int w;
w=printf(s);
___
return w;
}
int w1(void *p)
{
wyswietl(”0000”);
return 0;
}
int w2(void *p)
{
wyswietl(”1111”);
return a;
}
a
00001111
b
00011110
c
System zawiesi się, ponieważ doszło do konfliktu współdzielenia zasobów (wspólny ekran)
d
Proces wykonujący wątki zostanie przerwany przez system, ponieważ doszło do konfliktu
współdzielenia zasobów (wspólny ekran)
Zadanie 6
Serwer skrzynki pocztowej pracuje na komputerze o nazwie Komp1, klient na komputerze o nazwie Komp2.
Zaznaczyć odpowiedź, która zawiera instrukcję tworzącą skrzynkę pocztową dla serwera i otwierającą plik dla
klienta w celu wysyłania wiadomości wyłącznie do serwera.
a
CreateMailslot(”\\\\.\\mailslot\\skrzynka.net”,4096,1000,0);
fopen(”\\\\komp1\\mailslot\\skrzynka.net”,”w”);
b
CreateMailslot(”\\\\komp1\\mailslot\\skrzynka.net”,4096,1000,0);
fopen(”\\\\komp2\\mailslot\\skrzynka.net”,”w”);
c
CreateMailslot(”\\\\.\\mailslot\\skrzynka.net”,4096,1000,0);
fopen(”\\\\*\\mailslot\\skrzynka.net”,”w”);
d
CreateMailslot(”\\\\komp1\\mailslot\\skrzynka.net”,4096,1000,0);
fopen(”\\\\komp1\\mailslot\\skrzynka.net”,”w”);
Zadanie 7
W Windows pracują współbieżnie dwa procesy. Czy można tak poprawić kod, żeby proces 1 nie został
zablokowany?
CEvent e;
int main(void) {
CSingleLock SL(&e);
SL.Lock(); obliczaj2(); return 0;
}
CEvent e;
int main(void) {
obliczaj1(); e.SetEvent(); return 0;
}
a
Nic nie trzeba poprawiać, proces 1 nie zostanie zablokowany
b
Należy zmienić klasę obiektu e na CMutex
c
Należy nadać identyczne nazwy dla obydwu zdarzeń (obiektów klasy CEvent)
d
W Windows nie można synchronizować procesów, nie da się poprawić tego przykładu