1. Określ, które informacje odnośnie zarządzania procesami w Linuksie 3.0 i nowszych są prawdziwe:
NIE-deskryptor procesu jest umieszczony na dnie jego stosu w jądrze systemu,
TAK-makrodefinicja "current" zwraca adres deskryptora bieżącego procesu,
NIE-proces w stanie TASK_UNINTERRUPTIBLE może być ustawiony w stanie gotowości przez dowolny sygnał, który otrzyma,
NIE-proces zakończony ma stan TASK_STOPPED,
NIE-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:
TAK-proces, który jest gotów do wykonania znajduje się w stanie TASK_RUNNING,
NIE-wątki w Linuksie są tworzone za pomocą innego wywołania systemowego niż procesy,
TAK-proces "init" może zostać nowym rodzicem procesu, którego proces macierzysty już się zakończył,
NIE-w trakcie tworzenia nowy proces otrzymuje osobny obszar tekstu i danych,
TAK-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:
TAK-nowy kwant czasu dla procesu jest ustalany dopiero wtedy, gdy wszystkie procesy w systemie wyczerpią swoje kwanty,
TAK-kolejka procesów gotowych zawiera wskaźniki na dwie tablice priorytetów,
TAK-każdy procesor ma swoją kolejkę procesów gotowych,
NIE-priorytet zwykłych procesów jest ustalany wyłącznie na podstawie stopnia ich interaktywności,
NIE-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:
NIE-każdy nowo utworzony proces otrzymuje taki sam kwant czasu, jaki ma jego rodzic,
TAK-zadanie o dużym stopniu interaktywności może, po wyczerpaniu swojego kwantu czasu, ponownie trafić do tablicy priorytetów aktywnych,
TAK-proces użytkownika może być wywłaszczony w ramach powrotu z wywołania systemowego lub procedury obsługi przerwania,
TAK-implementacja funkcji przełączającej kontekst ("context_switch()") zależy od architektury platformy sprzętowej, na której działa Linux,
NIE-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:
TAK-priorytety procesów są prawie niezmienne,
NIE-klasa szeregowania SCHED_BATCH jest obsługiwana za pomocą algorytmu rotacyjnego,
NIE-waga procesu jest odwrotnością wartości jego priorytetu,
NIE-zegar wirtualny jest wprost implementowany w jądrze Linuksa,
TAK-kolejka procesów gotowych jest zrealizowana w postaci drzewa czerwono-czarnego.
6. Określ, które informacje o planiście CFS są prawdziwe:
TAK-czas fizyczny jest mierzony z dokładnością nanosekundową,
TAK-dla procesów z priorytetem równym 0 czas wirtualny jest taki sam jak czas fizyczny,
NIE-czas wybierania procesów przez planistę CFS jest zawsze krótszy w porównaniu z analogicznym czasem dla planisty O(1),
TAK-czas wirtualny procesu zależy od jego wagi,
NIE-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:
NIE-wszystkie funkcje z biblioteki "libc" korzystają z wywołań systemowych,
TAK-wywołania systemowe mogą nie przyjmować żadnych argumentów,
TAK-każde wywołanie systemowe zwraca wartość stanowiącą kod jego wykonania,
NIE-zazwyczaj wywołania systemowe implementowane są w postaci funkcji napisanych w assemblerze,
NIE-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:
TAK-adresy wszystkich zarejestrowanych wywołań systemowych są przechowywane w specjalnej tablicy,
NIE-kod funkcji implementującej wywołanie systemowe może być umieszczony w module,
NIE-dodawanie nowych wywołań systemowych jest zalecaną przez programistów jądra Linuksa praktyką,
TAK-część procesorów wymaga, aby argumenty do funkcji implementujących wywołania systemowe były przekazywane wyłącznie przez stos,
TAK-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:
TAK-procedury obsługi przerwań w Linuksie są funkcjami napisanymi w języku C,
TAK-procedury obsługi przerwań są wykonywane w kontekście przerwania,
TAK-procedury obsługi przerwań są wywoływane w sposób asynchroniczny,
TAK-linie zgłaszania przerwań (IRQ) mogą być współdzielone,
TAK-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:
NIE-większość procedur obsługi przerwań korzysta z makrodefinicji "current",
NIE-stos z którego korzystają procedury obsługi przerwań ma nieograniczoną wielkość,
NIE-wszystkie procedury obsługi przerwań wymagają wyłączenia wszystkich linii zgłaszania przerwań na czas ich wykonywania,
NIE-w komputerach klasy PC wszystkie numery przerwań są przydzielane statycznie,
NIE-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:
TAK-całkowita liczba przerwań programowych jest ograniczona,
NIE-przerwania programowe są wykonywane w kontekście procesu,
NIE-tasklety są wykonywane w kontekście procesu,
NIE-czynności z kolejek prac są wykonywane w kontekście przerwania,
NIE-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:
TAK-przerwania programowe są alokowane statycznie podczas kompilacji jądra,
TAK-można określić minimalny czas o jaki zostanie opóźnione wykonanie czynności w kolejkach prac,
NIE-te same tasklety mogą być wykonywane współbieżnie na platformach wieloprocesorowych,
NIE-wątek "ksoftirqd" odpowiedzialny jest zarówno za obsługę przerwań programowych, jak i kolejek prac,
TAK-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:
NIE-funkcje realizujące operacje niepodzielne na liczbach całkowitych działają na zmiennych typu "int",
NIE-niepodzielne operacje na bitach przeprowadzane są za pomocą tych samych funkcji co niepodzielne operacje na liczbach całkowitych,
TAK-rygle pętlowe wprowadzają wątki oczekujące na ich zwolnienie w stan aktywnego oczekiwania,
NIE-zwykły rygiel pętlowy może być przetrzymywany przez kilka wątków jednocześnie,
TAK-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:
TAK-rygiel pętlowy czytelnika może być jednocześnie przetrzymywany przez więcej niż jeden wątek wykonania,
NIE-semafory mogą być stosowane w procedurach obsługi przerwań,
TAK-semafor nie może być przetrzymywany przez wątek, który już przetrzymuje rygiel pętlowy,
TAK-stosowanie blokady BKL nie jest zalecane,
NIE-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:
NIE-zegar czasu rzeczywistego (RTC) jest okresowo odczytywany przez jądro systemu,
TAK-liczbę taktów zegara od uruchomienia systemu przechowuje zmienna "jiffies",
TAK-częstotliwość zegara systemowego jest określona stałą "HZ",
NIE-implementacja procedury obsługi przerwania zegarowego jest całkowicie niezależna od sprzętu,
NIE-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:
NIE-liczniki niskiej rozdzielczości są cykliczne,
TAK-mechanizm liczników wysokiej rozdzielczości korzysta z drzewa czerwono-czarnego,
NIE-liczniki wysokiej rozdzielczości mogą być cykliczne
TAK-funkcje związane z licznikami niskiej rozdzielczości wykonywane są w kontekście przerwania,
NIE-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:
TAK-Linux obsługuje systemy wieloprocesorowe o organizacji NUMA,
NIE-domyślnie Linux przydziela pamięć ze strefy DMA (ZONE_DMA),
NIE-podstawowym mechanizmem sprzętowym wykorzystywanym przez Linuksa do obsługi pamięci jest segmentacja,
TAK-nie we wszystkich platformach sprzętowych musi występować strefa pamięci wysokiej (ZONE_HIGHMEM),
NIE-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:
TAK-niskopoziomowy mechanizm obsługi pamięci działa w oparciu o algorytm bliźniaków,
TAK-adresowanie stron w Linuksie jest domyślnie czteropoziomowe,
NIE-alokator plastrowy wykorzystuje do własnych celów dedykowane pamięci podręczne,
TAK-alokator plastrowy jest rozwiązaniem zapożyczonym z systemu operacyjnego firmy Sun Microsystems,
TAK-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:
NIE-VFS napisany jest w języku C++,
TAK-obiekt superbloku może być stosowany w obsłudze systemów plików, które nie mają fizycznej implementacji,
NIE-obiekty i-węzłów związane są wyłącznie z fizycznymi plikami,
TAK-niektóre nieuniksowe systemy plików nie posiadają wszystkich informacji, które muszą być umieszczone w obiekcie i-węzła,
NIE-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:
NIE-obiekt wpisu katalogowego, który nie jest w użyciu, ale któremu odpowiada prawidłowy i-węzeł, jest w stanie ujemnym,
TAK-obiekty wpisu katalogowego, które są w stanie ujemnym, nie są niszczone, jeśli nie zachodzi taka potrzeba,
NIE-obiekty plików związane są ze wszystkimi plikami zapisanymi w systemie plików,
TAK-pamięć na obiekty wpisów katalogowych jest przydzielana i zwalniana przez alokator plastrowy,
TAK-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:
NIE-urządzenia obsługiwane przez Linuksa są wyłącznie urządzeniami fizycznymi,
NIE-w komputerach klasy PC kontroler jest zawsze częścią struktury sprzętowej łączącej szynę wejścia-wyjścia z urządzeniem,
TAK-rejestr może pełnić więcej niż jedną funkcję,
TAK-numer główny identyfikuje sterownik obsługujący urządzenie lub grupę urządzeń,
TAK-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:
TAK-sterownik urządzenia może być dołączony do systemu w postaci modułu,
TAK-sterowniki urządzeń znakowych korzystają z niektórych struktur związanych z wirtualnym systemem plików (VFS),
NIE-programista piszący sterownik urządzenia znakowego musi oprogramować metody obiektu i-węzła,
TAK-metody obsługujące urządzenia znakowe muszą działać według określonego protokołu,
NIE-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:
NIE-wielkość bloku w Linuksie jest nieograniczona,
TAK-każdy bufor zawsze jest związany z blokiem na nośniku danych,
NIE-bufory są wykorzystywane wyłącznie do przechowywania danych odczytanych z nośnika urządzenia blokowego,
TAK-każdy z buforów wyposażony jest w nagłówek zawierający dane niezbędne do zarządzania nim,
TAK-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:
TAK-struktury "bio" reprezentują operacje wejścia-wyjścia podczas ich trwania,
NIE-wielkość segmentu jest zawsze równa wielkości bufora,
TAK-struktury "bio" ułatwiają realizację operacji wejścia-wyjścia o rozproszonym źródle,
NIE-planista terminowy przydziela domyślnie dłuższy termin realizacji operacji odczytu niż operacji zapisu,
NIE-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:
NIE-wszystkie wątki jądra korzystają z jednego, wspólnego dla nich deskryptora pamięci,
TAK-obiekty zawierające informacje o obszarach pamięci są umieszczone jednocześnie w dwóch różnych strukturach danych,
TAK-sekcje tekstu tworzone są nie tylko dla procesów, ale również dla bibliotek współdzielonych,
TAK-deskryptor pamięci przechowuje adres startowy i końcowy obszaru argumentów wywołania programu,
NIE-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:
TAK-jądro wykonuje czynności związane z obsługą warstwy łącza, sieci i transportowej modelu ISO/OSI,
TAK-NAPI nigdy nie pozwala na sygnalizowanie odbioru pakietu za pomocą przerwania,
NIE-przenoszenie bufora pakietu między kolejkami jest czasochłonne,
TAK-funkcje związane z filtrem sieciowym mogą "wykradać" niektóre pakiety, aby przetworzyć je w inny sposób niż pozostałe,
NIE-w filtrze sieciowym, z pojedynczym uchwytem nie może być skojarzona więcej niż jedna funkcja przetwarzająca.
Wyszukiwarka
Podobne podstrony:
SO2 App ?za4SO2 App ?za2pytania(Chrobot)SO2 App ?za3Religia Pytania o latarnię mojego sercaPytania z witamin Siemianpytania2009cz1 testPKC pytania na egzamin2009 pytania testowepytania byrdy I terminpatomorfologia pytania egzamin opisowyPIK PYTANIApytaniapytania rynek finansowy egzaminexamin C inne pytania 2więcej podobnych podstron