Procedura de apel la distanță (rpc)

În multe cazuri, procesul de interacțiune, care este „client-server“. Unul dintre procesele ( „client“) cere un alt proces ( „serverul“) nu-ce serviciu (serviciu) și nu continuă executarea acestuia, atâta timp cât serviciul nu este realizată (și încă mai procesa clientul nu primește rezultatele corespunzătoare) . Este evident că o astfel de mod de interacțiune semantically-echivalență procedura de apel a petelor. Prin urmare, un nume potrivit. În plus, sistemul de operare UNIXpo ideologia sa de perfect potrivite pentru a fi un sistem de operare de rețea. Și se bazează pe ea, puteți crea sisteme distribuite și de a gestiona calcul distribuit. portabilitatea caracteristică permite rețelelor de out-construi „operațional omogen“, care includ comp disparat Yyteri. Cu toate acestea, rămâne problema de reprezentare a datelor în diferite calculatoare de diferite arhitecturi. Prin urmare, una dintre principalele idei ale RPC este software-ul de conversie automa-ically formate de date a interacțiunii pro-proceselor care rulează pe calculatoare eterogene.

Punerea în aplicare a tehnologiei apel de procedură la distanță (remoteprocedurecall-RPC) este destul de complicată, deoarece acest mecanism este de a asigura activitatea proceselor de interacțiune, care sunt situate pe diferite calculatoare. În cazul în care, în cazul tratamentului unei proceduri situate pe același computer, procesul comunică cu acesta printr-o stivă sau zone de memorie partajată în cazul unei proceduri la distanță parametri de transfer apel este convertit în cererea de transmisie în rețea. Prin urmare, obținerea aceluiași rezultat obținut prin utilizarea aranjamentelor de rețea.

Procedura remote apel include următorii pași [70]:

 proces client efectuează un apel local procedură, care se numește-out „plug» (ciot). Obiectivul acestui modul, conectați - să ia argumente, de a le converti într-o formă standard, și să formeze o solicitare în rețea. argumente și crearea unei cereri de rețea upa-forjare se numește ansamblul (Marshal-Ling);

 cerere de rețea este transmisă sistemului la distanță, în care mo-modulul corespunzător și așteaptă o astfel de solicitare când este primită preia parametrii apelului de procedură (unmarshalling), și apoi le transmite la procedura remote server. După efectuarea transmisiei inverse este efectuată.

sistemaLinux de operare

Linux- un sistem de operare modern, compatibile POSIX și UNIX pentru calculatoarele personale și stațiile de lucru.

Linux a fost creat cu ajutorul multor, programatori UNIX și entuziaști de la Institutul terneta. Pentru acest proiect sa alăturat în mod voluntar pe cei care au competențe și abilități suficiente pentru a dezvolta sistemul. Cele mai multe programe bot decalaj Linux în cadrul proiectului GNUizFreeSoftwareFoundationv Cambridge, Massachusetts. Dar a avut o contribuție ca programatori peste tot în lume.

Linux a fost inițial conceput ca un „self-made» implementarea UNIX de IBMPCs procesor de tip PC i80386. Cu toate acestea, Linux a devenit atât de popular și suportă acum un număr mare de companii care sunt în prezent disponibile punerea în aplicare a sistemului de operare Linux pentru aproape toate tipurile bazate pe aceste procesoare și computere. Linux bazate pe sisteme și supercalculatoare create și încorporate. Sistemul suportă clustering și cele mai multe interfețe și tehnologii moderne.

Linux suportă majoritatea proprietăților inerente în alte implementări UNIX, plus numărul celor care nu sunt prezenți. Prin urmare, această secțiune poate fi considerată doar o imagine de ansamblu superficială a caracteristicilor kernel-ului Linux.

Linux - este un sistem complet multitasking, sistemul de operare multiutilizator (la fel ca toate celelalte versiuni ale UNIX). Acest lucru înseamnă că, în timp ce o mulțime de utilizatori pot lucra pe aceeași mașină, în același timp efectuând o mulțime de programe. Linux este bine compatibil cu o varietate de standarde dlyaUNIX (în măsura în care putem vorbi despre standartizatsiiUNIX) la nivelul sursei, vklyuchayaIEEEPOSIX.l, SystemViBSD. Combina acest pod a fost luat în considerare atunci când este creat. Cele mai multe disponibile gratuit pe internet programele dlyaUNIXmozhet care urmează să fie compilate pentru Linux, practic, fără nici o modificare. În plus, toate codul sursă pentru Linux, inclusiv kernel-ul, drivere de dispozitiv, biblioteci, programe de utilizator și instrumente sunt disponibile în mod liber. Alte caracteristici interne specifice ale Linux includ lucrări de control pe standartuPOSIX (cochilii Execu-operate astfel kakcshibash), pseudo (PTY) sprijină tastaturi naționale și standard de tastaturi încărcate dinamic-mi șofer.

Linux suportă o varietate de sisteme de fișiere pentru a stoca date. Unele sisteme de fișiere, cum ar fi sistemul de fișiere Ext2FS, au fost dezvoltate special pentru Linux. Sprijinit de alte tipuri de sisteme de fișiere, naprimerMinix 1 iXenix. Implementat ca un sistem de management al fișierelor osnoveFAT, care permite accesul direct la fișierele care sunt Xia în secțiuni ale sistemului de fișiere. Suportă fișiere și sistemaISO9660CD-ROMdlya cu diskamiCD-ROM. Există un sistem de gestionare a depozitelor de fișiere și volume pe sHPFSiNTFS, cu toate acestea, ele funcționează numai pentru fișiere chte-de. opțiuni create pentru kFAT32 de gestionare a fișierelor și acces.

Linux, la fel ca toate sistemele bazate pe UNIX oferă un set complet de TCP / IP stiva protocolului pentru funcționarea rețelei. Aceasta include drivere de dispozitiv pentru multe plăci adaptoare de rețea tehnologiiEthernet, protokolySLIP (seriallineInternetprotocol, oferind acces prin TCP / IP cu co-unitate secvențială), PLIP (parallellineInternetprotocol), PPP (point-to-pointprotocol), NFS (networkfilesystem) și așa mai departe. Etc. . gama completa de servicii pentru clienți și TCP / IP, cum ar kakFTP, telnet, NNTPiSMTP. Foarte des pe un computer care rulează sub Linux-ing, punerea în aplicare a DNS-server, WWW-server (Apache), firewall-uri pentru a proteja rețelele locale atunci când se utilizează Internet, servere de e-mail, serverDHCP.

kernel-ul Linux odată ce acesta a fost creat ținând cont de oportunitățile Intel80386 procesoare mod protejat și 80486. În special, Linux folosește paradigma de memorie pentru a descrie modul protejat și alte caracteristici noi de procesoare. Spre deosebire de versiyUNIX vechi în cazul în care sarcinile sunt evacuate în memoria externă, un disc magnetic în întregime, kernel-ul Linux suportă de încărcare numai paginile necesare. Aceasta este, cu discul încărcat în memorie segmentele ale programului care sunt utilizate efectiv. Puteți utiliza o singură pagină, fizic o dată încărcat în memorie, mai multe programe executabile, care este codul de reintrare, inerente în toate sistemele bazate pe UNIX, este păstrată. În prezent, există de bază în sistem, optimizat pentru utilizarea cu generarea protsessoramiInteliAMDposlednego, cu toate caracteristicile de bază ale arc-tekturnye funcționare sigură s-au schimbat puțin.

Nucleul sprijină, de asemenea, piscina de memorie universal pentru utilizator pro-grame și cache-ul de disc. În acest caz, cache-ul poate fi utilizat pentru toate memorie liberă, sau invers, cache-ul este redus atunci când se utilizează programe de mari dimensiuni. Acest mecanism de caching agresiv pentru a crește performanța sistemului.

Rularea programelor care utilizează biblioteci legate dinamic, adică, programe executabile pot partaja o bibliotecă pro-gram a oferit un fișier fizic pe disc. Acest lucru permite fișierele executabile pentru a ocupa mai puțin spațiu, în special cele care folosesc mai multe funcții de bibliotecă. Există, de asemenea, biblioteci statice legate de cei care doresc să utilizeze codul obiect de nivel de depanare, sau au un executabilele „complet“, care nu au nevoie, sunt în bibliotecile partajate. Pe Linux bibliotecile partajate sunt conectate în mod dinamic în timpul rulării, permițând programator să înlocuiască bibliotech-module sunt proprii.

articole similare