1. W celu odczytywania danych z klawiatury 16-bitowy proces Windows pracujący w 32-bitowym środowisku Win32 powinien: a

Uzyskać dostęp do portu o adresie 0x64 (sterownik klawiatury) i analizować przychodzące dane, b

Reagować na odpowiednie meldunki systemu, c

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

Korzystać z przerwania BIOSu o numerze 0x09

2. Wykonanie poniższej funkcji spowoduje w systemie Windows (wskaźnik ptr jest niezainicjowany):

void f(char c) {char *ptr; char c; *ptr = c; return;}

a

Funkcja może zniszczyć dane lub kod każdego uruchomionego procesu, b

Każde wywołanie funkcji spowoduje, że proces wykonujący funkcję zostanie przerwany, c

Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do zapisu, system zawiesi się, d

Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do zapisu, proces wykonujący funkcję zostanie przerwany.

3. Załóżmy że pracują dwa wątki: w1 (uruchomiony pierwszy) i w2 (uruchomiony drugi). Obydwa wątki mają równe priorytety. W chwili, gdy wątek 1 wykonuje podkreśloną instrukcję następuje przełączenie zadań i system przełącza kontekst na wątek 2. Zaznaczyć, co pojawi się na ekranie.

int wyswietl(char *s) {

int w1(void *p)

int w2(void *p)

static CCriticalSection cs();

{

{

int w;

wyswietl(”0000”);

wyswietl(”1111”);

return 0;

return a;

cs.Lock();

}

}

w=printf(s);

___

cs.Unlock();

return w;

}

a

00001111

b

00111100

c

System zawiesi się, ponieważ doszło do konfliktu współdzielenia zasobów (wspólny ekran) d

Proces wykonujący wątki zostanie przerwany przez system, ponieważ doszło do konfliktu współdzielenia zasobów (wspólny ekran) 4. Uzupełnić tabelę nazwami mechanizmów komunikacji między procesami w taki sposób, żeby właściwości oznaczone znakiem + charakteryzowały wpisany mechanizm.

komunikacja

komunikacja z

serwer pracuje z

nazwa mechanizmu komunikacji dwukierunkowa komputerem w sieci Windows 95

-

+

+

-

-

+

+

+

-

A tu są poprawne odpowiedzi 1. W celu odczytywania danych z klawiatury 16-bitowy proces Windows pracujący w 32-bitowym środowisku Win32 powinien: a

Uzyskać dostęp do portu o adresie 0x64 (sterownik klawiatury) i analizować przychodzące dane, b

Reagować na odpowiednie meldunki systemu, c

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

Korzystać z przerwania BIOSu o numerze 0x09

2. Wykonanie poniższej funkcji spowoduje w systemie Windows (wskaźnik ptr jest niezainicjowany):

void f(char c) {char *ptr; char c; *ptr = c; return;}

a

Funkcja może zniszczyć dane lub kod każdego uruchomionego procesu, b

Każde wywołanie funkcji spowoduje, że proces wykonujący funkcję zostanie przerwany, c

Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do zapisu, system zawiesi się, d

Jeżeli ptr wskazuje bajt leżący na stronie, która nie ma praw do zapisu, proces wykonujący funkcję zostanie przerwany.

3. Załóżmy że pracują dwa wątki: w1 (uruchomiony pierwszy) i w2 (uruchomiony drugi). Obydwa wątki mają równe priorytety. W chwili, gdy wątek 1 wykonuje podkreśloną instrukcję następuje przełączenie zadań i system przełącza kontekst na wątek 2. Zaznaczyć, co pojawi się na ekranie.

int wyswietl(char *s) {

int w1(void *p)

int w2(void *p)

static CCriticalSection cs();

{

{

int w;

wyswietl(”0000”);

wyswietl(”1111”);

return 0;

return a;

cs.Lock();

}

}

w=printf(s);

___

cs.Unlock();

return w;

}

a

00001111

b

00111100

c

System zawiesi się, ponieważ doszło do konfliktu współdzielenia zasobów (wspólny ekran) d

Proces wykonujący wątki zostanie przerwany przez system, ponieważ doszło do konfliktu współdzielenia zasobów (wspólny ekran) 4. Uzupełnić tabelę nazwami mechanizmów komunikacji między procesami w taki sposób, żeby właściwości oznaczone znakiem + charakteryzowały wpisany mechanizm.

komunikacja

komunikacja z

serwer pracuje z

nazwa mechanizmu komunikacji dwukierunkowa komputerem w sieci Windows 95

-

+

+

skrzynka pocztowa

-

-

+

potok nienazwany

+

+

-

potok nazwany