Jeżeli w zadaniu wystąpi nazwa Windows mamy na myśli 32-bitowy system oparty na architekturze NT
Jeżeli w zadaniu wystąpi nazwa proces mamy na myśli 32-bitowy proces Windows
W każdym zadaniu poprawna jest jedna odpowiedź
1. Do komputera, na którym pracuje system operacyjny Windows włożono kartę PCI służącą do komunikacji z pewnym
urządzeniem. W celu umożliwienia obsługi tego urządzenia za pośrednictwem karty do systemu należy dodać
następujące składniki:
a
Aplikację EXE, która ze względów bezpieczeństwa pracuje w trybie użytkownika, i za pomocą technologii DDE
i OLE udostępnia funkcje karty innym aplikacjom,
b
sterowniki trybu jądra i trybu użytkownika obsługujące kartę,
c
sterowniki trybu jądra i trybu użytkownika obsługujące urządzenie,
d
nic nie trzeba dodawać, system automatycznie pobierze potrzebne składniki z witryny Windows Update.
2. Ile okien może wyświetlić pojedynczy proces Windows?
a
Jest określona maksymalna liczba otwieranych okien, zależna od zasobów systemowych,
b
tyle, ile ma wątków,
c
32,
d
nieskończenie wiele.
3. W systemie pracują procesy P1 i P2, obydwa z uprawnieniami tego samego użytkownika. Proces P1 zmienia procesowi
P2 uprawnienia do pewnej strony pamięci z „wykonywanie – do odczytu” na „brak dostępu”. System zareaguje
w następujący sposób:
a
natychmiast po zmianie praw dostępu do strony pamięci nastąpi przełączenie kontekstu na proces P2 i zostanie on
przerwany,
b
proces P1 zostanie przerwany, ponieważ wykonuje niedozwoloną operację,
c
gdy proces P2 wykona instrukcję, która odwołuje się do tej strony pamięci, zostanie przerwany proces P1,
d
proces P2 zostanie przerwany, gdy wykona instrukcję, która odwołuje się do tej strony pamięci.
4. Pewien proces konsoli uruchamia dwa wątki, które przeprowadzają długotrwałe obliczenia. Wątki wyświetlają
informację o zaawansowaniu obliczeń w oknie konsoli za pomocą funkcji printf. Aby zapewnić poprawne działanie
funkcji printf należy:
a
Napisać w asemblerze wersję funkcji printf, która korzysta z niskopoziomowych funkcji sterownika grafiki,
b
problem ten nie daje się rozwiązać w systemie Windows, ponieważ brakuje systemowych mechanizmów
synchronizacji wątków,
c
Zmienić typ aplikacji na kontrolkę ActiveX, ponieważ w kontrolkach wszystkie funkcje są synchronizowane,
d
zastosować odpowiedni mechanizm synchronizacji wątków, np. sekcję krytyczną.
5. Proces P1 uruchamia wątek w1, a proces P2 uruchamia wątek w2. Chcemy, żeby wątki w1 i w2 mogły wymieniać
informacje między sobą. W tym celu należy:
a
Zastosować mechanizmy komunikacji i synchronizacji wątków,
b
w procesach P1 i P2 zadeklarować tablice o takich samych nazwach, system automatycznie uczyni je wspólnymi
dla obydwu wątków i będzie można użyć ich do wymiany danych,
c
zastosować mechanizmy komunikacji i synchronizacji procesów,
d
problem ten nie daje się rozwiązać w systemie Windows, ponieważ brakuje systemowych mechanizmów
synchronizacji wątków,
6. W systemie Windows uruchamiamy dwa procesy, najpierw P1, następnie P2 (tryby otwierania plików: w – do zapisu, a
- dołączanie)
P1
void main(void){
CEvent e1(0,0,”zdarzenie1”);
CSingleLock SL(&e1);
FILE *f=fopen(”plik.txt”,”w”);
fprintf(f,”1”);
SL.Lock(); SL.Unlock();
fprintf(f,”2”); return 0;
}
P2
void main(void){
CEvent e2(0,0,”zdarzenie1”);
FILE *f=fopen(”plik.txt”,”a”);
fprintf(f,”3”);
e2.SetEvent();
return 0;
}
Jaka będzie zawartość pliku plik.txt?
213
123
321
132
7. Co się stanie w wyniku wykonania następujących instrukcji (wykonujący je proces jest procesem Windows):
{FILE *f;f=fopen(”\\\\d3\\mailslot\\1025”,”w”);fprintf(f,”1”);fclose(f);}
a
Funkcja fopen zwróci błąd, ponieważ w nazwie pliku nie może wystąpić ciąg znaków \\,
b
Na dysku zostanie utworzony plik o podanej nazwie zawierający znak ”1”,
c
Użytkownik ”1025” na komputerze o nazwie ”d3” otrzyma e-mail o treści ”1”,
d
Serwer skrzynki pocztowej o nazwie ”1025” na komputerze o nazwie ”d3” otrzyma wiadomość o treści ”1”.