Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice



Acasa » referate » informatica
Comunicare si sincronizare prin mesaje

Comunicare si sincronizare prin mesaje



Comunicare si sincronizare prin mesaje

Deoarece procesele care coopereaza au nevoie atat de comunicare cat si de sincronizare, este de dorit integrarea lor intr-un singur mecanism. Mesajele reprezinta un mecanism simplu pentru realizarea acestui deziderat. In esenta, un mesaj este o colectie de informatii ce pot fi schimbate intre procesul transmitator si cel receptor. Pentru utilizarea lor sunt disponibile cele doua functii : SEND si RECEIVE. Mesajele sunt puse intr-o coada de mesaje.

Creare coada de mesaje :

int msgget(key_t key, int msgflg);

key=cheia resursei (ce coada de mesaje sa utilizeze);

msgflg=IPC_CREAT, IPC_EXCL

Daca se specifica IPC_CREAT && IPC_EXCL, functia va returna eroare daca coada de mesaje exsita deja in sistem.

Trimitere si receptionare mesaj :

typedef struct msqid_ds msqid_ds;

typedef struct msgbuf msgbuf;

int msgsnd(int msqid,struct msgbuf *msgp, int msgsz, int msgflg);

int msgrcv(int msqid, struct msgbuf *msgp, int msgsz, int msgtyp, int msgflg);

msqid=identificatorul cozii de mesaje returnat de msgget

msgsz=dimensiunea lui msgp

msgflg=IPC_NOWAIT, MSG_EXCEPT, MSG_NOERROR

IPC_NOWAIT folosit la msgsnd - daca mesajul depaseste msg_qbytes, se returneaza eroare, mesajul nefiind transmis. Altfel, procesul este suspendat pana cand conditia de suspendare nu mai exista (caz in care mesajul va fi transmis) sau coada de mesaje este distrusa (caz in care se returneaza eroare) sau procesul primeste un semnal care trebuie tratat (caz in care se returneaza eroare).

IPC_NOWAIT folosit la msgrcv - procesul nu se blocheaza asteptand aparitia mesajului.

MSG_NOERROR folosit la msgrcv - daca lungimea textului mesajului este mai mare decat msgsz, el va fi truchiat; altfel, se returneaza eroare.

Daca msgtyp=0, va fi extras primul mesaj din coada;

>0, va fi extras primul mesaj din coada de tipul msgtyp daca msgflg!=MSG_EXCEPT; altfel, se va extrage primul mesaj cu tipul!=msgtyp;

<0, va fi extras primul mesaj cu cel mai mic tip valoarea absoluta a lui msgtyp.

int msgctl(int msqid, int cmd, struct msqid_ds *buf);

- se executa operatia de control specificata de cmd

cmd=IPC_STAT, copiaza structura de date a mesajului in buf (procesul trebuie sa aiba dreptul de citire a mesajului);

IPC_SET, copiaza informatia din buf in structura mesajului (procesul trebuie sa aiba uid-ul proprietarului, creatorului sau al superuser-ului);

IPC_RMID, sterge toate mesajele, inclusiv coada de mesaje.





loading...




Politica de confidentialitate

.com Copyright © 2020 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE CLASA: a X a EDUCATIE MUZICALA - OPERA IN GERMANIA SI RUSIA
 PROIECT DIDACTIC 3-5 ani Limba si comunicare - Strugurele, de Maria Gaitan
 Proiect instalatii electrice - Sa se proiecteze instalatia electrica si de forta a unei microintreprinderi la alegerea studentului
 PROIECT - Ingineria reglarii automate - sistemul de reglare automata a unei actionari cu motor electric

Lucrari de diploma

vezi toate lucrarile de diploma
 LUCRARE DE DIPLOMA - Rolul asistentului medical in ingrijirea pacientului cu A.V.C.
 Relatiile diplomatice dintre Romania si Austro- Ungaria din a doua jumatate a secolului al XIX-lea
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”
 Lucrare de diploma tehnologia confectiilor din piele si inlocuitor - proiectarea constructiv tehnologica a unui produs de incaltaminte tip cizma scurt

Lucrari licenta

vezi toate lucrarile de licenta
 Lucrare de licenta contabilitate si informatica de gestiune - politici si tratamente contabile privind leasingul (ias 17). prevalenta economicului asupra juridicului
 Lucrare de licenta educatie fizica si sport - studiu asupra imbunataȚirii motricitaȚii in lectia de educatie fizica la clasele a v-a de la &
 Lucrare de licenta ecologie si protectia mediului - aspecte ecologice privind fauna de orthoptere si mantide din parcul national muntii macinului
 LUCRARE DE LICENTA - Asigurarea calitatii la firma Trans

Lucrari doctorat

vezi toate lucrarile de doctorat
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 PROIECT ATESTAT INFORMATICA - GESTIONAREA STOCULUI UNEI FARMACII
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 Evidenta a clientilor dar si a serviciilor in Visual Fox pro 9 - Lucrare de atestat
 Lucrare atestat Tehnician in turism - CALITATEA SERVICIILOR TURISTICE




SISTEMUL INFORMATIC , INSTRUMENT AL MANAGEMENTULUI ORGANIZATIILOR ECONOMICO-SOCIALE
ATESTAT LA INFORMATICA - Baza de date relationala aplicata intr-o biblioteca scolara
Evolutia calculatoarelor
Analiza activitatii firmei PC
SISTEME INFORMATIONALE SI SISTEME INFORMATICE IN GESTIUNEA ORGANIZATIILOR
Accelerarea procesului de adunare/scadere in virgula flotanta
PLANIFICAREA SI URMARIREA PROIECTELOR CU MICROSOFT PROJECT 2002
Notiunea de sistem informatic




Termeni si conditii
Contact
Creeaza si tu