Nazwa Windows oznacza 32-bitowy system oparty na architekturze NT

Jeżeli w zadaniu wystąpi nazwa proces mamy na myśli 32-bitowy proces Windows Grupa A

W każdym zadaniu poprawna jest jedna odpowiedź

1. Dostęp do BIOSu komputera zabezpieczony jest hasłem, które przechowywane jest w pamięci CMOS. Użytkownik zalogowany w systemie Windows bez uprawnień administratora uruchamia aplikację systemu MS-DOS, która zeruje pamięć CMOS. Co się stanie po restarcie komputera?

a

BIOS wyświetli komunikat o błędnej sumie kontrolnej pamięci CMOS.

b

System Windows nie pozwoli na taką operację i aplikacja zostanie zamknięta podczas wykonywania operacji.

c

Windows nie pozwoli na taką operację i wyświetli okno z komunikatem, ale aplikacja nie zostanie przerwana.

d

Nic się nie stanie.

2. Ile wątków może uruchomić pojedynczy proces Windows?

a

Jest określona maksymalna liczba uruchamianych wątków, zależna od zasobów systemowych.

b

Tyle, ile ma okien.

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 „brak dostępu” na „do odczytu”. System zareaguje w następujący sposób: a

Natychmiast po zmianie praw dostępu do strony pamięci proces P2 zostanie przerwany.

b

Proces P1 zostanie przerwany, ponieważ wykonuje niedozwoloną operację.

c

Obydwa procesy będą nadal pracować.

d

Proces P2 zostanie przerwany, gdy wykona instrukcję, która odwołuje się do tej strony pamięci.

4. Pewien 32-bitowy proces konsoli uruchamia 5 wątków, które przeprowadzają długotrwałe obliczenia. Wątki zapisują informację o zaawansowaniu obliczeń w jednym pliku za pomocą funkcji fprintf. Aby zapewnić poprawne działanie funkcji fprintf należy:

a

Zastosować odpowiedni mechanizm synchronizacji wątków, np. sekcję krytyczną.

b

Taki przypadek jest niemożliwy, ponieważ aplikacja konsoli posiada jedno okno i dlatego może uruchomić tylko jeden wątek.

c

Zmienić typ aplikacji na kontrolkę ActiveX, ponieważ w kontrolkach wszystkie funkcje są synchronizowane.

d

Napisać w asemblerze wersję funkcji fprintf, która korzysta z niskopoziomowych funkcji dostępu do systemu plików.

5. Proces P1 uruchamia wątek w1, a proces P2 uruchamia wątek w2. Wątek w1 czeka na zdarzenie od wątku w2. Co należy wstawić w miejsce znaków ➀ i ➁, żeby wątek w1 zakończył się?

P1

P2

CEvent e1(0,0,➀);

CEvent e1(0,0,➁);

UINT w1(void* p){

UINT w2(void* p){

CSingleLock SL(&e1);

e1.SetEvent();

SL.Lock(); return 0;

return 0;

}

}

a

Można usunąć te znaki i przykład będzie poprawny, ponieważ zmienne e1 są globalne.

b

np. ➀: ”moje zdarzenie 1” ➁: ”moje zdarzenie 2”.

c

np. ➀: ”ja chcę dostać 5!” ➁: ”ja chcę dostać 5!”.

d

koniecznie ➀: ”\\\\.\\CEvent\\e1” ➁: ”\\\\.\\CEvent\\e1”.

6. W systemie Windows jeden proces uruchamia dwa wątki, najpierw w2, następnie w1 (tryby otwierania plików: w –

do zapisu, a – dołączanie). Zakładając, że zmienna e jest globalna, określić zawartość pliku plik.txt?

CEvent e(0,0);

UINT w2(void* p){

UINT w1(void* p){

CSingleLock SL(&e);

FILE *f=fopen(”plik.txt”,”a”);

FILE *f=fopen(”plik.txt”,”w”);

fprintf(f,”3”);

fprintf(f,”1”);

e.SetEvent();

SL.Lock(); SL.Unlock();

return 0;

fprintf(f,”2”); return 0;

}

}

213

123

132

321

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