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 1. Użytkownik z uprawnieniami administratora uruchomił w systemie windows w trybie pełnego ekranu program systemu MS-DOS, który zawiera wirusa. Wirus programując bezpośrednio sprzęt próbuje wyzerować pamięć CMOS i pamięć FLASH zawierającą BIOS. Co musi zrobić administrator systemu w celu usunięcia awarii? (Zakładamy, że sterowniki trybu jądra są napisane prawidłowo)
a
Natychmiast zamknąć konsolę MS-DOS z wirusem,
b
Nic nie musi robić,
c
Zaprogramować pamięć FLASH BIOSem zgodnym z płytą główną, d
Wylutować pamięć CMOS z płyty głównej i zamontować nową.
2. Pewna 16-bitowa aplikacja windows wyświetla okno pokazane na rysunku. Z ilu widocznych okien składa się to okno?
Podać nazwy tych nazwy okien.
a
1
b
2
c
3
nazwy:
3. W systemie windows uruchamiamy proces p1, a następnie na drugiej konsoli proces p2: void main(void){
void main(void){
char s[]=”wiadomość\n”;
char s[];
printf(”%p\n”,s); getc();
scanf(”%p”,&s); printf(s);
}
}
Proces p1 wyświetla adres zmiennej s. Proces p2 wczytuje wskaźnik, który jest interpretowany jako adres tablicy tekstowej do wyświetlenia. Co się stanie, jeżeli procesowi p2 podamy adres zwrócony przez proces p1?
a
Proces p2 zostanie przerwany, jeżeli wczytany wskaźnik wskazuje na stronę bez prawa do odczytu, b
Na ekranie pojawi się tekst wiadomość,
c
Na ekranie pojawi się pewien tekst, ale nie będzie to zawartość zmiennej s procesu p1, d
Odpowiedź a) albo c).
4. W systemie windows uruchamiamy proces, który uruchamia kolejno wątki w1 i w2: UINT w1(void *p){
UINT w2(void *p){
CEvent e1(0,0,”zdarzenie1”);
CEvent e1(0,0,”zdarzenie1”);
CEvent e2(0,0,”zdarzenie2”);
CEvent e2(0,0,”zdarzenie2”);
CSingleLock SL(&e1);
printf(”2”); e1.SetEvent();
printf(”1”);
CSingleLock SL(&e2);
e2.SetEvent(); return 0;
printf(”3”); return 0;
}
}
Zakładamy, że wątek w1 wykonuje się pierwszy i czasy potrzebne na wykonanie wątków w1 i w2 są krótsze od kwantu czasu używanego przez dyspozytora. Co zostanie wyświetlone na ekranie?
213
123
321
312
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
Użytkownik ”1025” na komputerze o nazwie ”d3” otrzyma e-mail o treści ”1”, d
Serwer skrzynki pocztowej o nazwie ”1025” na komputerze o nazwie ”d3” otrzyma wiadomość o treści ”1”.
6. Na komputerze o nazwie 108a2, na którym pracuje system Windows98, 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
”\\108a2\pipe\potok”,
c
Serwer potoku nazwanego nie może pracować z systemem Windows 98, d
”\\\\108a2\\potok”.
7. Dodajemy właściwość (property) FileName do interfejsu kontrolki ActiveX. Jakie składowe zostaną utworzone w klasie bazowej C++ do obsługi tej właściwości?
a
Dwie funkcje: GetFileName, SetFileName,
b
Jedna zmienna składowa klasy o nazwie FileName i żadna funkcja, c
Do obsługi właściwości nie potrzebne są żadne składowe klasy bazowej kontrolki, d
Trzy funkcje: GetFileName, SetFileName, QueryFileName.