PYT ODP Kasia 2


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, N (był tam
przechowywany w starszych wersjach Linuksa)
-makrodefinicja "current" zwraca adres deskryptora bieżącego procesu T
-proces w stanie TASK_UNINTERRUPTIBLE może być ustawiony w stanie gotowości przez dowolny
sygnał, który otrzyma, N (nie reaguje na żadne inne zdarzenia)
-proces zakończony ma stan TASK_STOPPED, N (proces został ZATRZYMANY)
-proces, który jest wykonywany ma stan TASK_RUNNING. N (jest tylko gotowy do uruchomienia)
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, T
-wątki w Linuksie są tworzone za pomocą innego wywołania systemowego niż procesy, N (wątki i
procsy są tworzone za pomocą  clone() )
-proces "init" może zostać nowym rodzicem procesu, którego proces macierzysty już się zakończył, T
-w trakcie tworzenia nowy proces otrzymuje osobny obszar tekstu i danych, N (współdzieli po
procesie macierzystym)
-deskryptory procesów są powiązane w dwukierunkową listę nazywaną listą procesów. T
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, T?
-kolejka procesów gotowych zawiera wskazniki na dwie tablice priorytetów, T(aktywna i
przeterminowana)
-każdy procesor ma swoją kolejkę procesów gotowych, T
-priorytet zwykłych procesów jest ustalany wyłącznie na podstawie stopnia ich interaktywności, N?
-im wyższy jest priorytet procesu, tym krótszy kwant czasu on otrzymuje. N
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, N
-zadanie o dużym stopniu interaktywności może, po wyczerpaniu swojego kwantu czasu, ponownie
trafić do tablicy priorytetów aktywnych, T
-proces użytkownika może być wywłaszczony w ramach powrotu z wywołania systemowego lub
procedury obsługi przerwania, T
-implementacja funkcji przełączającej kontekst ("context_switch()") zależy od architektury platformy
sprzętowej, na której działa Linux T
-równoważenie obciążenia procesorów następuje wyłącznie wtedy, gdy kolejka procesów gotowych
któregoś z nich jest pusta. N
5. Określ, które informacje o planiście CFS są prawdziwe:
-priorytety procesów są prawie niezmienne, T
-klasa szeregowania SCHED_BATCH jest obsługiwana za pomocą algorytmu rotacyjnego, N (algorytm
CFS)
-waga procesu jest odwrotnością wartości jego priorytetu, N
-zegar wirtualny jest wprost implementowany w jądrze Linuksa, N
-kolejka procesów gotowych jest zrealizowana w postaci drzewa czerwono-czarnego. T
6. Określ, które informacje o planiście CFS są prawdziwe:
-czas fizyczny jest mierzony z dokładnością nanosekundową, T
-dla procesów z priorytetem równym 0 czas wirtualny jest taki sam jak czas fizyczny, T
-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, N
-planista przydziela procesor temu procesowi, który najdłużej z niego korzystał. N
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, N (bo sa funkcje które
wogóle nie korzystają)?
-wywołania systemowe mogą nie przyjmować żadnych argumentów, T
-każde wywołanie systemowe zwraca wartość stanowiącą kod jego wykonania, T
-zazwyczaj wywołania systemowe implementowane są w postaci funkcji napisanych w assemblerze,
N
-dodanie do jądra nowego wywołania systemowego wymaga modyfikacji biblioteki "libc", aby
umożliwić procesom użytkownika korzystanie z niego. N
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,
T
-kod funkcji implementującej wywołanie systemowe może być umieszczony w module, N
-dodawanie nowych wywołań systemowych jest zalecaną przez programistów jądra Linuksa praktyką,
N
-część procesorów wymaga, aby argumenty do funkcji implementujących wywołania systemowe były
przekazywane wyłącznie przez stos, T
-funkcja implementująca wywołanie systemowe musi sprawdzać poprawność przekazanych jej
argumentów. T
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, T
-procedury obsługi przerwań są wykonywane w kontekście przerwania, T
-procedury obsługi przerwań są wywoływane w sposób asynchroniczny, T
-linie zgłaszania przerwań (IRQ) mogą być współdzielone,T (parametr dev obsługuje linie
współdzielone)?
-niektóre przerwania mogą zasilać pulę entropii jądra. T (IRQF_SAMPLE_RANDOM)
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", N (bo wartość nie będzie
poprawna)
-stos z którego korzystają procedury obsługi przerwań ma nieograniczoną wielkość, N (do 8KB lub
16KB)
-wszystkie procedury obsługi przerwań wymagają wyłączenia wszystkich linii zgłaszania przerwań na
czas ich wykonywania, N (blokuje tylko linię związaną z danym przerwaniem)?
-w komputerach klasy PC wszystkie numery przerwań są przydzielane statycznie, N (urządzenia
podłączone z systemem przez magistralę PCI, PCI-Express lub USB - są przydzielane dynamicznie)
-czas wykonania procedur obsługi przerwań (górnych połówek) może być dowolnie długi. N (ważne
jest aby procedura obsługi przerwania została wykonana jak najszybciej)
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, T (max 32)
-przerwania programowe są wykonywane w kontekście procesu N (działają w kontekście
przerwania)
-tasklety są wykonywane w kontekście procesu, N (bazują na przerwaniach programowych)?
-czynności z kolejek prac są wykonywane w kontekście przerwania, N (w kontekście procesu)
-można precyzyjne określić czas, po którym przerwanie programowe powinno być wykonane. N
(Niektóre mechanizmy dolnych połówek pozwalają określić po jakim czasie powinny być wykonane
zlecone im czynności, ale nie gwarantują dokładności)
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, T
-można określić minimalny czas o jaki zostanie opóznione wykonanie czynności w kolejkach prac, N
(określony ale chyba nie minimalny)???
-te same tasklety mogą być wykonywane współbieżnie na platformach wieloprocesorowych, N
(znalazłam takie zdanie w wykładzie)
-wątek "ksoftirqd" odpowiedzialny jest zarówno za obsługę przerwań programowych, jak i kolejek
prac, N
-istnieje możliwość stworzenia kolejki prac, która będzie obsługiwana na platformach
wieloprocesorowych przez pojedynczy wątek roboczy. T (prawie ostatnie zdanie wykład nr 7)
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", N
(typ atomic_t bazuje na typie int ale nie jest zmienną typu int)?
-niepodzielne operacje na bitach przeprowadzane są za pomocą tych samych funkcji co niepodzielne
operacje na liczbach całkowitych, N
-rygle pętlowe wprowadzają wątki oczekujące na ich zwolnienie w stan aktywnego oczekiwania, T
-zwykły rygiel pętlowy może być przetrzymywany przez kilka wątków jednocześnie, N (zasada
wzajemnego wykluczania)
-rygle pętlowe nie są używane w systemach jednoprocesorowych. T
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, T
-semafory mogą być stosowane w procedurach obsługi przerwań, N?
-semafor nie może być przetrzymywany przez wątek, który już przetrzymuje rygiel pętlowy, T
-stosowanie blokady BKL nie jest zalecane, T
-mechanizm RCU niszczy oryginalną informację w momencie, kiedy wątek-pisarz opublikuje wskaznik
na jej zmodyfikowaną kopię. N (dopiero po zakończeniu operacji wszystkich czytelników)
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, N (jest
odczytywany tylko podczas rozruchu systemu)
-liczbę taktów zegara od uruchomienia systemu przechowuje zmienna "jiffies", T
-częstotliwość zegara systemowego jest określona stałą "HZ", T
-implementacja procedury obsługi przerwania zegarowego jest całkowicie niezależna od sprzętu, N
-wartość stałej "HZ" jest taka sama dla wszystkich platform sprzętowych. N
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, N
-mechanizm liczników wysokiej rozdzielczości korzysta z drzewa czerwono-czarnego, T
-liczniki wysokiej rozdzielczości mogą być cykliczne T?
-funkcje związane z licznikami niskiej rozdzielczości wykonywane są w kontekście przerwania, T
-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. N
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, T
-domyślnie Linux przydziela pamięć ze strefy DMA (ZONE_DMA), N (ZONE_NORMAL)
-podstawowym mechanizmem sprzętowym wykorzystywanym przez Linuksa do obsługi pamięci jest
segmentacja, N (częśćiowo i głównie do ochrony pamięci)
-nie we wszystkich platformach sprzętowych musi występować strefa pamięci wysokiej
(ZONE_HIGHMEM), T
-niskopoziomowy mechanizm obsługi pamięci umożliwia przydzielenie obszaru pamięci o wielkości
jednego bajta. N?
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 blizniaków, T
-adresowanie stron w Linuksie jest domyślnie czteropoziomowe, T
-alokator plastrowy wykorzystuje do własnych celów dedykowane pamięci podręczne, N (on korzysta
z pamięci ogólnych)
-alokator plastrowy jest rozwiązaniem zapożyczonym z systemu operacyjnego firmy Sun
Microsystems, T
-alokator plastrowy przedziela pamięć na struktury często alokowane i zwalniane przez jądro
systemu. T?
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++, N
-obiekt superbloku może być stosowany w obsłudze systemów plików, które nie mają fizycznej
implementacji, N (bo istnieją tylko jako dane w pamięci operacyjnej)?
-obiekty i-węzłów związane są wyłącznie z fizycznymi plikami, N
-niektóre nieuniksowe systemy plików nie posiadają wszystkich informacji, które muszą być
umieszczone w obiekcie i-węzła, T
-obiekty wpisów katalogowych mają swoje odpowiedniki na nośniku danych. T? (bufor i-węzłów)?
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, N
-obiekty wpisu katalogowego, które są w stanie ujemnym, nie są niszczone, jeśli nie zachodzi taka
potrzeba, T
-obiekty plików związane są ze wszystkimi plikami zapisanymi w systemie plików, T? (tylko tymi
otwartymi)?
-pamięć na obiekty wpisów katalogowych jest przydzielana i zwalniana przez alokator plastrowy, N?
-dla każdego zamontowanego systemu plików tworzona jest zmienna opisująca jego punkt
montowania. T
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, N
-w komputerach klasy PC kontroler jest zawsze częścią struktury sprzętowej łączącej szynę wejścia-
wyjścia z urządzeniem,N
-rejestr może pełnić więcej niż jedną funkcję, T
-numer główny identyfikuje sterownik obsługujący urządzenie lub grupę urządzeń, T
-urządzenia znakowe adresują dane sekwencyjnie. T
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, T
-sterowniki urządzeń znakowych korzystają z niektórych struktur związanych z wirtualnym systemem
plików (VFS), T
-programista piszący sterownik urządzenia znakowego musi oprogramować metody obiektu i-węzła,
N?
-metody obsługujące urządzenia znakowe muszą działać według określonego protokołu, N
-sterowniki wszystkich urządzeń blokowych muszą tworzyć kolejki żądań. T? (pole struktury cdev
zawiera pole queue -> wskażnik na kolejkę żą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, N
-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, T
-nagłówek bufora nie przechowuje informacji o operacjach wejścia-wyjścia z jakimi ten bufor jest
związany. T
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, T
-wielkość segmentu jest zawsze równa wielkości bufora, ?
-struktury "bio" ułatwiają realizację operacji wejścia-wyjścia o rozproszonym zródle, T
-planista terminowy przydziela domyślnie dłuższy termin realizacji operacji odczytu niż operacji
zapisu, N (operacja odczytu  0.5s; operacja zapisu  5s )???
-planista CFQ nie stosuje przewidywania. N
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, N
-obiekty zawierające informacje o obszarach pamięci są umieszczone jednocześnie w dwóch różnych
strukturach danych, T
-sekcje tekstu tworzone są nie tylko dla procesów, ale również dla bibliotek współdzielonych, T
-deskryptor pamięci przechowuje adres startowy i końcowy obszaru argumentów wywołania
programu, T
-deskryptory pamięci nigdy nie są współdzielone przez procesy (wątki) użytkownika.N
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, T
-NAPI nigdy nie pozwala na sygnalizowanie odbioru pakietu za pomocą przerwania, N
-przenoszenie bufora pakietu między kolejkami jest czasochłonne, N
-funkcje związane z filtrem sieciowym mogą "wykradać" niektóre pakiety, aby przetworzyć je w inny
sposób niż pozostałe, T
-w filtrze sieciowym, z pojedynczym uchwytem nie może być skojarzona więcej niż jedna funkcja
przetwarzająca. N


Wyszukiwarka

Podobne podstrony:
lab pyt odp
rcd pyt odp
pyt odp
Bud Morskie pyt odp
pyt i odp na kulkę (cz 1)
konstal pyt odp burz
spoleczna pyt odp
Pyt i odp
Pyt i odp wyk 5 9
sztuka negocjacji pyt odp v 2
Pyt i odp
pyt i odp
Nawigacja satelitarna pyt&odp
TI Zaliczenie pyt i odp 2014
Pyt odp 15
uiss zerowka 11 pyt i odp

więcej podobnych podstron