Egzamin lato 2k05 3


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 B
W każdym zadaniu poprawna jest jedna odpowiedz
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 System Windows nie pozwoli na taką operację i aplikacja zostanie zamknięta podczas wykonywania operacji.
b BIOS wyświetli komunikat o błędnej sumie kontrolnej pamięci CMOS.
c Nic się nie stanie.
d Windows nie pozwoli na taką operację i wyświetli okno z komunikatem, ale aplikacja nie zostanie przerwana.
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 128.
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 Obydwa procesy będą nadal pracować.
b Proces P2 zostanie przerwany, gdy wykona instrukcję, która odwołuje się do tej strony pamięci.
c Natychmiast po zmianie praw dostępu do strony pamięci proces P2 zostanie przerwany.
d Proces P1 zostanie przerwany, ponieważ wykonuje niedozwoloną operację.
4. Pewien 32-bitowy proces 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 Proces zostanie przerwany przez system, ponieważ do pliku może zapisywać tylko jeden wątek.
b Zastosować odpowiedni mechanizm synchronizacji wątków, np. sekcję krytyczną.
c Napisać w asemblerze wersję funkcji fprintf, która korzysta z niskopoziomowych funkcji dostępu do systemu
plików.
d Zmienić typ aplikacji na kontrolkę ActiveX, ponieważ w kontrolkach wszystkie funkcje są synchronizowane.
5. Pewien proces uruchamia wątek w1, a następnie 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ę?
UINT w1(void* p){ UINT w2(void* p){
CEvent e1(0,0,'); CEvent e1(0,0,');
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 należą do tego samego procesu.
b np. ':  zakończ wątek ':  zakończ wątek .
c np. ':  moje zdarzenie 1 ':  moje zdarzenie 2 .
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, moje zdarzenie 1 ); 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;
} }
132 123 213 321
7. Co robi następująca instrukcja? (wykonujący ją proces jest procesem Windows):
CallNamedPipe("\\\\a\\pipe\\b",s,strlen(s)+1,b,256,&n,5000);
a Jest to transakcja potokiem o nazwie "a" z serwerem na komputerze o nazwie "b".
b Jest to transakcja potokiem o nazwie "b" z serwerem na komputerze o nazwie "a".
c Jest to transakcja potokiem nazwanym, ale pierwszy parametr funkcji jest niepoprawny.
d Jest to aktualizacja pewnych danych w pliku o nazwie "b" znajdującym się na dyskietce a: w folderze
"pipe".


Wyszukiwarka