GRUPA B

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 oprócz 7 poprawna jest jedna odpowiedź

1. Użytkownik zalogowany w systemie Windows na konto bez uprawnień administratora formatuje dyskietkę za pomocą polecenia format wydanego z konsoli (użytkownik ma odpowiednie uprawnienia). W trakcie formatowania do systemu zdalnie loguje się administrator za pomocą usługi telnet i wyświetla zawartotść dyskietki. System zachowa się w sposób:

a

Nie można formatować dyskietki w taki sposób, ponieważ programy MS DOS nie mają dostępu do sprzętu, b

Administrator zobaczy wirtualną zawartość dyskietki sprzed sformatowania,

c

Na konsoli administratora pojawi się komunikat informujący o braku dostępu do urządzenia,

d

Formatowanie zostanie przerwane, zawartość dyskietki odtworzona i wyświetlona administratorowi.

2. Proces wyświetla okno pokazane na rysunku. Z ilu wątków składa się ten proces?

a

Nie można określić liczby wątków na podstawie wyglądu okna.

b

1

c

2

d

3

3. W celu uzyskania informacji o prawach dostępu do stron procesu należy:

a

Nie można uzyskać takich informacji,

b

Na podstawie identyfikatora procesu uzystać jego uchwyt (HANDLE) i użyć odpowiedniej funkcji systemowej, c

Użyć odpowiedniej funkcji systemowej, która zwraca te informacje na podstwie identyfikatora procesu, d

W eksploratorze Windows kliknąć prawym przyciskiem myszy na nazwie programu i z menu kontekstowego wybrać polecenie Właściwości.

4. W systemie Windows uruchamiamy dwa procesy, najpierw P1, następnie P2 (tryby otwierania plików: w – do zapisu, a

- dołączanie)

P1

P2

void main(void){

void main(void){

CEvent e1(0,0,”zdarzenie1”);

CEvent e1(0,0,”zdarzenie1”);

CEvent e2(0,0,”zdarzenie2”);

CEvent e2(0,0,”zdarzenie2”);

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

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

CSingleLock SL(&e1); SL.Lock();

fprintf(f,”3”); e1.SetEvent();

fprintf(f,”1”);

CSingleLock SL(&e2); SL.Lock();

e2.SetEvent(); return 0;

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

}

}

Jaka będzie zawartość pliku plik.txt?

213

312

321

132

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

Serwer skrzynki pocztowej o nazwie ”1025” na komputerze o nazwie ”d3” otrzyma wiadomość o treści ”1”, d

Użytkownik ”1025” na komputerze o nazwie ”d3” otrzyma e-mail o treści ”1”.

6. Na komputerze o nazwie 108a2, na którym pracuje system Windows, uruchomiono serwer potoku nazwanego o nazwie potok. Co należy wstawić w miejsce znaku  w poniższym kodzie, żeby transakcja z tym serwerem zakończyła się pomyślnie:

char s[]="Wiadomość dla serwera\n"; char odp[256]; unsigned long nodp;

CallNamedPipe( ,s,strlen(s)+1,odp,256,&nodp,0);

a

”\\\\108a2\\pipe\\potok”,

b

Serwer potoku nazwanego nie może pracować z systemem Windows,

c

”\\108a2\pipe\potok”,

d

”\\\\108a2\\potok”.

7. Zaznaczyć, które stwierdzenia dotyczące technologii COM i ActiveX są prawdziwe.

a

Obiekt COM musi posiadać interfejs o nazwie IUnknown,

b

Obiekty ActiveX identyfikowane są za pomocą nazwy (np. SOAnimacja),

c

Zmiana wartości właściwości (property) kontrolki ActiveX nie może spowodować zmiany wyglądu kontrolki, d

Metoda obiektu ActiveX utworzonego w języku C++ musi mieć odpowiadającą funkcję w klasie reprezentującej ten obiekt,

e

Do obsługi właściwości kontrolki ActiveX nie potrzebne są żadne składowe klasy bazowej kontrolki.