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
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?