Architektura Neutrino 1 id 6791 Nieznany (2)

background image

1

1

SYSTEM QNX 6 Neutrino

1.1

Wiadomości ogólne o systemach operacyjnych


Funkcje systemu operacyjnego:

Zarz

ądzanie zasobami systemu

o zarządzanie procesami,
o obsługa urządzeń,
o obsługa pamięci wirtualnej
o obsługa komunikacji

Zapewnienie abstrakcyjnego dost

ępu do usług systemu

Zapewnienie bezpiecze

ństwa

PA1

PA2

PAn

Procesy
aplikacyjne

Sprzęt

System operacyjny

Wywołania
systemowe

Rysunek 1-1 Rola systemu operacyjnego


Podstawowe struktury systemów operacyjnych:

system monolityczny

system z mikroj

ądrem.


W systemie monolitycznym podstawowe funkcje systemu umieszczone
s

ą w pojedynczym module programowym zwanym jądrem.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

2

PA1

PA2

PAn

Procesy aplikacyjne

szeregowanie

w

ątków

komunikacja

mi

ędzyprocesowe

timery

obs

ługa przerwań

synchroni-

zacja

Obsluga plików, sieci, urz

ądzeń

wej

ścia wyjścia

przerwania

J

ądro

W ywo

łania

systemowe

Rysunek 1-2 J

ądro monolityczne


Fragmenty kodu j

ądra wykonywane są:

pod wp

ływem przerwań

uruchamiania wywo

łań systemowych.


Cechy systemu z j

ądrem monolitycznym:

J

ądro nie podlega szeregowaniu

Awaria w jego obr

ębie skutkuje awarią całego systemu.

Wysoka szybko

ść działania


Systemy monolityczne: Linux, RTLinux.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

3

1.2

System QNX6 Neutrino


Wielozadaniowy, sieciowy system operacyjny czasu rzeczywistego

Podstawowe w

łasności:


1. Architektura

mikroj

ądra.

System

jest

zbiorem

procesów

wymieniaj

ących komunikaty w środowisku lokalnym i rozproszonym.

2. System od podstaw zaprojektowany zosta

ł jako wieloplatformowy:

Intel x86, MIPS, PowerPC, SH-4, ARM, StrongARM i xScale.

3. System spe

łnia wymagania stawiane systemom czasu rzeczywistego,

posiada

wyw

łaszczającą strategię szeregowania i rozwinięty

mechanizm priorytetów.

4. Zapewnia wysok

ą zgodność ze standardami POSIX 1003.1. Zawiera

wi

ększość zawartych tam mechanizmów czasu rzeczywistego tym

w

ątki.

5. Zapewnia wsparcie dla maszyn wieloprocesorowych SMP.
6. Zawiera wiele mechanizmów tolerowania awarii, w tym pakiet

wspierania wysokiej dost

ępności HAM (ang. High Availability

Manager).

7. Mo

żliwe jest zastosowanie wielu systemów plików: RAM, Flash, QNX,

Linux, DOS, CD-ROM, NFS.

8. Zapewnia wparcie dla wielu protoko

łów komunikacyjnych, w tym IPv4,

IPv6.


POSIX - Standard na interfejs pomi

ędzy systemem operacyjnym a

aplikacj

ą. Określa:

Niezb

ędny zestaw wywołań systemowych

Posta

ć funkcji systemowych (język C)


Wady systemu:

1. Wysoka cena
2. Utrata zgodno

ści z istniejącym oprogramowaniem dla systemu QNX4

3. Wsparcie tylko dla ograniczonej liczby urz

ądzeń peryferyjnych

4. Ma

ła ilość oprogramowania użytkowego

PDF created with pdfFactory trial version

www.pdffactory.com

background image

4

Cecha systemu

QNX

VxWorks Windows

CE

Łatwość instalacji i konfiguracji

7

4

5

Architektura systemu

9

7

7

Kompletno

ść API

7

8

7

Jako

ść dokumentacji

5

4

5

Dostosowanie do Internetu

8

9

9

Narz

ędzia tworzenia

oprogramowania

7

8

8

W

łasności czasowe

9

5

7

Tabela 1-1. Porównanie systemów ONX6.1 Neutrino, VxWork A1.1 i Windows CE
.NET (skala 1-10)


PDF created with pdfFactory trial version

www.pdffactory.com

background image

5

1.3

Budowa systemu


Budowa systemu:

- Mikrojądro

- microkernel

- Procesy systemowe

- system processes

- Procesy aplikacyjne

- application processes

IPC - komunikacja mi

ędzyprocesowa

Mikro-

j

ądro

PA1

PA2

PAn

...

Procesy

aplikacyjne

Administrator

plików

Administrator

dysku

Administrator

sieci

...

Procesy

systemowe

Rysunek 1-3 Struktura systemu QNX6 Neutrino


Funkcje mikroj

ądra:

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 szeregowane są przez mikrojądro

zgodnie z dost

ępnymi algorytmami szeregowania: FIFO, karuzelowy,

sporadyczny.

4. Implementacja czasomierzy (

ang. Timers).

5. Obs

ługa przerwań.


PDF created with pdfFactory trial version

www.pdffactory.com

background image

6

PA1

PA2

PAn

Procesy aplikacyjne

Administrator

plików

szeregowanie

w

ątków

IPC

timery

transformacja przerwa

ń

synchroni-

zacja

MIKROJ

ĄDRO

przerwania

Administrator

sieci

Administrator

procesów

procnto

Administratory
systemowe

Rysunek 1-4 Struktura mikroj

ądra

Zalety systemu z mikroj

ądrem:

1.

Niezale

żne szeregowanie procesów systemowych - obsługa

urz

ądzeń wejścia / wyjścia - procesy, które podlegają zwykłemu

szeregowaniu. Mechanizm umo

żliwia osiągnięcie lepszych

charakterystyk czasowych systemu - wa

żne w systemach RTS.

2.

Modularno

ść - prowadzi do zwiększenia niezawodności.

3.

Wzajemna izolacja procesów - ka

żdy z procesów systemowych

wykonywany jest w oddzielnie chronionym segmencie przestrzeni
adresowej. Awaria jednego z procesów nie powoduje awarii innego
procesu.

4.

Mo

żliwość dynamicznego uruchamiania procesów systemowych -

procesy systemowe s

ą zwykłymi procesami.


PDF created with pdfFactory trial version

www.pdffactory.com

background image

7

1.4

Komunikaty i komunikacja międzyprocesowa

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ą

.




serwer

komunikat

proces

aplikacyjny

klient

odpowied

ź

administrator

zasobu

Rysunek 1-5 Klient przesy

ła komunikat do serwera


Przes

łanie komunikatu składa się z trzech faz:

1. Wys

łania 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.

klient

serwer

komunikat

Wys

łanie

komunikatu

Odbiór komunikatu

Odpowied

ź na

komunikat

blokada

odpowied

ź

blokada

Rysunek 1-6 Transakcja przes

łania komunikatu

PDF created with pdfFactory trial version

www.pdffactory.com

background image

8


Mechanizmy komunikacji mi

ędzyprocesowej implementowane w

mikroj

ądrze:

1. Komunikaty i impulsy - (

ang. messages, pulses)

2. Sygna

ły - (ang. signals)

3. Zegary - (

ang. clocks)

4. Czasomierze - (

ang. timers)

5. Procedury obs

ługi przerwań - (ang. interrupt handlers)

6. Semafory - (

ang. semaphores)

7. Blokady wzajemnego wykluczania - muteksy (

ang. mutual exclusion

lock )

8. Zmienne warunkowe (

ang. conditional variables)

9. Bariery (

ang. barriers)



Mechanizmy IPC zewn

ętrzne względem mikrojądra

1.

Łącza nienazwane - (ang. pipes),

2.

Łącza nazwane - (ang. named pipes)

3. Wspólna pami

ęć - (ang. shared memory)

4. Kolejki komunikatów - (

ang. message queues)



PDF created with pdfFactory trial version

www.pdffactory.com

background image

9

1.5

Administratory zasobu i procesy systemowe

Administratory zasobu zapewniaj

ą jednolity dostęp do różnego rodzaju

urz

ądzeń.


Urz

ądzenia rzeczywiste:

dyski,

porty szeregowe,

porty równoleg

łe


Urz

ądzenia wirtualne:

sieciowy system plików

okno

pseudo terminal



Administrator zasobu jest procesem serwerowym który akceptuje
komunikaty od innych procesów.

Administrator zasobu obs

ługuje zlecenia klientów odnoszące się do

abstrakcji pliku.

Plik jest abstrakcyjn

ą strukturą na której można przeprowadzać

operacje: otwarcie, odczyt, zapis, zamkni

ęcie, zmianę bieżącej pozycji,

ustawianie praw dost

ępu.


Ka

żde urządzenie w systemie QNX6 Neutrino widziane jest jako plik

specjalny.

Rodzaje plików:

pliki specjalne (urz

ądzenia, gniazdka, kolejki, semafory, segmenty

pami

ęci dzielonej)

pliki regularne

katalogi

PDF created with pdfFactory trial version

www.pdffactory.com

background image

10

/dev/hd0

devb-eide Proces obsługi dysków stałych

typu IDE

/dev/fd0

devb-fdc Proces obsługi stacji dyskietek

/dev/par1

devc-par Proces obsługi portu

równoleg

łego

/dev/ser1

devc-
ser8250

Proces obs

ługi portu

szeregowego RS232

/dev/con

devc-con Proces obsługi konsoli

/

fs-
qnx4.so

Proces obs

ługi systemu plików

QNX4

Tabela 1-2

Ścieżki do urządzeń i obsługujące je administratory


devc- ser

8250

układ 8250

fd = open("/dev/ser1",...)

klient

4

administrator zasobu

procnto

read(fd,buf,1)

2

administrator

procesów

1

rejestracja

3

urządzenie

Rysunek 1-7 Wspó

łpraca procesu klienta z portem transmisji szeregowej.

Wspó

łpraca procesu klienta z portem transmisji szeregowej:

1. Przy starcie systemu proces devc-ser8250 rejestruje si

ę w

administratorze procesów procnto.

2. Proces klienta wysy

ła komunikat do lokalnego administratora

procesów procnto z zapytaniem w gestii jakiego procesu le

ży ścieżka

/dev/ser1.

3. Lokalny administrator procesów odpowie

że należy się kontaktować z

procesem devc-ser8250.

4. Proces klienta wysy

ła komunikaty do procesu devc-ser8250.


PDF created with pdfFactory trial version

www.pdffactory.com

background image

11

proces klienta

wysłanie

komunikatu

odbiór

komunikatu

przetwarzanie

komunikatu

wysłanie

odpowiedzi

odbiór odpowiedzi

oczekiwanie

administrator

zasobu

rejestracja ścieżki

Rysunek 1-8 Wspó

łpraca pomiędzy procesem klienta a administratorem zasobu


procnto

Zarz

ądzanie pamięcią, wątkami i procesami

devb-eide

Proces obs

ługi dysków stałych typu IDE

devb-fdc

Proces obs

ługi stacji dyskietek

devc-par

Proces obs

ługi portu równoległego

devc-ser8250 Proces obsługi portu szeregowego RS232
devc-con

Proces obs

ługi konsoli

io-net

Ogólny administrator sieci

io-graphisc Proces obsługi karty graficznej
Photon

Proces interfejsu graficznego

Tabela 1-3 Wa

żniejsze procesy systemowe systemu QNX6 Neutrino

PDF created with pdfFactory trial version

www.pdffactory.com

background image

12

1.6

System plików

W systemie QNX6 Neutrino zaimplementowano wiele ró

żnych systemów

plików. Ka

żdy z systemów plików obejmuje fragment przestrzeni nazw i

obs

ługuje drzewo katalogów i plików leżące poniżej punktu jego

montowania.

W

łasności:

1. Systemy plików mog

ą być startowane i zatrzymywane dynamicznie w

trakcie pracy systemu.

2. Równocze

śnie może współistnieć wiele systemów plików.

3. System plików wykonywany na jednym w

ęźle może być w

prze

źroczysty sposób dostępny z innego węzła.


Najwa

żniejsze systemy plików dostępne w QNX6 Neutrino:.

1. Bezpo

średni system plików - 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.

3. System plików QNX4 - jest to podstawowy system plików.
Charakteryzuje si

ę wysoką odpornością na awarie, wydajnością i

architektur

ą wielowątkową, obsługiwany przez proces fs-qnx4.so.

4. System plików DOS - System plików jest obs

ługiwany przez proces

fs-dos.so.

5. System plików CD-ROM - Obs

ługuje format ISO9660 System

obs

ługiwany przez proces fs-cd.so.

6. System plików FFS3 - system plików przeznaczony jest dla pami

ęci

Flash typu NOR

Błąd! Nie można odnaleźć źródła odsyłacza.

(Compact Flash i Smart Media). 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 - 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). Jako warstwę

transportowa stosuje protokó

ł TCP/IP. Procesem obsługującym NFS jest

fs-nfs2 lub fs-nfs3.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

13

8. Sieciowy system plików CIFS - CISF jest sieciowym systemem plików
wspieranym przez Microsoft (uprzednio SMB). Stacja kliencka mo

że

uzyska

ć dostęp poprzez sieć do systemów plików na serwerze Windows

lub Linux na którym uruchomiono serwer SMB. Jako warstw

ę

transportowa stosowany jest protokó

ł TCP/IP a system utrzymywany

jest przez proces

fs-cifs.

9. System plików Ext2 - system plików Ext2 jest u

żywany przez Linux’a.

Procesem obs

ługującym ten system plików jest fs-ext2.so.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

14

1.7

Onet – rodzima sieć komunikacyjna systemu QNX6
Neutrino

Unikalno

ść mikrojądra Neutrino polega na łatwości implementacji

środowisk rozproszonych (ang. distributed enviroments). Osiągnięto to
dzi

ęki paradygmatowi przekazywania komunikatów, który dla pracy

lokalnej i sieciowej pozostaje zasadniczo taki sam.

Fundamentem tego systemu – protokó

ł Qnet umożliwia jednolitą metodę

dost

ępu do zasobów, tak lokalnych jak i zdalnych.

Standardowe programy narz

ędziowe operujące na takich zasobach

systemu jak pliki dzia

łają tak samo dla zasobów lokalnych i zdalnych.

Zastosowanie sieci Qnet pozwala na osi

ągnięcie następujących korzyści:

1 Przeźroczysty dostęp do zdalnego systemu plików.
2 Łatwość budowy aplikacji skalowalnych.
3 Łatwość tworzenia aplikacji rozproszonych składających się z

komunikuj

ących się procesów.

4 Łatwość tworzenie aplikacji równoległych wykonywanych na

po

łączonych siecią komunikacyjną komputerach.



Przyk

ład:

$ cat /net/qumak/home/juka/infor.txt


Komputer astra

Komputer qumak

infor.txt

/

/dev

/bin

/home

/home/juka

/

/dev

/net

/net/qumak/

Qnet

infor.txt

/net/qumak/home/juka

/bin

Rysunek 1-9 Odwzorowanie przestrzeni nazw komputera

qumak w katalogu

/net/qumak komputera astra

PDF created with pdfFactory trial version

www.pdffactory.com

background image

15

fh = open(”/net/qumak/home/juka/infor.txt”, O_RDWR)

Z komputera astra

Lokalnie

Zasób

/net/qumak/dev/ser1 /dev/ser1

Port
szeregowy

/net/qumak/dev/par /dev/par

Port
równoległy

/net/qumak/home/

/home

Katalog

/net/qumak
/home/juka/infor.txt

/home/juka/infor.txt Plik

regularny

Tabela 1-4 Zasoby komputera

qumak lokalnie i poprzez sieć



aplikacja

Qnet

Qnet

Komputer astra

Administrator

dysków sta

łych

Administrator

procesów

Administrator

procesów

Komputer
qumak

2

4

4

3

4

3

1

3

infor.txt

Rysunek 1-10 Dost

ęp klienta do zasobu położonego na komputerze zdalnym


1. Nazwa komputera - jest

łańcuchem identyfikującym komputer. Nie

mo

że on zawierać kropek ani znaków ukośnika /. Nazwa komputera

jest okre

ślana w trakcie procesu konfiguracji sieci (np. astra).

2. Nazwa domeny - jest okre

ślona przez konfigurację sieci do której

do

łączony jest komputer i określana jest przez administratora sieci

zewn

ętrznej (np. telsat.wroc.pl).

3. Pe

łna kwalifikowana nazwa - komputera składa się z nazwy

komputera i nazwy domeny. (np

. astra.telsat.wroc.pl)

Katalog sieciowy - odwzorowuje nazwy komputerów po

łączonych siecią

Standardowo katalog sieciowy nazywa si

ę /net.

PDF created with pdfFactory trial version

www.pdffactory.com

background image

16

Zawarto

ść katalogu sieciowego a tym samym nazwy komputerów

pracuj

ących w sieci Qnet uzyskać można poleceniem:


$

ls /net

$ astra qumak

Sie

ć Qnet obsługuje wielokrotne połączenia sieciowe. Z połączeniami

wielokrotnymi

łączy się pojęcie QoS (ang. Quality of Service)

po

łączenie równoważące obciążenie,

po

łączenie preferowane,

po

łączenie wyłączne.


PDF created with pdfFactory trial version

www.pdffactory.com

background image

17

4.1

QNX6 w systemach wbudowanych

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.

Środowisko to zawiera:

1 Zintegrowane środowisko rozwoju oprogramowania IDE (ang. Integrated

Development Environment).

2 Biblioteki ANSI C, POSIX, DINKUM C++, GNU C++.
3 Dokumentację.
4 Narzędzia BSP (ang. Board Suport Packages) służące do dostosowania

systemu QNX6 Neutrino do ró

żnorodnych środowisk sprzętowych.

5 Narzędzia DDK (ang. Driver Development Kits) wspomagające

tworzenie sterowników urz

ądzeń zewnętrznych (grafiki, audio, sieciowe,

USB).

6 Narzędzia TDK (ang. Technology Development Kits) które ułatwiają

tworzenie wbudowanych systemów plików, systemów
wieloprocesorowych SMP, obs

ługi multimediów i grafiki 3D.


System docelowy na komputerach z procesorami:

ARM,

MIPS, PowerPC,

SH-4,

StrongARM (w tym Xscale)

x86.

PDF created with pdfFactory trial version

www.pdffactory.com


Wyszukiwarka

Podobne podstrony:
architektura aplikacji id 67748 Nieznany (2)
Architektura Komp2 id 67910 Nieznany (2)
Architektura ekoczasu id 67766 Nieznany (2)
ARCHITEKTURA KOMPUTEROW id 6779 Nieznany (2)
Przerwania Neutrino 2 id 406175 Nieznany
Architektura Renesansu id 67864 Nieznany (2)
Architektura Komp5 id 67913 Nieznany (2)
Architektura drewniana 2 id 677 Nieznany (2)
architektura aplikacji id 67748 Nieznany (2)
Architektura5 id 67923 Nieznany (2)
Architektura3 id 67919 Nieznany (2)
Architektura4 id 67920 Nieznany (2)
Architektura2 id 67918 Nieznany
5 Architektura MCU 2010 id 4004 Nieznany (2)
ArchitekturaKomputera2 id 67926 Nieznany (2)
Architektura6 id 67924 Nieznany (2)
ArchitekturaKomputera id 67925 Nieznany
PEK PB OPIS ARCHITEKTURA id 354 Nieznany

więcej podobnych podstron