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