background image

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”.