Final Exam OPRACOWANE PYTANIA


SYSTEMY CZASU RZECZYWISTEGO 2009/2010

1. (systemy wbudowane) Które z poniższych zdań jest prawdziwe?

Systemy wbudowane są to specjalizowane komputery, będące integralną częścią pewnego urządzenia. Przykładem takich urządzeń są urządzenia elektroniczne powszechnego użytku, komputery pokładowe. W systemach wbudowanych oprogramowanie tworzone jest na tak zwanym komputerze macierzystym (ang. host), a wykonywane na komputerze docelowym (ang. target). Target zawiera tylko takie zasoby, które konieczne są do realizacji bieżących zadań

2. Przykłady komercyjnych systemów operacyjnych czasu rzeczywistego to:

- Solaris, producent: Sun Microsystems

- LynxOS, producent: Lynux Works

- VxWorks, producent: Wind River Systems

- QNX Neutrino, producent: QNX Software Systems

- RT Linux, producent: Open Source

- Windows CE, producent: Microsoft

- eCOS, producent: Open Source

3. W dziedzinie systemów czasu rzeczywistego, obecnie najszerzej stosowanym standardem jest:

POSIX 1003

4. QNX6 Neutrino jest:

QNX Neutrino jest systemem operacyjnym czasu rzeczywistego.

5. System wbudowany (def.) to:

System wbudowany jest to system komputerowy będący częścią większego systemu i wykonujący istotną część jego funkcji. Przykładem może być komputer pokładowy samolotu lub system sterujący szybką koleją miejską.

6. Które ze zdań (dotyczących systemu rozwoju oprogramowania w systemach czasu rzeczywistego) jest prawdziwe:

Prawdopodobnie:

Na komputerze macierzystym pracującym pod kontrolą system operacyjnego 1 jest zainstalowany system tworzenia oprogramowania. System ten obejmuje takie narzedzia jak: edytor, kompilator, linker, biblioteki, debugger, symulatory, narzędzia do tworzenia dokumentacji. Utworzona w nim aplikacja jest wykonywana na komputerze docelowym, który może pracować pod kontrolą innego system operacyjnego. Na komputerze docelowym można dokonać programowania pamięci trwałe komputera docelowego.

7. W komputerach przeznaczonych do zastosowań wbudowanych brak jest:

str. 11-12

Brak jest klawiatury, monitora, dysków, elementów ruchomych (dyski obrotowe, wentylatory, napędy dyskietek).

8. Do najbardziej znanych standardów dotyczących komputerów przeznaczonych do systemów sterujących i wbudowanych należą:

9. W komputerach przeznaczonych do systemów wbudowanych występuje tzw. budzik (ang. watchdog), który jest urządzeniem zabezpieczającym przed:

Budzik jest urządzeniem zabezpieczającym przez skutkami zatrzymania wykonywania programów, które może nastąpić przy awarii sprzętu lub błędzie programowym.

10. Budzik występujący w komputerach przeznaczonych do systemów wbudowanych, jest w stanie:

(ang. - watchdog) jest wsparciem sprzętowym dla osiągnięcia niezawodnej pracy. Jest on w stanie wykonać sprzętowy restart systemu w wypadku, gdy zostanie przekroczony ustalony czas oczekiwania na odpowiedź systemu (zawieszenie programu)

11. System czasu rzeczywistego jest (def.) to:

System czasu rzeczywistego to system komputerowy, w którym obliczenia są prowadzone równolegle z przebiegiem zewnętrznego procesu, mają na celu nadzorowanie, sterowanie lub terminowe reagowanie na zachodzące w tym procesie zdarzenia.

12. Ile rodzajów ograniczeń czasowych jest wyróżnianych w systemach czasu rzeczywistego (w związku z różnymi skutkami niespełnienia ograniczeń czasowych):

Wyróżniamy 2 rodzaje:

  1. Rygorystyczne ograniczenia czasowe

  2. Łagodne ograniczenia czasowe

13. Choćby jednorazowe przekroczenie ograniczenia czasowego powoduje jego niespełnienie. Mowa o ograniczeniu:

Mowa o ograniczeniu rygorystycznym.

14. Które z wymienionych pojęć nie stanowi atrybutu wiarygodności systemu RT?

Atrybuty wiarygodności:

15. Sytuację, w której system operacyjny pozwala na efektywne wykorzystywanie mocy obliczeniowej procesorów poprzez udostępnienie ich dla wielu użytkowników, procesów i wątków nazywa się:

Współbieżnością.

16. Komunikacja pomiędzy programami aplikacyjnymi a systemem operacyjnym odbywa się poprzez:

Poprzez wywołania programowe (ang. system calls), które mają postać funkcji lub procedury.

17. Które z rozszerzeń standardu POSIX obejmują wątki:

W sumie to prawie wszystkie dotyczą w jakimś sensie wątków.

18. (R3) System QNX Neutrino jest systemem:

System QNX Neutrino jest systemem z mikrojądrem. Zbudowany jest on z modułu zwanego mikrojądrem i zbioru procesów systemowych realizujących usługi (szeregowanie; obsługa urządzeń, pamięci wirtualnej i komunikacji) na rzecz procesów aplikacyjnych.

19. Mikrojądro jest:

Mikrojądro jest modułem programowym (nie jest procesem), który stwarza ramy, w których procesy mogą istnieć. Zapewnia też podstawowe funkcje związane z obsługą przerwań, komunikacją międzyprocesorową, szeregowaniem wątków i ich synchronizacją.

20. Wymień cztery główne zalety systemów o architekturze mikrojądra nad systemami monolitycznymi:

1) Niezależne szeregowanie procesów systemowych

2) Modularność

3) Wzajemna izolacja procesów

4) Możliwość dynamicznego uruchamiania procesów systemowych

21. Przesłanie komunikatu pomiędzy procesami jest:

Przesłanie komunikatu pomiędzy procesami jest przesłaniem pomiędzy nimi pewnej liczby bajtów według ustalonego protokołu. Przesłanie komunikatu jest operacją atomową.

22. W skład mechanizmów komunikacji międzyprocesowej zawartych w mikrojądrze systemu QNX Neutrino wchodzą:

1) Komunikaty i impulsy - (ang. messages, pulses)

2) Sygnały - (ang. signals)

3) Zegary - (ang. clocks)

4) Czasomierze - (ang. times)

5) Procedura obsługi przerwań - (ang. interrupt handlers)

6) Semafory - (ang. semaphores)

7) Blokada wzajemnego wykluczania - muteksy (ang. mutual exclusion lock)

8) Zmienne warunkowe - (ang. conditional variables)

9) Bariery - (ang. barriers)

23. W systemie QNX Neutrino, administrator zasobu jest:

Administratory zasobu (serwery zasobu) [ang. resource manager] - zapewnią jednolity dostęp do różnego rodzaju urządzeń (urządzenia rzeczywiste- dyski, porty szeregowe, porty równoległe, itp. lub wirtualne - sieciowy system plików, pseudoterminal).

Administrator zasobu jest procesem serwerowym, który akceptuje komunikaty od innych procesów . W szczególności obsługuje zlecenia klientów odnoszące się do abstrakcji pliku (abstrakcja pliku → można przeprowadzać operacje tj. otwarcie, odczyt, zapis, zamknięcie, zmianę bieżącej pozycji, ustawienie praw dostępu).

24. W systemie QNX Neutrino, „procnto” jest:

Procnto jest procesem systemowym systemu QNX Neutrino zarządzającym pamięcią, wątkami i procesami.

25. Do najważniejszych systemów plików dostępnych w systemie QNX6 Neutrino należą:

1) Bezpośredni system plików

2) System plików RAM

3) System plików QNX4

4) System plików DOS

5) System plików CD-ROM

6) System plików FFS3

7) Sieciowy system plików NFS

8) Sieciowy system plików CIFS

9) System plików Ext2

10) Wirtualny system plików

26. W systemie QNX Neutrino, „QNet” jest:

QNet jest wewnętrznym protokołem przekazywania komunikatów, który dla pracy lokalnej i sieciowej pozostaje zasadniczo taki sam. Jest on fundamentem dla systemu QNX Neutrino. Protokół ten umożliwia jednolitą metodę dostępu do zasobów tak lokalnych, jak i zdalnych. QNet zapewnia transmisję komunikatów przez sieć.

27. Aplikacje dla QNX6 Neutrino tworzone są w środowisku:

Aplikacje mogą być tworzone w środowiskach systemów QNX6 Neutrino, Windows (NT, 2000, XP), Linux, Solaris SPARC. Narzędziem do tworzenia takich aplikacji jest Momentics Development Suite firmy QNX Software.

28. (R4) Do plików specjalnym w QNX6 Neutrino zaliczamy:

Łącza symboliczne, kolejki FIFO, bloki pamięci, urządzenia blokowe i znakowe.

29. Symbolicznym oznaczeniem prawa wykonania pliku jest:


x

30. W systemie QNX Neutrino, poleceniem do listowania zawartości katalogu jest:

Polecenie „ls”. Składnia polecenia jest następująca ls [-l] [nazwa] gdzie:

l - listowanie w „długim” formacie, wyświetlane są atrybuty pliku

nazwa - nazwa katalogu lub pliku.

Gdy nazwa określa pewien katalog, to będzie wyświetlana jego zawartość. Gdy nazwa katalogu zostanie pominięta wyświetlana jest zawartość katalogu bieżącego.

Gdzie jest pytanie 31?

32. Które z poleceń służy do listowania zawartości pliku tekstowego:

Można do tego celu użyć też innych narzędzi, np. edytora vi, edytora pod, edytora wbudowanego w program Midnight Commander.

33. Polecenie „hogs” pozwala uzyskać informacje o:

wykorzystaniu procesora przez procesy (jest to informacja o stanie systemu)

34. Kompilując program z poziomu edytora w systemie QNX6 Neutrino, używamy polecenia:

gcc nazwa_pliku -o nazwa_pliku

35. (R 5) Program jest to:

Program jest zapisem algorytmu wraz ze strukturami danych, na których algorytm ten operuje. Program jest strukturą statyczną zapisaną na jakimś nośniku.

36. Które z poniższych stwierdzeń opisujących co to jest proces jest prawdziwe:

Proces jest wykonującym się programem. To aktywna struktura dynamiczna istniejąca tylko w środowisku działającego komputera.

37. Aby proces mógł się wykonywać, potrzebne są co najmniej takie zasoby sprzętowe jak:

38. W komputerach jednoprocesorowych, procesy wykonywane są:

39. Podstawowym mechanizmem umożliwiającym podział czasu pracy procesora są:

40. ISR oznacza:

Oznacza procedurę obsługi przerwania. Inna sekwencja instrukcji zostaje wykonywana po chwilowym wstrzymaniu wykonywanego ciągu instrukcji. Po zakończeniu procedury przerwany ciąg instrukcji jest zwykle wznawiany.

41. Przerwanie jest to:

42. W systemie QNX6 Neutrino szeregowaniem zajmuje się:

43. W systemie QNX6Neutrino procesy są wykonywane kolejno przez zadany kwant czasu, zgodnie z kolejnością wyznaczoną przez:

44. Kontekst procesu to:

[DEF] Kontekst procesu to wszystkie informacje potrzebne do wznowienia zawieszonego wcześniej programu.

W szczególności należy zachować takie informacje, które nowy proces zamazuje. W skład kontekstu wchodzą rejestry procesora, w tym licznik rozkazów.

45. Do niezbędnych zasobów pamięciowych procesów zaliczamy:

  1. Segment kodu - (ang. code segment) segment pamięci, w którym są przechowywane instrukcje kodu maszynowego procesu.

  2. Segment danych - (ang. data segment) segment pamięci, w którym są przechowywane dane statyczne procesu (dane te istnieją poprzez cały czas istnienia procesu)

  3. Segment stosu (ang. stack segment) segment pamięci, w którym są przechowywane dane chwilowe procesu (zmienne lokalne procedur, parametry procedur).

  4. Deskryptor procesu - (ang. process descriptor) rekord, w którym w którym system operacyjny utrzymuje wszystkie informacje niezbędne do zarządzania procesem.

46. Przykładowe informacje zawarte w deskryptorze to:

47. Deskryptor procesu to:

[DEF] Dekskryptor procesu to rekord w pamięci operacyjnej zawierający wszystkie informacje potrzebne do administrowania procesami

48. Ile jest kanonicznych stanów procesu w systemie QNX6 Neutrino?

3 (wykonywany, gotowy, zablokowany)

49. Które z opisu wątku jest prawdziwe:

50. Które z poniższych zasobów procesu są wspólne dla wszystkich istniejących w jego ramach wątków?

51. Które spośród przejść pomiędzy podstawowymi stanami procesów nie jest możliwe?

Rys 5.19, str 70. Stany zawsze przechodzą od dowolnego stanu do stanu ready i odwrotnie . Wyjątkami od tej reguły są stany:

1) send -> reply

2) condvar -> mutex

Nie są możliwe przejścia:

1) ready->reply

2) ready->mutex

52. W przestrzeni adresowej wątków wykonywanych w ramach jednego procesu znajdują się:

53. Procedura szeregująca może być uaktywniona gdy:

Gdy następuje w przejście w tryb pracy jądra, co ma miejsce w następujących przypadkach:

  1. Wystąpiło przerwanie sprzętowe

  2. Wystąpiło przerwanie wewnętrzne (wątek)

  3. Proces bieżący wykonał wywołanie sprzętowe

W szczególności szeregowanie jest powoływane, gdy zmienia się stan wątku bieżącego.

  1. Wątek bieżący się blokuje

  2. Wątek bieżący jest wywłaszczany

  3. Wątek bieżący samoistnie zwalnia procesor

54. Ze względu na regularność, wyróżnia się następujące rodzaje procesów i wątków synchronicznych:

 

 

55. Każdy z procesów w QNX6 Neutrino ma przyporządkowany priorytet, który jest liczbą:

 

Jest liczbą od 0 do 255.

 

Priorytet 0 - ma proces jałowy

Priorytet 1… 63 - mają procesy nienależące do użytkownika root

Priorytet 1… 255 - mają procesy należące do użytkownika root

 

56. Ile strategii szeregowania jest dostępnych w systemie QNX6 Neutrino?

 

Dostępne są 3 strategie szeregowania:

  1. Szeregowanie karuzelowe

  2. Szeregowanie FIFO

  3. Szeregowanie sporadyczne

 

57. Które spośród dostępnych szeregowań jest domyślnym?

 

Domyślne jest szeregowanie karuzelowe.

58. (R6) Funkcje fork, exec i spawn:

59. Funkcja sched_setparam służy do:

- ustawienia parametrów szeregowania

Składnia: int sched_setparam(pid_t pid, struct sched_param *par)

pid- PID testowanego procesu lub ) dla procesu bieżącego

par - struktura, której elementami są pola określające priorytet

Funkcja zwraca 0, gdy sukces, -1 w przypadku wystąpienia błędu.

60. Podczas wykonania polecenia „int pid = getpid();”:

- ma miejsce deklaracja zmiennej pid typu integer oraz definicja jej wartości z wykorzystaniem funkcji getpid(), służącej do pobrania identyfikatora procesu bieżącego. Innymi słowy: funkcja getpid() pobiera identyfikator procesu (PID) bieżącego i przypisuje go do zmiennej pid typu integer.

61. Podczas wywołania „par.sched_priority = 9;”:

- definicja pola sched_priority struktury par wartością 9.

- par to struktura, której elementami są pola określające priorytet

- pole sched_priority podaje jaki priorytet został ustawiony przy starcie procesu

62. W zapisie „main(int argc, char * arg[])”, „arg[]” jest:

- tablicą wskaźników do łańcuchów zawierających parametry programu

63. Który z parametrów funkcji spawn określa tryb wykonania procesu:

- pierwszy tzn. int mode, który może mieć następujące warianty: P_WAIT, P_NOWAIT, P_OVERLAY, P_NOWAITO

- Składnia: pid_t spawn (int mode, char *path, arg0, arg1,…, argN, NULL)

64. Która z wywołań tworzy kopię procesu bieżącego:

- wykorzystuje się do tego funkcję fork().

- przykładowo: a=fork() - kopia procesu bieżącego

65. Ze składni “pid_t spawnl (int mode, char * path, arg0, arg1, …, argN, NULL) wynika, że:

Nie bardzo wiadomo, co tu może się kryć w odpowiedziach wiec:

spawnl - funkcja tworzy nowy proces

składnia:

pid_t spawnl (int mode, char * path, arg0, arg1, …, argN, NULL

mode - tryb wykonania procesu: P_WAIT, P_NOWAIT, P_OVERLAY, P_NOWAITO

path - ścieżka z nazwą pliku wykonywalnego

arg0, arg1, ..., argN - argumenty przekazane do funkcji main tworzonego procesu

NULL - wskazanie, że lista argumentów jest już zakończona

66. (R7) Tworzenie wielu wątków w obrębie procesu umożliwia:

- funkcja pthread_create.

Funkcja tworzy nowy wątek, którego kod znajduje się w funkcji podanej jako argument func(). Wątek jest uruchamiany z parametrem arg, a informacja o wątku jest umieszczana w strukturze thread.

67. Gdy jeden z procesów(moim zdaniem chodzi o wątki - M. Zając) zmieni wartość pewnej zmiennej, zmienna ta:

a) procesy - każdy proces tworzy zmienne, które są widzane tylko w jego obrębie, możliwe jest jedynie przesyłanie wartości tych zmiennych za pomocą komunikatów

b) wątki - … będzie miała wartość ostatnio ustawioną. Zjawisku temu zapobiegamy blokując mutex

68. Zestaw funkcji operujących na wątkach jest zdefiniowany w bibliotece:

- pthreads (ang. posix threads)

- prototypy operujących na wątkach funkcji są zawarte w pliku nagłówkowym <pthread.h>

69. Do czego służy funkcja „pthread_create()”?

Funkcja tworzy nowy wątek, którego kod znajduje się w funkcji podanej jako argument func(). Wątek jest uruchamiany z parametrem arg, a informacja o wątku jest umieszczana w strukturze thread.

70. W wywołaniu „int pthread_create( pthread_t *thread, pthread_attr_t *attr, void (* func) (void *), *arg)”:

składnia:

int pthread_create(pthread_t *thread, pthread_attr_t *attr, void (* func) (void *), *arg)

thread - identyfikator wątku - wartość jest nadawana przez system operacyjny i służy do identyfikacji wątku

attr - atrybuty wątku, gdy NULL, przyjęte są wartości domyśle; struktura ta podaje różne szczegóły określające wykonanie wątku

func- wskaźnik do funkcji określającej kod wątku; jest to funkcja typu vpid* (*) (void*)

arg - argument przekazywany jako parametr do wątku; jest on typu void*

Funkcja zwraca 0 gdy sukces i -1 dla błędu.

71. Napisz dowolny kod tworzący i wykonujący nowy wątek. Zaznacz miejsce, w którym nowy wątek jest tworzony.

Napisz dowolny kod tworzący i wykonujący nowy wątek. Zaznacz miejsce, w którym nowy wątek jest tworzony.

#include <pthread.h>

#include <stdiolib.h>

void * kod(void *arg){

printf(''Mienso'');

return(NULL);

}

int main(int argc,char *argv[]){

int tid;

pthread_create(&tid,NULL,kod,NULL); ------------------------- tworzony nowy wątek

printf(''Mienso w glownym'');

return 0;

}

72. Informacje o wątkach wykonywanych w ramach procesu można uzyskać za pomocą polecenia:

pidin -p nazwa_procesu

74. Łącza nienazwane tworzy się poprzez funkcję:

pipe()

75. (Pozostałe) Uzupełnij zdanie (2.1):

W systemach wbudowanych, oprogramowanie jest tworzone na tzw. komputerze macierzystym (ang. host), a wykonywane na komputerze docelowym (ang. target). W takim przypadku, jest stosowany system skrośnego rozwoju oprogramowania (ang. cross development).

76. Zinterpretuj kod ustawiający atrybuty dołączalności wątku - dopasuj akcję do wywołania według wzoru:

void *kod(void *data){

1

return (void *) cos

2

}

main void {

3

pthread_t thr;

4

pthread_attr_t attr

5

int status;

6

pthread_attr_init(&attr);

7

pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_JOINABLE);

8

pthread_create(&thr, &attr, kod, 0);

9

pthread_join(thr,(void**) &status);

10

pthread_attr_destroy(&attr);

11

}

Deklaracja funkcji kod

1

Funkcja kod zwraca cos (voidowe)

2

inicjacja funkcji main

3

Deklaracja zmiennej thr typu pthread_t

4

Deklaracja zmiennej attr typu phtread_attr_t

5

Deklaracja zmiennej status typu int

6

Inicjalizacja zmiennej attr

7

Ustawienie dołączalności w atrybucie attr

8

Stworzenie wątku kod z atrybutami ze zmiennej attr

9

Czekanie na zakończenie wątku

10

Zniszczenie zmiennej attr- zwolnienie zasobów zajmowanych przez zmienną attr

11



Wyszukiwarka

Podobne podstrony:
Bud Dr+-g - egzain 2 - opracowane pytania, 6 new BDiA, Exam
Budowa Dróg - opracowane pytania, 6 new BDiA, Exam
Final Exam PYTANIA
haran egzamin opracowane pytania
Opracowane pytania BiUD
prawo opracowane pytania egzamin id 3
patomorfologia opracowane pytania opisowe egzamin
1.Rodzaje i geneza gruntów budowlanych, Opracowane pytania na egzamin
opracowane pytania MSI (1), Studia Zarządzanie PWR, Zarządzanie PWR I Stopień, V Semestr, Modelowani
opracowane pytania od Kolonki II(2)
POSTEPOWANIE EGZEKUCYJNE OPRACOWANE PYTANIA (1)
opracowane pytania metodologia III cz
opracowane pytania)
ściąga opracowane pytania z pierwszego koła
Gospodarowanie opracowane pytania
OPRACOWANE PYTANIA NA KOLOKWIUM
14 OGÓLNE OPRACOWANIE PYTANIA OGÓŁid334
Opracowane pytania na mechanikę płynów

więcej podobnych podstron