background image

Imię

Nazwisko

Grupa

Data

Egzamin z Systemów Operacyjnych

Zadanie 1

Karta dźwiękowa obsługiwana jest przez urządzenie wirtualne sound.vxd i sterownik sound.drv. Karta
wykorzystywana  jest   przez  32-bitowy   proces  Windows.   Aplikacja  systemu  MS-DOS   pracująca   w   trybie
pełnego ekranu próbuje zaprogramować kartę muzyczną wpisując odpowiednie wartości do jej portów. System
zareaguje w sposób:
a

Karta będzie pracować w taki sposób, jak zaprogramowała ją aplikacja MS-DOS, ponieważ w trybie
pełnego ekranu ma ona bezpośredni dostęp do portów karty,

b

sound.vxd nie pozwoli aplikacji MS-DOS na używanie zajętego urządzenia,

c

sound.drv nie pozwoli aplikacji MS-DOS na używanie zajętego urządzenia,

d

System zawiesi się z powodu konfliktu współdzielenia zasobów.

Zadanie 2 
W celu wykorzystania myszy jako urządzenia wejściowego 32-bitowy Windows proces powinien:
a

Uzyskać dostęp do portu, do którego podłączona jest mysz i analizować przychodzące dane,

b

Przekazać do urządzenia vmouse.vxd adres funkcji, którą urządzenie wirtualne będzie wywoływać,

c

Reagować na odpowiednie meldunki,

d

Komunikować się ze sterownikiem mouse.com za pomocą przerwania 0x33.

Zadanie 3
Wykonanie poniższej funkcji w systemie Windows spowoduje (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.

Zadanie 4
Dwa 32-bitowe procesy systemu  Windows  współdzielą jedną stronę pamięci. System tworzy współdzieloną
pamięć  poprzez  utworzenie wspólnej  tablicy  stron.  Procesy nadal  mają różne katalogi stron. Podać  adres
liniowy współdzielonego obszaru pamięci dla obydwu procesów, jeżeli numer deskryptora strony we wspólnej
tablicy stron jest równy 0x200, numer wspólnej tablicy stron w katalogu stron procesu pierwszego jest równy
0x40, numer wspólnej tablicy stron w katalogu stron procesu drugiego jest równy 0x71. Jedna strona zawiera
bajty od 0 do 4095 (od 0 do 0xfff szesnastkowo).
Odpowiedź:

Proces 1:

od

do

Proces 2:

od

do

background image

Zadanie 5
Wymienić przypadki, kiedy system zwiększa priorytet wątku
1
2
3

Zadanie 6

Zaznaczyć znakiem + zdanie, które jest prawdziwe

wątek ma bezpośredni dostęp do pamięci innego wątku tego samego procesu
wątek roboczy (nie tworzący okna) otrzymuje prywatne meldunki
system Windows 95 w pewnych przypadkach modyfikuje priorytet wątku
wszystkie uruchomione wątki szeregowane są w jednej kolejce systemowej

Zadanie 7
Serwer skrzynki pocztowej pracuje na komputerze o nazwie Komp1, klient na komputerze o nazwie Komp2.
Podać w jaki sposób serwer może utworzyć skrzynkę pocztową o nazwie skrzynka.net z parametrami:
Maksymalny rozmiar wiadomości

4096

Timeout

1000 ms

Wartość parametru Zabezpieczenia

0

W jaki sposób klient może zapisać do utworzonej skrzynki pocztowej tekst ”Wiadomość\n\0”.
Odpowiedź:

serwer:

klient:
Można użyć funkcji:

HANDLE CreateMailslot(char *Nazwa, long MaksRozmWiad,

long Timeout, SECUTITY_ATTRIBUTES * Zabezpieczenia);

FILE *fopen(char *nazwa, char *tryb);

int fprintf(FILE *plik, char *format [,argument] ...);

Zadanie 8
Serwer potoku nazwanego może ograniczyć dostęp do potoku do określonej grupy klientów. W jaki sposób
identyfikowany jest klient potoku nazwanego?