Ghidul utilizatorului

En rețea QNX Neutrino reprezintă un grup de stații de lucru interconectate, fiecare dintre care ruleaza sub sistemul de operare QNX Neutrino. În această rețea, programul are acces transparent la orice resursă care se află în orice alt nod (computer sau stație de lucru) subrețea locală, dacă un fișier, dispozitiv sau proces. QNX Neutrino rețea proprie chiar vă permite să rulați programe pe alte noduri.

Notă. Protocol, care este utilizat în rețeaua de domiciliu a QNX 4, numit FLEET. Acesta nu este compatibil cu sistemul de operare protocolul Qnet QNX Neutrino.

În esență, protocolul Qnet se extinde în mod transparent mecanismul IPC (IPC) în rețeaua micronucleilor utilizând sistemul de operare QNX Neutrino principiul de mesagerie pentru punerea în aplicare a propriei rețele.

Evidența tuturor gazdelor de pe subrețeaua locală care se execută protocolul Qnet, situat în spațiul de nume / net (în sistemul 4 de operare QNX pentru a avea acces la un alt nod se aplică o bară oblică dublă, urmat de numărul de unități).

Pentru mai multe informații despre protocolul Qnet vezi cap 13 manual „Descrierea de utilizare Partea 1:. Arhitectura sistemului“. „Programarea cu protocolul Qnet descris în secțiunea“ KPDA.10964-01 31 ianuarie transparent distribuite prin intermediul Networking Ghid «manual» programatorului Qnet “.

Când se utilizează protocolul Qnet, și atunci când - TCP sau orice alt protocol? Totul depinde de ce fel de calculator pe care doriți să fuzioneze în rețea.

Protocolul Qnet este conceput pentru o rețea de computere de încredere care se execută sistemul de operare QNX Neutrino și au aceeași ordine octet. În aceste condiții, computerele pot partaja resursele cu puțin deasupra capului. protocol Qnet permite utilități să utilizeze sistemul de operare QNX Neutrino (cp. Mv, și așa mai departe. D.) Pentru a lucra cu fișiere care sunt localizate oriunde în rețeaua Qnet la fel ca și în cazul în care acestea au fost pe computerul local.

Deoarece protocolul Qnet este proiectat pentru un grup de computere de încredere (de exemplu, membri ai sistemului built-in), nu efectuează cereri de autentificare. Protecția fișierelor se face cu permisiuni de acces convenționale care se aplică pentru utilizatori și grupuri (a se vedea. Div. „Posesia a fișierelor și a drepturilor de acces“, în secțiunea 6). Cu toate acestea maproot cheile mapany și pentru a permite într-o anumită măsură, să controleze acțiunile utilizatorilor la distanță pe computer. Spre deosebire de NFS, protocolul Qnet este orientat pe conexiune; unei rețele de mesaje de eroare sunt trimise la procesul de client.

TCP / IP este proiectat pentru computere care nu sunt conectate între ele atât de strâns și poate rula pe sisteme de operare diferite. Pentru a controla accesul la TCP calculator / IP efectuează procedura de autentificare; este util pentru conectarea la mașinile care nu sunt în mod necesar de încredere. TCP / IP este folosit ca bază pentru protocoale specializate, cum ar fi FTP și Telnet, și oferă streaming de date de înaltă performanță. Pentru mai multe informații, a se vedea. Secțiunea 13.

Protocolul NFS este conceput pentru a efectua operațiuni pe sistemul de fișiere de pe orice gazdă la orice ordine octeților și se bucură de un sprijin larg. NFS este un protocol fara conexiune; Server poate fi oprit și repornit, iar clientul își reia automat comunicarea cu serverul. În plus, protocolul NFS utilizează autentificare și control al accesului la directoare. Pentru mai multe informații, consultați. În Sect. secțiunea „sistem de fișiere NFS“ 11.

Pentru gazdă protocol de rezoluție numele Qnet utilizează următoarele reguli.

Numele de nod (nume de nod) - un șir de caractere care identifică nodul la care link-ul. Acest nume trebuie să fie unic în domeniu și nu pot conține slash-uri și puncte.

nod de domeniu (domeniul nod) - un șir de caractere, care este anexată la numele npm-qnet.so nodului bibliotecă. Numele și nodul de domeniu în agregatul trebuie să fie un șir de caractere, care este unic pentru toate nodurile interacționează între ele prin rețea. Valoare implicită de domeniu nod este specificat linia de configurare _CS_DOMAIN.

Complet calificat numele gazdei (numele nodului complet calificat, FQNN) - un șir care este format prin combinarea unui nume de nod și de domeniu. De exemplu, în cazul în care nodul are un nume și un nume de domeniu karl qnx.com. numele de gazdă complet calificat este karl.qnx.com.

Setevoykatalog (director de rețea) - director în spațiul caii de acces, care este creat de bibliotecă npm-qnet.so. Fiecare director de rețea (pot exista mai multe pe un singur nod) domeniu asociat nod. Directorul implicit de rețea este / net; este utilizat în exemple sunt prezentate în această secțiune.

Notă. Director / Elemente de net. care corespund nodurilor situate în același domeniu ca și computerul local, nu includ un nume de domeniu. De exemplu, în cazul în care computerul local este într-un domeniu qnx.com. karl elementul de asamblare are forma / net / Karl. În cazul în care computerul este într-un alt domeniu, acest element ia forma /net/karl.qnx.com.

Pentru funcționarea echipamentelor de rețea Qnet, împreună cu următoarele componente software sunt necesare (Figura 12.1.):

  • io-PKT * - Administrator, care oferă suport pentru module de rețea încărcate dinamic;

drivere de rețea (devn- *, devnp- *) - administratori, care formează interfața cu echipamentul;

Fig. 12.1. componente de rețea Qnet

lsm-qnet.so - administrator de rețea proprie QNX Neutrino sistem care implementează protocolul Qnet de operare.

Protocolul Qnet poate fi lansat într-unul din următoarele moduri:

useqnet creați fișierul și reporniți computerul;

rula în mod explicit de rețea de administrator, protocoalele și driverele, așa cum este descris mai jos.

Notă. În cazul în care protocolul Qnet rulează pe computerul local, utilizatorul orice PC cu un protocol de lucru Qnet poate vizualiza fișiere și procese pe computerul local, dacă aveți permisiunea de a le accesa. Pentru mai multe informații, consultați următoarele resurse:.:

Div. „Proprietatea de fișiere și drepturi de acces“, secțiunea 6;

Div. secțiunea "Qnet" 19;

Secțiunea „Autodiscovery vs statică“ cap „Prelucrarea transparent Distribuită Utilizarea Qnet“ manual „Ghidul Neutrino programatorului“.

Pentru a rula automat protocolul Qnet în momentul pornirii sistemului, ar trebui să-l introduceți ca utilizator root și de a crea un fișier useqnet gol urmează:

Dacă acest fișier există, / etc / sistem script / sysinit lanseaza protocolul Qnet la pornirea calculatorului. Pentru a transfera protocolul Qnet orice parametri, modificați sysinit fișier. schimbarea următoarele linii:

# Porniți protocolul QNET dacă utilizatorul a pornit el.

în cazul în care testul -r / etc / system / config / useqnet -a -d / dev / io-net; atunci

mount -Tio-PKT lsm-qnet.so

De exemplu, atunci când este vorba de un echipament nefiabil adecvat să se includă ciclice pachete de cod de verificare redundanță. Pentru această linie trebuie să se schimbe de mai sus, după cum urmează:

# Porniți protocolul QNET dacă utilizatorul a pornit el.

în cazul în care testul -r / etc / system / config / useqnet -a -d / dev / io-net; atunci

mount -Tio-pkt o- do_crc = 1 lsm-qnet.so


Pentru mai multe informații despre ceea ce se întâmplă atunci când sistemul se încarcă. A se vedea secțiunea 8.

Rularea unui administrator de rețea, protocoale și drivere

Administrator-io * PKT - un proces care îndeplinește o funcție cheie descarcă un set de obiecte partajate. El este baza stiva de protocoale și asigură transmisia de date între module. Setul de obiecte comune ale propriei sale rețele QNX Neutrino include biblioteci și drivere de rețea lsm-qnet.so, de exemplu devn-ppc800-ads.so. Obiecte partajate sunt organizate într-o ierarhie, în cazul în care vârful este utilizatorul final, iar nivelul inferior - echipamentul.

program de recunoaștere a dispozitivului începe automat procesul de * IO-PKT atunci când computerul pornește și încarcă driverele descoperite dispozitive. Puteți rula mai multe instanțe ale * Administrator IO-PKT, dar acest lucru necesită o setare specială. Dacă doriți să începeți procesul de PKT-io * manual, trebuie să finalizați mai întâi procesul de lucru al echipei folosind Slay PKT-io *.

Procesul de IO-PKT * poate fi rulat din linia de comandă prin specificarea acestuia, care trebuie să fie descărcate drivere și protocoale:

$ Io-PKT * -del900 -p NPM-QNET

În acest exemplu, administratorul IO-PKT-v4-load stivele de driver Ethernet și devn-el900.so protocoale Qnet.

Modulele pot fi pornite și oprite în mod dinamic folosind monturii și comenzile umount după cum urmează:

$ Mount -Tio-PKT devn-el900.so

$ Mount -Tio-PKT lsm-qnet.so

Pentru a descărca driver-ul, introduceți următoarea comandă:


Notă. Pentru a demonta stivelor de protocol, cum ar fi TCP / IP și Qnet, este imposibil.

După ce a început protocolul Qnet directorul / net cuprinde elemente pentru toate celelalte noduri pe subrețeaua locală care se execută protocolul Qnet. Accesul la fișiere și procese care sunt localizate pe alte computere, este posibil să se efectueze, ca și în cazul în care aceste fișiere și procese sunt pe computerul local (cel puțin în măsura în care permit drepturile de acces).

De exemplu, pentru a afișa conținutul unui fișier care se află pe un alt computer, puteți utiliza utilitarul mai puțin. specificând calea către prefixul / net.

Pentru a citi informațiile de sistem despre toate site-urile de la distanță, care sunt listate în directorul / net. ar trebui să utilizeze utilitarul cu argumentul net pidin:

Puteți apela pidin de utilitate cu opțiunea -n. pentru a obține informații despre celelalte procese informatice:

pidin Alonzo -n | mai puțin


Puteți începe chiar și un proces pe un alt calculator, folosind propria consolă de intrare și de ieșire, cu ajutorul pe comanda cu optiunea -f.

la data -f Alonzo

Umplerea directorul / net

După ce descărcați și rulați Qnet cu driverul de rețea, în cazul în care o aplicație de pe gazdă nu încercați să interacționeze cu alte aplicații prin intermediul Qnte, directorul / net va umple încet restul nodurilor în ceea ce privește obținerea de informații de la ei, au trimis în modul de difuzare.

În mod implicit, acest interval este setat la 30 de secunde, și poate fi modificat prin opțiuni auto_add = X lsm-qnet.so module. Cu alte cuvinte, 30 de secunde după ce directorul de descărcare / net, acesta poate fi umplut cât mai mult posibil.

Notă. Pentru a comunica cu un nod la distanță nu are nevoie să aștepte timp de 30 de secunde; aplicații pot fi accesate prin intermediul Qnet site-uri de la distanță, imediat după inițializare Qnet și drivere de rețea.

Elemente Catalog / net nu este îndepărtat până când cineva încearcă să le folosească, astfel încât acestea pot fi incorecte.

De exemplu, un nod poate porni o oră în urmă, pentru a lucra un minut și pentru a finaliza lucrările. El va continua să aibă o intrare în cataloagele nodurilor Qnet care nu interacționează cu ei. Pe aceste site-uri, care interacționează cu compusul de setare, intrările vor fi șterse după expirarea sesy timeout.

Pentru a elimina elementele rele din / net puteți folosi comanda:

Pentru o curățare completă / net este necesar să se execute comanda:

Pentru propria rețea de sistem de operare QNX Neutrino să funcționeze, toate componentele software de protocol Qnet trebuie să comunice în mod corespunzător cu hardware-ul. Dacă rețeaua Qnet nu funcționează, atunci când caută probleme, puteți utiliza diferite echipamente Qnet-utilități și o rețea pentru a obține informații de diagnosticare.

Este lucrări de protocol Qnet?

Protocolul Qnet creează un director / net. Pentru a vă asigura că există acest director, utilizați comanda

În cazul în care directorul / net nu conține un subdirector, atunci protocolul Qnet nu funcționează. Acest director trebuie să conțină cel puțin un articol cu ​​numele computerului local, care afișează comanda hostname. Dacă utilizați obligatoriu protocolul Ethernet, toate celelalte computere disponibile sunt afișate și în directorul / net. exemplu:

Sunt protsessio-PKT * și drivere?

După cum sa menționat mai devreme, procesul PKT-io * este legătura dintre driverele și protocoalele. Pentru a verifica pentru probleme în ea, ar trebui să utilizați echipa pidin:

$ Pidin -P io-PKT-v4-hc sig


Urmată de o căutare pentru protocolul partajat obiect Qnet în producția rezultată:

pid TID Numele Prio STAT stiva de date cod

1 118 802 sbin / io-PKT-v4-hc 21o SIGWAITINFO 876K 672K 4096 (516K) *

2 118 802 sbin / io-PKT-v4-hc 21o PRIMEȘTE 876K 672K 8,192 (132K)

3 118 802 sbin /-PKT io-v4-hc 21R PRIMEȘTE 876K 672K 4096 (132K)

4 118 802 sbin / io-PKT-v4-hc 21o PRIMEȘTE 876K 672K 4096 (132K)

5 118 802 sbin / io-PKT-v4-hc 20o PRIMEȘTE 876K 672K 4096 (132K)

118 802 6 sbin / io-PKT-v4-hc 10o PRIMEȘTE 876K 672K 4096 (132K)

libc.so.2 @ b0300000 436K 12K

devn-pcnet.so @ b8208000 40K 4096

lsm-qnet.so @ b8213000 168K 36K

Dacă PIN-ul este partajat lsm-qnet.so obiect. Qnet protocolul funcționează.
  • Are placa de rețea?

    Pentru a determina dacă placa de interfață de rețea (cu alte cuvinte, dacă acesta realizează transmiterea și primirea de pachete), utilizați nicinfo echipa. Utilizatorul variabila de mediu PATH rădăcină include directorul care conține nicinfo fișier executabil; toți ceilalți utilizatori trebuie să specificați calea completă către fișierul:

    Acum puteți prelua informații de diagnosticare de la ieșire următoarele:

    AMD PCNET-32 Ethernet Controler

    Fizică Node ID. 000C29 DD3528

    ID-ul actual fizică Nod. 000C29 DD3528

    Rata Funcționare curentă. 10.00 Mb / s

    Activ Tip interfață. UTP

    Unitatea de date transmisibil maximă. 1514

    Unitatea maximă de date Receivable. 1514

    Întrerupere hardware. 0x9

    I / O apertură. 0x1080 - 0x10ff

    Memorie Aperture. 0x0

    Modul promiscuu. de pe

    Suport Multicast. activat

    Pachetele transmise OK. 588

    Bytes Transmise OK. 103721

    Eșecurile Alocarea memoriei pe Transmit. 0

    Pachetele primite OK. 11639

    Bytes primit OK. 934712

    Eșecurile Alocarea memoriei pe Primire. 0

    Coliziuni unice pe Transmit. 0

    Transmite amânat. 0

    Coliziune târziu erori de transmitere. 0

    Avortat (ciocniri transmite excesive). 0

    Transmiteți underruns. 0

    Nu Carrier pe Transmit. 0

    Primiți erori de aliniere. 0

    pachetele primite cu erori CRC. 0

    Pachete scăpat pe primi. 0

    Noi ar trebui să acorde o atenție deosebită valorilor contoarelor total Pachete TXD OK și total Pachete RxD OK. În cazul în care acestea sunt egale cu zero, este posibil ca driver-ul nu funcționează sau nu este conectat la rețea. Ar trebui să verificați înregistrarea operațiunii curente Rata, și asigurați-vă că driver-ul corect este determinat automat rata de date.

    Cum de a obține informații de diagnosticare?

    Informațiile de diagnosticare este în fișierul / proc / qnetstats. Dacă acest fișier nu există, protocolul Qnet nu funcționează.

    fișier qnetstats conține o mulțime de informații de diagnosticare, Koto paradis are sens pentru dezvoltatorii care utilizează protocolul Qnet, dar inutil pentru alți utilizatori. Cu toate acestea, puteți utiliza utilitarul grep. pentru a extrage câmpuri specifice din fișierul / proc / qnetstats.

    # cat / proc / qnetstats | grep „compilate“


    Un alt exemplu:

    # cat / proc / qnetstats | grep -e "OK" -e "rău"


    În cazul în care protocolul Qnet rula nevoie de ajutor, suport tehnic, QNX Software Systems poate cere să furnizeze aceste informații.

    Unic dacă numele de gazdă?

Pentru a găsi numele de gazdă, utilizați utilitarul numele gazdei. rețea Qnet funcționează numai în cazul în care numele de gazdă este unic.
  • dacă nodurile sunt în același domeniu?

În cazul în care gazdele sunt în diferite domenii, este necesar accesul la site-ul pentru a specifica domeniului. exemplu: