background image

Pytania na zaliczenie z przedmiotu „Systemy operacyjne czasu 

rzeczywistego” 

 
1.  Jakie właściwości powinien posiadać system, aby można go było nazwać systemem czasu 

rzeczywistego. 
-System czasu rzeczywistego RTS (ang. Real Time System) to taki system, którego wynik 
przetwarzania  zależy  nie  tylko  od  jego  logicznej  poprawności,  ale  także  od  chwili,  w 
której taki wynik się pojawi.  
-Systemy  czasu  rzeczywistego  są  stosowane  wszędzie  tam,  gdzie  konieczna  jest  bieżąca 
reakcja na sygnały płynące z zewnętrznego świata. 

2.  Objaśnij rolę systemu operacyjnego w systemie komputerowym. 

acyjnego to:  

- implementacja współbieżności - procesów i wątków;  
- zarządzanie urządzeniami wejścia-wyjścia;  
- implementacja pamięci wirtualnej;  
- implementacja systemu plików;  
- implementacja protokołów komunikacyjnych;  
- implementacja interfejsu z użytkownikiem;  
- zapewnienie bezpieczeństwa.  
Tak  więc  system  operacyjny  pozwala  na  efektywne  wykorzystanie  mocy  obliczeniowej 
procesorów  poprzez  umożliwienie  współbieżnego  ich  wykorzystania  przez  wielu 
użytkowników, wiele procesów i wątków. 

3.  Podaj wymagania funkcjonalne na system operacyjny czasu rzeczywistego. 

Wymagania funkcjonalne na system operacyjny czasu rzeczywistego  
1. Determinizm.  
2. Wysoka reaktywność (ang. Responsivenees).  
3. Wysoki stopień kontroli użytkownika nad pracą systemu.  
4. Wysoka wiarygodność świadczonych usług, zdolność do tolerowania awarii.  
5. Małe zapotrzebowanie na zasoby.  
6. Prosta konstrukcja i dobra dokumentacja.  
7. Wsparcie dla różnych platform sprzętowych.  
8. Dobre wsparcie od dostawcy i stabilna pozycja na rynku. 

4.  Porównaj architekturę systemu operacyjnego monolitycznego i systemu QNX. 

 

Struktura systemu monolitycznego 

background image

 

Struktura systemu QNX 6 

5.  Jaka jest struktura mikrojądra systemu QNX i funkcje mikrojądra? 

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

 

Struktura mikrojądra 
 
 Funkcje: 
1.  Implementacja  podstawowych  mechanizmów  komunikacji  międzyprocesowej: 
komunikatów, impulsów, zdarzeń, sygnałów.  
2. Implementacja funkcji synchronizacji wątków, takich jak muteksy, semafory, zmienne 
warunkowe, bariery, blokady, operacje atomowe.  
3. Szeregowanie - procesy i wątki są szeregowane przez mikrojądro zgodnie z dostępnymi 
algorytmami szeregowania: FIFO, karuzelowy, sporadyczny.  
4. Implementacja czasomierzy (ang. Timers).  
5. Obsługa przerwań. 

6.  Co jest podstawą komunikacji między procesami w systemie QNX? Objaśnij na rysunku 

transakcję wymiany komunikatu miedzy procesami. 
 
Definicja - Przesłanie komunikatu (ang. message passing)  
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ą. •  

background image

 
W  systemie  QNX6  Neutrino  mechanizm  przesyłania  komunikatów  pełni  fundamentalną 
rolę.  Przesyłanie  komunikatów  jest  zaimplementowane  na  poziomie  mikrojądra.  Proces 
wysyłający  komunikat  jest  nazywany  klientem,  a  proces  odbierający  komunikaty 
serwerem, (rysunek 

 

Przesłanie komunikatu składa się z trzech faz:  
1.  Wysłanie  komunikatu  od  procesu  klienta  do  serwera.  Proces  klienta  ulega 
zablokowaniu, a komunikat odblokowuje proces serwera (o ile był zablokowany).  
2. Serwer przetwarza komunikat i przesyła odpowiedź do klienta.  
3. Proces klienta po otrzymaniu odpowiedzi ulega odblokowaniu. 
Poszczególne fazy transakcji przesyłania komunikatu obrazuje rysunek. 

 

7.  Jaka jest rola administratorów zasobów w systemie QNX? Czym jest taki administrator z 

punktu widzenia systemu QNX? Czym jest zasób sprzętowy z punktu widzenia systemu 
QNX? 

Sterowanie  procesami,  wprowadzanie  ograniczeń  twardych;  administrator  jest 
procesem serwerowym, który akceptuje komunikaty od innych procesów; elementami 
które są zarządzane poprzez system operacyjny. 

8.  Jaka jest rola procesów systemowych w systemie QNX? Co to jest proces „procnto” i jaka 

jest jego rola w systemie QNX? 
Zarządzanie  procesami,  przekazywanie  komunikatów;  jest  to  proces  znajdujący  się 
najwyżej w hierarchii procesów, ‘’adoptuje” osierocone procesy. 

9.  Co to są pliki specjalne w systemie QNX? 

To inaczej urządzenie zewnętrzne widziane w QNX np. gniazdka, kolejki, semafory. 
10. Jakie  są prawa dostępu do pliku? Symboliczne oznaczenia praw dostępu do pliku są 

następujące: 

      r - Prawo odczytu (ang. read) 

w - Prawo zapisu (ang. write) 
x - Prawo wykonania (ang. execute) 

background image

11. Jak jest zbudowany system katalogów i plików w systemie QNX? Objaśnij pojęcie ścieżki 

absolutnej i relatywnej (względnej) pliku. 
System katalogów 

root, katalog główny, 

bin 

katalog zawierający zbiory wykonywalne systemu (polecenia), 

boot 

katalog zawierający narzędzia do wytwarzania obrazu systemu, 

dev 

pliki specjalne reprezentujące urządzenia fizyczne (dyski, konsole, terminale, napędy CD 

ROM, porty szeregowe, porty równoległe itp.), 
etc 

katalog zawierające zbiory inicjujące i konfiguracyjne systemu, 

usr 

katalog zawierający programy użytkowe, 

home 

katalog zawierający konta użytkowników, 

tmp 

katalog plików tymczasowych 

System plików 
1. Bezpośredni system plików  - system plików przeznaczony tylko do odczytu. Zawiera 
obraz systemu operacyjnego, pliki wykonywalne  i pliki danych. Stosowany  jest w wielu 
sterownikach wbudowanych. 
2.  System  plików  RAM  -  prosty  system  plików  pozwalający  na  zapis  i  odczyt  plików 
umieszczonych w pamięci RAM w katalogu /dev/shmem. System ten  jest utrzymywany 
przez  administratora  procesów  procnto.  Stosowany  w  sterownikach  do  przechowywania 
danych tymczasowych. 
3.  System  plików  QNX4  -  to  podstawowy  system  plików  pochodzący  z  wcześniejszej 
wersji  systemu.  Charakteryzuje  się  wysoką  odpornością  na  awarie,  wydajnością  i 
architekturą wielowątkową, a obsługiwany jest przez proces fs-qnx4.so. 
4.  System  plików  DOS  -  ten  system  plików  zapewnia  dostęp  do  dyskietek  i  dysków 
zapisanych w historycznym już formacie MS-DOS. System plików jest obsługiwany przez 
proces fs-dos.so. 
5. System plików CD-ROM - pozwala na dostęp do danych zapisanych na nośnikach CD-
ROM.  Obsługuje  format  ISO9660,  włączając  rozszerzenia  Rock  Ride,  Joliet  i  tryb 
multisesyjny. System ten jest obsługiwany przez proces fs-cd.so. 
6.  System  plików  FFS3  -  jest  przeznaczony  dla  pamięci  Flash  typu  NOR.  W  tym  typie 
pamięci  każdą  komórkę  daje  się  swobodnie  zapisywać  i  odczytywać.  W  tej  technologii 
wykonuje się m.in. pamięci Compact Flash i Smart Media (i inne tego typu karty pamięci 
m.in. do aparatów fotograficznych cyfrowych). System zawiera zabezpieczenia chroniące 
przed  utratą  integralności  w  przypadku  wyłączenia  zasilania  w  trakcie  operacji  zapisu. 
Stosowany jest w sterownikach wbudowanych 
7. Sieciowy system plików NFS - jest szeroko rozpowszechnionym sieciowym systemem 
plików.  Stacja  kliencka  może  sięgać  poprzez  sieć  do  plików  położonych  na  zdalnym 
serwerze.  System  oparty  jest  na  technologii  RPC  (ang.  Remote Procedures  Calls,  a  jako 
warstwę transportową stosuje protokół TCP/IP Procesem obsługującym NFS jest fs-nfs2 
lub fs-nfs3. 
8.  Sieciowy  system  plików  CIFS  -  jest  sieciowym  systemem  plików  wspieranym  przez 
Microsoft. Uprzednio system ten był określany jako SMB. Stacja kliencka może uzyskać 
dostęp poprzez sieć do systemów plików na serwerze pracującym  w systemie  Windows 
lub  Linux,  na  którym  uruchomiono  serwer  SMB.  Jako  warstwę  transportową 
wykorzystuje się protokół TCP/IP, a system jest utrzymywany przez proces fs-cifs 
9. System plików Ext2 - system ten jest używany przez Linuksa. Procesem obsługującym 
ten system plików jest fs-ext2.so. 
10.Wirtualny  system  plików  -  QNX6  Neutrino  implementuje  dwa  rodzaje  wirtualnych 
systemów plików. Pierwszym jest pakietowy system plików (ang. package file system), a 
drugim  inflator  obsługujący  pliki  skompresowane.  Pakietowy  system  plików  pozwala 
zindywidualizować  dostęp  do  plików  stosownie  do  potrzeb  klienta.  Inflator  umożliwia 

background image

dostęp  do  wcześniej  skompresowanych  plików,  np.  położonych  w  pamięci  Flash,  co 
prowadzi do oszczędności w użyciu tego zasobu. 
Ścieżka  absolutna  podaje  drogę,  jaką  trzeba  przejść  od  wierzchołka  drzewa  do  danego 
pliku.  Przykład ścieżki absolutnej to /home/juka/prog/hello.c. Ścieżka absolutna zaczyna 
się od znaku /. 
Ścieżka  relatywna  zaczyna  się  od  innego  znaku  niż  /.  Określa  ona  położenie  pliku 
względem  katalogu  bieżącego.  Po  zarejestrowaniu  się  użytkownika  w  systemie 
katalogiem  bieżącym  jest  jego  katalog  domowy.  Może  on  być  zmieniony  na  inny  za 
pomocą polecenia cwd. 

12. Podaj i objaśnij polecenia umożliwiające poruszanie się w drzewie katalogów? 

Nazwę katalogu bieżącego uzyskuje się, pisząc polecenie pwd. Na przykład: 
Cd nowy_katalog –zmiana katalogu 
cd.. -katalog wyżej 

13. Podaj i objaśnij polecenia systemowe dotyczące katalogów w systemie QNX. 
     mkdir nazwa katalogu –tworzenie katalogu 
    rmdir nazwa_katalogu – kasowanie katalogu 

zmiana katalogu /home/juka na katalog /home/juka: 
$pwd 
/home/juka 
ls [-l] [nazwa]
 - zawartość katalogu  gdzie: 
l - listowanie w „długim" formacie, wyświetlane są atrybuty pliku, 
nazwa - nazwa katalogu lub pliku. 

14. Podaj i objaśnij polecenia systemowe dotyczące plików w systemie QNX. 

Kopiowanie pliku  
cp [-ifR] plik_źródłowy plik_docelowy 
cp [-ifR] plik_źródłowy katalog_docelowy 
i
 - żądanie potwierdzenia, gdy plik docelowy może być nadpisany, 
f - bezwarunkowe skopiowanie pliku, 
R - gdy plik źródłowy jest katalogiem, to będzie skopiowany z podkatalogami. 
Zmiana nazwy pliku 
mv [-if] stara_nazwa nowa_nazwa 
mv [-if] nazwa_pliku katalog_docelowy 
i
 - żądanie potwierdzenia, gdy plik docelowy może być nadpisany, 
f - bezwarunkowe skopiowanie pliku. 

15. Objaśnij proces edycji, kompilacji i uruchamiania programów w systemie QNX. 

Edycja odbywa się za pomocą edytora  ped  i zapisania pliku nazwa.c  następnie   proces 
kompilacji  odbywa  się  z  konsoli(kompilatora  gcc  używanego  w  trybie  tekstowym)  za 
pomocą komendy $gcc nazwa.c -o nazwa jeżeli są błędy kompilator wypisze w gdzie one 
są a następnie wywołujemy program pisząc $./hello  

16. Co to jest proces i co jest bazą jego powstania? 

Proces jest wykonującym się programem, aktywna struktura dynamiczna istniejąca tylko 
w środowisku działającego komputera 
Baza do jego powstania Program = algorytm + struktury danych 

17. Co to jest przerwanie? Objaśnij proces obsługi przerwania (rysunek). 

Przerwanie  jest  zdarzeniem  asynchronicznym  powodującym  zmianę  sekwencji 
wykonywanych przez procesor instrukcji 
Przerwanie  jest  chwilowym  wstrzymaniem  aktualnie  wykonywanego  procesu  i 
wykonaniem procedury (obsługi przerwania) przypisanej przerwaniu 
Obsługa przerwania : 

background image

 

18. Jakie są zasoby pamięciowe procesu i do czego służą? 

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ą  przecho-
wywane 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  system operacyjny 
utrzymuje wszystkie informacje niezbędne do zarządzania procesem.  
 

19. Jakie  są  kanoniczne  stany  procesu?  Narysuj  graf  przejść  między  stanami  procesu  i 

objaśnij, kiedy są realizowane przejścia między stanami. 
20. Wykonywany, 

gotowy, 

zablokowany;