1 Architektury Komputerów i Systemy Operacyjne Prowadzący przedmiot: dr inż. Rafał Stankiewicz Data:
Zadanie 1. 2 Plik o nazwie file miał prawa dostępu: rwsr-x-wx Wykonano polecenie: chmod u=rx, g+ws, o=r file Jakie będą jego prawa dostępu? a) b) c) r-xrwxr— Odpowiedź poprawna: r-xrwsr—
Zadanie 2. 3 Wykonano polecenia: > ls -la drwxrwxrwx 2 test test 512 Mar 27 10:52. -rw-r--r-- 1 test test 512 Mar 27 10:51.. -rw-r--r-- 1 test test 0 Mar 27 10:59 a > ln a d > ln -s d c > rm a Które z poniższych poleceń spowoduje błąd otwarcia pliku i komunikat informujący, że żądany plik nie istnieje? a) b) cat c c) Odpowiedź poprawna: cat a
Teoria do zad 2. 4 W systemie UNIX istnieje możliwość tworzenia wielu dowiązań do jednego pliku. Dowiązanie jest utworzeniem nowej nazwy wskazującej na ten sam plik (węzeł). Są to tzw. linki twarde (dowiązania twarde). W wyniku utworzenia dowiązania twardego nie jest tworzony nowy plik na dysku. Następuje jedynie dodanie wpisu w jakimś katalogu (powiązanie nazwa.numer węzła). Aktualna liczba dowiązań jest przechowywana w węźle. Aby usunąć plik z systemu trzeba skasować wszystkie istniejące dowiązania twarde. Można też tworzyć dowiązania symboliczne (zwane również miękkimi). Dowiązanie symboliczne jest plikiem specjalnym (osobnym węzłem!) zawierającym ścieżkę dostępu do innego pliku. Utworzenie dowiązania symbolicznego wiąże się więc z utworzeniem nowego pliku (węzła).
Zadanie 3. 5 Utworzenie dowiązania (linku) twardego do pliku powoduje: a) b) zwiększenie o 1 liczby dowiązań do pliku c) Inne odpowiedzi poprawne: Dowiązanie nowej nazwy do istniejącego węzła Utworzenie nowej referencji wskazującej na węzeł tego samego pliku
Zadanie 4. 6 Jaka jest różnica między kolejkami FIFO i łączami komunikacyjnymi w systemie UNIX? a) tylko kolejki FIFO mają zdefiniowaną nazwę, b) c) Inne odpowiedzi poprawne: Łącza komunikacyjne mogą być używane do komunikacji tylko procesów spokrewnionych (mających wspólnego przodka), zaś przez kolejki FIFO mogą się komunikować dowolne procesy.
Zadanie 5. 7 Zadanie 5. Dany jest program (prg3.c): /* Program: prg3.c */ #include main() { execl("prg4", "prg4", NULL); execl("/usr/bin/pwd", "pwd", NULL); } Które z poniższych warunków muszą być spełnione aby program /usr/bin/pwd nie wykonał się: a) b) pierwszy execl musi zakończyć się niepowodzeniem c) Odpowiedź poprawna: pierwszy execl musi zakończyć się sukcesem
Zadanie 6. 8 Zadanie 6. Czy podana poniżej struktura danych jest poprawną strukturą komunikatu? struct komunikacik { long mtype; int count; char mtext[300]; } a) b) c) zależy od implementacji kolejki komunikatów wybranej przez programistę Dowolna struktura danych, przy czym pierwsza zmienna w strukturze musi być typpu long
Zadanie 7. 9 Zadanie 7. Podać, ile razy zostanie wyświetlony napis „Test” jeżeli zostanie wykonany poniższy program (prg1.c): /* Program: prg1.c */ #include main() { int a,b; a=fork(); if(a==0){ b=fork(); } printf("Test\n"); } a) b) c) 3
Zadanie Zadanie 8. Zalogowany jest użytkownik test (uid=213) należący do grupy test (gid=200). Wykonał on następujące polecenia: > pwd /home3/stud/bolek > ls -l -rwxr-sr-x 1 bolek stud 1790 Oct 21 19:00 progr >./progr Użytkownik bolek ma identyfikator uid=235, a grupa stud (gid=203). Wybierz właściwą kombinację identyfikatorów uruchomionego procesu progr: UID EUID GID EGID a) b) c) Gdzie: UID – rzeczywisty identyfikator użytkownika, EUID – efektywny identyfikator użytkownika, GID – rzeczywisty identyfikator grupy, EGID – efektywny identyfikator grupy Odpowiedź poprawna:
Zadanie Zadanie 9. Komunikatem w systemie UNIX może być: a) b) tylko struktura danych postaci: struct msgbuff { long mtype; char mtext[300]; } c) Odpowiedź poprawna: Dowolna struktura danych, przy czym pierwsza zmienna w strukturze musi być typu long
Zadanie Zadanie 10. Operacja usunięcia segmentu pamięci współdzielonej: a) b) może być wykonana tylko przez proces, który ją utworzył, c) Odpowiedzi poprawne: Może być wykonana tylko przez proces posiadający odpowiednie prawa dostępu lub przez administratora Może zostać odroczona jeśli są do niego dołączone procesy (do chwili odłączenia się ostatniego procesu)
Zadanie Zadanie 11. Ile procesów może jednocześnie nasłuchiwać na porcie TCP/80 na interfejsie sieciowym ? a) b) c) 80 Odpowiedź poprawna: Tylko jeden
Zadanie Zadanie 12. Ile interfejsów sieciowych można utworzyć na jednym interfejsie fizycznym? a) zależnie od użytej maski b) c) Odpowiedź poprawna: Dowolna liczba
Zadanie Zadanie 13. Narzędzia IPC mają następujące cechy wspólne: a) b) c) Możliwe jest określenie jaki użytkownik utworzył narzędzie IPC Inne poprawne odpowiedzi: Identyfikowane są w systemie przez unikalny identyfikator Mają określone prawa dostępu
Zadanie Zadanie 14. Przyjęto, że semafor jest opuszczony gdy ma wartość 0. Równolegle działające procesy wykonały następujący fragment kodu: Przed wykonaniem powyższego kodu przez którykolwiek z procesów, ustawiono semafory w następujący sposób: s = 1, q = 0, z = 1. Co zostanie wyświetlone na ekranie (należy założyć, że każdy napis pojawia się na ekranie natychmiast po wykonaniu funkcji printf – bez normalnego buforowania): a) b) ALWCRN c)
Zadanie Zadanie 15. Co to za urządzenie: /dev/hdc3 a) b) Kanał 2, SLAVE (Secontary Slave), pierwszy dysk logiczny c) Odpowiedź poprawna: Kanał 2, MASTER (Secondary Master), trzecia partycja podstawowa
Zadanie Zadanie 16. Przyjęto konwencję: semafor opuszczony ma wartość 0. Funkcja P(x) służy do opuszczenia semafora, zaś funkcja V(x) do podniesienia semafora. Przed wykonaniem powyższego kodu przez którykolwiek z procesów, ustawiono semafory w następujący sposób: s = 1, q = 0, z = 1. Co zostanie wyświetlone na ekranie (należy założyć, że każdy napis pojawia się na ekranie natychmiast po wykonaniu funkcji printf – bez normalnego buforowania): a) LBCNDM b) BLNCDM c)
Zadanie Zadanie 17. Użytkownik student wykonał serię poleceń: ps -o pid,ppid,pgid,fname PID PPID PGID COMMAND tcsh ps pisz > kill –9 0 W rezultacie: a) b) proces o PID = 2551 dalej będzie aktywny c) Zabije tylko 2472 (Jeżeli wysyłając sygnał zamiast konkretnego numeru pid podamy wartość 0 to sygnał wysyłany do wszystkich procesów o takim samym identyfikatorze grupy procesów GPID jaki ma proces wysyłający synał)
Zadanie Zadanie 18. Plik /dev/zero w systemie Unix jest plikiem: a) b) c) specjalnym znakowym Dodatkowe informacje: Przy przekierowaniach szczególnie cenne są pliki specjalne /dev/null oraz /dev/zero. Pliki te są wykorzystywane np. do ukrywania niechcianych komunikatów o błędach. Plik /dev/null przy czytaniu zachowuje się jak pusty plik, przy zapisie jest to.czarna dziura. która przyjmie dowolnie dużą ilość danych. Plik /dev/zero przy odczycie zachowuje się jak nieskończenie duży plik zawierający bajty o wartości 0, przy pisaniu zachowuje się jak /dev/null. Oba te pliki mają bardzo dużą przepustowość, znacznie większą niż dyski twarde.
Zadanie Zadanie 19. Które z wymienionych systemów plików są systemami z dziennikiem (journalling filesystems): a) b) ext3 c) Inne poprawne odpowiedzi: ntfs, ufs, xfs
Zadanie Utworzono plik o nazwie Plik_1. Numer węzła tego pliku równy jest Następnie wykonano polecenia: ln Plik_1 Plik_2 ln -s Plik_2 Plik_3 Numery węzłów plików Plik_2 i Plik_3 będą odpowiednio: a) ? i ? b) c) „?” oznacza, że nie da się przewidzieć numeru węzła i ?