pytania(Chrobot)


1. Określ, które informacje odnośnie zarządzania procesami w Linuksie 3.0 i nowszych są prawdziwe:
-deskryptor procesu jest umieszczony na dnie jego stosu w jądrze systemu,
-makrodefinicja "current" zwraca adres deskryptora bieżącego procesu,
-proces w stanie TASK_UNINTERRUPTIBLE może być ustawiony w stanie gotowości przez dowolny sygnał, który otrzyma,
-proces zakończony ma stan TASK_STOPPED,
-proces, który jest wykonywany ma stan TASK_RUNNING.

2. Określ, które informacje odnośnie zarządzania procesami w Linuksie 3.0 i nowszych są prawdziwe:
-proces, który jest gotów do wykonania znajduje się w stanie TASK_RUNNING,
-wątki w Linuksie są tworzone za pomocą innego wywołania systemowego niż procesy,
-proces "init" może zostać nowym rodzicem procesu, którego proces macierzysty już się zakończył,
-w trakcie tworzenia nowy proces otrzymuje osobny obszar tekstu i danych,
-deskryptory procesów są powiązane w dwukierunkową listę nazywaną listą procesów.

3. Określ, które informacje o planiście O(1) są prawdziwe:
-nowy kwant czasu dla procesu jest ustalany dopiero wtedy, gdy wszystkie procesy w systemie wyczerpią swoje kwanty,
-kolejka procesów gotowych zawiera wskaźniki na dwie tablice priorytetów,
-każdy procesor ma swoją kolejkę procesów gotowych,
-priorytet zwykłych procesów jest ustalany wyłącznie na podstawie stopnia ich interaktywności,
-im wyższy jest priorytet procesu, tym krótszy kwant czasu on otrzymuje.

4. Określ, które informacje o planiście O(1) są prawdziwe:
-każdy nowo utworzony proces otrzymuje taki sam kwant czasu, jaki ma jego rodzic,
-zadanie o dużym stopniu interaktywności może, po wyczerpaniu swojego kwantu czasu, ponownie trafić do tablicy priorytetów aktywnych,
-proces użytkownika może być wywłaszczony w ramach powrotu z wywołania systemowego lub procedury obsługi przerwania,
-implementacja funkcji przełączającej kontekst ("context_switch()") zależy od architektury platformy sprzętowej, na której działa Linux,
-równoważenie obciążenia procesorów następuje wyłącznie wtedy, gdy kolejka procesów gotowych któregoś z nich jest pusta.

5. Określ, które informacje o planiście CFS są prawdziwe:
-priorytety procesów są prawie niezmienne,
-klasa szeregowania SCHED_BATCH jest obsługiwana za pomocą algorytmu rotacyjnego,
-waga procesu jest odwrotnością wartości jego priorytetu,
-zegar wirtualny jest wprost implementowany w jądrze Linuksa,
-kolejka procesów gotowych jest zrealizowana w postaci drzewa czerwono-czarnego.

6. Określ, które informacje o planiście CFS są prawdziwe:
-czas fizyczny jest mierzony z dokładnością nanosekundową,
-dla procesów z priorytetem równym 0 czas wirtualny jest taki sam jak czas fizyczny,
-czas wybierania procesów przez planistę CFS jest zawsze krótszy w porównaniu z analogicznym czasem dla planisty O(1),
-czas wirtualny procesu zależy od jego wagi,
-planista przydziela procesor temu procesowi, który najdłużej z niego korzystał.

7. Określ, które informacje dotyczące wywołań systemowych w Linuksie 3.0 i nowszych są prawdziwe:
-wszystkie funkcje z biblioteki "libc" korzystają z wywołań systemowych,
-wywołania systemowe mogą nie przyjmować żadnych argumentów,
-każde wywołanie systemowe zwraca wartość stanowiącą kod jego wykonania,
-zazwyczaj wywołania systemowe implementowane są w postaci funkcji napisanych w assemblerze,
-dodanie do jądra nowego wywołania systemowego wymaga modyfikacji biblioteki "libc", aby umożliwić procesom użytkownika korzystanie z niego.

8. Określ, które informacje dotyczące wywołani systemowych w Linuksie 3.0 i nowszych są prawdziwe:
-adresy wszystkich zarejestrowanych wywołań systemowych są przechowywane w specjalnej tablicy,
-kod funkcji implementującej wywołanie systemowe może być umieszczony w module,
-dodawanie nowych wywołań systemowych jest zalecaną przez programistów jądra Linuksa praktyką,
-część procesorów wymaga, aby argumenty do funkcji implementujących wywołania systemowe były przekazywane wyłącznie przez stos,
-funkcja implementująca wywołanie systemowe musi sprawdzać poprawność przekazanych jej argumentów.

9. Określ, które informacje dotyczące obsługi przerwań w Linuksie 3.0 i nowszych są prawdziwe:
-procedury obsługi przerwań w Linuksie są funkcjami napisanymi w języku C,
-procedury obsługi przerwań są wykonywane w kontekście przerwania,
-procedury obsługi przerwań są wywoływane w sposób asynchroniczny,
-linie zgłaszania przerwań (IRQ) mogą być współdzielone,
-niektóre przerwania mogą zasilać pulę entropii jądra.

10. Określ, które informacje dotyczące obsługi przerwań w Linuksie 3.0 i nowszych są prawdziwe:
-większość procedur obsługi przerwań korzysta z makrodefinicji "current",
-stos z którego korzystają procedury obsługi przerwań ma nieograniczoną wielkość,
-wszystkie procedury obsługi przerwań wymagają wyłączenia wszystkich linii zgłaszania przerwań na czas ich wykonywania,
-w komputerach klasy PC wszystkie numery przerwań są przydzielane statycznie,
-czas wykonania procedur obsługi przerwań (górnych połówek) może być dowolnie długi.

11. Określ, które informacje dotyczące dolnych połówek w Linuksie 3.0 i nowszych są prawdziwe:
-całkowita liczba przerwań programowych jest ograniczona,
-przerwania programowe są wykonywane w kontekście procesu,
-tasklety są wykonywane w kontekście procesu,
-czynności z kolejek prac są wykonywane w kontekście przerwania,
-można precyzyjne określić czas, po którym przerwanie programowe powinno być wykonane.

12. Określ, które informacje dotyczące dolnych połówek w Linuksie 3.0 i nowszych są prawdziwe:
-przerwania programowe są alokowane statycznie podczas kompilacji jądra,
-można określić minimalny czas o jaki zostanie opóźnione wykonanie czynności w kolejkach prac,
-te same tasklety mogą być wykonywane współbieżnie na platformach wieloprocesorowych,
-wątek "ksoftirqd" odpowiedzialny jest zarówno za obsługę przerwań programowych, jak i kolejek prac,
-istnieje możliwość stworzenia kolejki prac, która będzie obsługiwana na platformach wieloprocesorowych przez pojedynczy wątek roboczy.

13. Określ, które informacje dotyczące środków synchronizacji w Linuksie 3.0 i nowszych są prawdziwe:
-funkcje realizujące operacje niepodzielne na liczbach całkowitych działają na zmiennych typu "int",
-niepodzielne operacje na bitach przeprowadzane są za pomocą tych samych funkcji co niepodzielne operacje na liczbach całkowitych,
-rygle pętlowe wprowadzają wątki oczekujące na ich zwolnienie w stan aktywnego oczekiwania,
-zwykły rygiel pętlowy może być przetrzymywany przez kilka wątków jednocześnie,
-rygle pętlowe nie są używane w systemach jednoprocesorowych.

14. Określ, które informacje dotyczące środków synchronizacji w Linuksie 3.0 i nowszych są prawdziwe:
-rygiel pętlowy czytelnika może być jednocześnie przetrzymywany przez więcej niż jeden wątek wykonania,
-semafory mogą być stosowane w procedurach obsługi przerwań,
-semafor nie może być przetrzymywany przez wątek, który już przetrzymuje rygiel pętlowy,
-stosowanie blokady BKL nie jest zalecane,
-mechanizm RCU niszczy oryginalną informację w momencie, kiedy wątek-pisarz opublikuje wskaźnik na jej zmodyfikowaną kopię.

15. Określ, które informacje dotyczące pomiaru i synchronizacji względem czasu w Linuksie 3.0 i nowszych są prawdziwe:
-zegar czasu rzeczywistego (RTC) jest okresowo odczytywany przez jądro systemu,
-liczbę taktów zegara od uruchomienia systemu przechowuje zmienna "jiffies",
-częstotliwość zegara systemowego jest określona stałą "HZ",
-implementacja procedury obsługi przerwania zegarowego jest całkowicie niezależna od sprzętu,
-wartość stałej "HZ" jest taka sama dla wszystkich platform sprzętowych.

16. Określ, które informacje dotyczące pomiaru i synchronizacji względem czasu w Linuksie 3.0 i nowszych są prawdziwe:
-liczniki niskiej rozdzielczości są cykliczne,
-mechanizm liczników wysokiej rozdzielczości korzysta z drzewa czerwono-czarnego,
-liczniki wysokiej rozdzielczości mogą być cykliczne
-funkcje związane z licznikami niskiej rozdzielczości wykonywane są w kontekście przerwania,
-jeśli platforma sprzętowa nie dostarcza zegarów o nanosekundowej precyzji, to mechanizm liczników wysokiej rozdzielczości nie jest dla niej w ogóle dostępny.

17. Określ, które informacje dotyczące zarządzania pamięcią w Linuksie 3.0 i nowszych są prawdziwe:
-Linux obsługuje systemy wieloprocesorowe o organizacji NUMA,
-domyślnie Linux przydziela pamięć ze strefy DMA (ZONE_DMA),
-podstawowym mechanizmem sprzętowym wykorzystywanym przez Linuksa do obsługi pamięci jest segmentacja,
-nie we wszystkich platformach sprzętowych musi występować strefa pamięci wysokiej (ZONE_HIGHMEM),
-niskopoziomowy mechanizm obsługi pamięci umożliwia przydzielenie obszaru pamięci o wielkości jednego bajta.

18. Określ, które informacje dotyczące zarządzania pamięcią w Linuksie 3.0 i nowszych są prawdziwe:
-niskopoziomowy mechanizm obsługi pamięci działa w oparciu o algorytm bliźniaków,
-adresowanie stron w Linuksie jest domyślnie czteropoziomowe,
-alokator plastrowy wykorzystuje do własnych celów dedykowane pamięci podręczne,
-alokator plastrowy jest rozwiązaniem zapożyczonym z systemu operacyjnego firmy Sun Microsystems,
-alokator plastrowy przedziela pamięć na struktury często alokowane i zwalniane przez jądro systemu.

19. Określ, które informacje dotyczące wirtualnego systemu plików (VFS) w Linuksie 3.0 i nowszych są prawdziwe:
-VFS napisany jest w języku C++,
-obiekt superbloku może być stosowany w obsłudze systemów plików, które nie mają fizycznej implementacji,
-obiekty i-węzłów związane są wyłącznie z fizycznymi plikami,
-niektóre nieuniksowe systemy plików nie posiadają wszystkich informacji, które muszą być umieszczone w obiekcie i-węzła,
-obiekty wpisów katalogowych mają swoje odpowiedniki na nośniku danych.

20. Określ, które informacje dotyczące wirtualnego systemu plików (VFS) w Linuksie 3.0 i nowszych są prawdziwe:
-obiekt wpisu katalogowego, który nie jest w użyciu, ale któremu odpowiada prawidłowy i-węzeł, jest w stanie ujemnym,
-obiekty wpisu katalogowego, które są w stanie ujemnym, nie są niszczone, jeśli nie zachodzi taka potrzeba,
-obiekty plików związane są ze wszystkimi plikami zapisanymi w systemie plików,
-pamięć na obiekty wpisów katalogowych jest przydzielana i zwalniana przez alokator plastrowy,
-dla każdego zamontowanego systemu plików tworzona jest zmienna opisująca jego punkt montowania.

21. Określ, które informacje dotyczące obsługi urządzeń znakowych i blokowych w Linuksie 3.0 i nowszych są prawdziwe:
-urządzenia obsługiwane przez Linuksa są wyłącznie urządzeniami fizycznymi,
-w komputerach klasy PC kontroler jest zawsze częścią struktury sprzętowej łączącej szynę wejścia-wyjścia z urządzeniem,
-rejestr może pełnić więcej niż jedną funkcję,
-numer główny identyfikuje sterownik obsługujący urządzenie lub grupę urządzeń,
-urządzenia znakowe adresują dane sekwencyjnie.

22. Określ, które informacje dotyczące obsługi urządzeń znakowych i blokowych w Linuksie 3.0 i nowszych są prawdziwe:
-sterownik urządzenia może być dołączony do systemu w postaci modułu,
-sterowniki urządzeń znakowych korzystają z niektórych struktur związanych z wirtualnym systemem plików (VFS),
-programista piszący sterownik urządzenia znakowego musi oprogramować metody obiektu i-węzła,
-metody obsługujące urządzenia znakowe muszą działać według określonego protokołu,
-sterowniki wszystkich urządzeń blokowych muszą tworzyć kolejki żądań.

23. Określ, które informacje dotyczące warstwy operacji blokowych w Linuksie 3.0 i nowszych są prawdziwe:
-wielkość bloku w Linuksie jest nieograniczona,
-każdy bufor zawsze jest związany z blokiem na nośniku danych,
-bufory są wykorzystywane wyłącznie do przechowywania danych odczytanych z nośnika urządzenia blokowego,
-każdy z buforów wyposażony jest w nagłówek zawierający dane niezbędne do zarządzania nim,
-nagłówek bufora nie przechowuje informacji o operacjach wejścia-wyjścia z jakimi ten bufor jest związany.

24. Określ, które informacje dotyczące warstwy operacji blokowych w Linuksie 3.0 i nowszych są prawdziwe:
-struktury "bio" reprezentują operacje wejścia-wyjścia podczas ich trwania,
-wielkość segmentu jest zawsze równa wielkości bufora,
-struktury "bio" ułatwiają realizację operacji wejścia-wyjścia o rozproszonym źródle,
-planista terminowy przydziela domyślnie dłuższy termin realizacji operacji odczytu niż operacji zapisu,
-planista CFQ nie stosuje przewidywania.

25. Określ, które informacje dotyczące obsługi przestrzeni adresowej procesu w Linuksie 3.0 i nowszych są prawdziwe:
-wszystkie wątki jądra korzystają z jednego, wspólnego dla nich deskryptora pamięci,
-obiekty zawierające informacje o obszarach pamięci są umieszczone jednocześnie w dwóch różnych strukturach danych,
-sekcje tekstu tworzone są nie tylko dla procesów, ale również dla bibliotek współdzielonych,
-deskryptor pamięci przechowuje adres startowy i końcowy obszaru argumentów wywołania programu,
-deskryptory pamięci nigdy nie są współdzielone przez procesy (wątki) użytkownika.

26. Określ, które informacje dotyczące obsługi sieci w Linuksie 3.0 i nowszych są prawdziwe:
-jądro wykonuje czynności związane z obsługą warstwy łącza, sieci i transportowej modelu ISO/OSI,
-NAPI nigdy nie pozwala na sygnalizowanie odbioru pakietu za pomocą przerwania,
-przenoszenie bufora pakietu między kolejkami jest czasochłonne,
-funkcje związane z filtrem sieciowym mogą "wykradać" niektóre pakiety, aby przetworzyć je w inny sposób niż pozostałe,
-w filtrze sieciowym, z pojedynczym uchwytem nie może być skojarzona więcej niż jedna funkcja przetwarzająca.


Wyszukiwarka

Podobne podstrony:
SO2 App pytania(Chrobot)(2)
Religia Pytania o latarnię mojego serca
Pytania z witamin Siemian
pytania2009cz1 test
PKC pytania na egzamin
2009 pytania testowe
pytania byrdy I termin
patomorfologia pytania egzamin opisowy
PIK PYTANIA
pytania
pytania rynek finansowy egzamin
examin C inne pytania 2
Betony pytania
Marketing Opracowane Pytania Egzaminacyjne 2009 Furtak (46)

więcej podobnych podstron