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