Sisteme de Operare - Cozi de Mesaje

Laborator
8/10 (1 vot)
Domeniu: Calculatoare
Conține 6 fișiere: doc, h, c
Pagini : 2 în total
Cuvinte : 390
Mărime: 3.88KB (arhivat)
Publicat de: Iustin Fodor
Puncte necesare: 0
Problema standard a producatorului si consumatorului, ca principiu de baza in utilizarea cozilor de mesaje. Fisierul prod scrie in coada de mesaje creata prin executia fisierului create, iar fisierul cons, citeste mesaje din coada de mesaje intr-un ciclu infinit. Fisierul destroy, distruge coada de mesaje

Extras din laborator

Problema:

1. Sa se simuleze problema consumatorului si producatorului folosind cozi de mesaje. Vor putea exista mai multi producatori care vor putea produce mai multe tipuri de produse si mai multi consumatori capabili sa consume mai multe tipuri de produse.

Aspecte Teroretice:

Pentru rezolvarea problemei producatorului si consumatorului, folosim cozi de mesaje cum se cere in enuntul problemei.

Pentru utilizarea cozilor de mesaje, trebuie mai intai sa implementam un program care sa creeze o coada de mesaje, si unul care sa o distruga in caz ca nu mai avem nevoie de ea.

Alte doua programe vor fi create (prod, cons), unul care produce informatia, si o scrie in coada de mesaje, respectiv celalat, care citeste din coada de mesaje informatia si o afiseaza la iesirea standard (monitor in cazul nostru).

Prezentarea Solutiei:

Analizarea programelor care sunt folosite in mod detaliat:

antet.h

- in header-ul antet.h definesc o structura, care e de tip mesaj avand field-urile, "tip" de tip long, si msg de tip pointer la char.

KEY e un numar definit, de tip long.

create.c

- programul create.c, include header-ul "antet.h" si creeaza coada de mesaje prin apelul sistem msgget(KEY,IPC_CREAT|0666), cu KEY 29888

destroy.c

- distruge coada de mesaje ce are identificatorul f prin apelul sistem msgctl(f,IPC_RMID,0) dupa ce o deschide prin msgget.

prod.c

- copiaza mai intai cu strcpy(buffer.msg,msg) liniile de la tastatura intr-un buffer.

- trimite in coada de mesaje, liniile din buffer prin apelul sistem msgsnd(coada,&buffer,lung,IPC_NOWAIT).

cons.c

- citeste din coada de mesaje, mesajele trimise de producator, prin apelul sistem msgrcv(coada,&buffer,100,1,0).

Preview document

Sisteme de Operare - Cozi de Mesaje - Pagina 1
Sisteme de Operare - Cozi de Mesaje - Pagina 2

Conținut arhivă zip

  • antet.h
  • cons.c
  • create.c
  • destroy.c
  • Lab2.doc
  • prod.c

Te-ar putea interesa și

Instrumente și tehnici de plată prin virament

INTRODUCERE Reforma sistemului de plăţi românesc după anul 1990 a fost concepută în două mari etape: prima fază s-a finalizat în 1995 odată cu...

Baze de Date Distribuite

Capitolul I Noţiuni introductive I.1. Baze de date distribuite O bază de date distribuită (BDD) se poate defini ca o colecţie de mai multe baze...

Laptopul

I. Introducere V-ati fi gandit acum cativa ani ca veti putea sa va desfasurati activitatea de birou de oriunde va aflati sau ca va puteti consulta...

Arhitectura unui calculator

Memoriu justificativ Sistemul birotic este un concept informatic ce cuprinde un ansamblu interconectat de echipamente si de programe, de mijloace...

Sisteme Europene de Plăți

Cap.1 Sistemele de plai- concepte. Sistemele de plai ca parte a sistemelor bancare s-au dezvoltat odata cu plaile fara numerar. Conceptul...

Echipamente Periferice

Cap1. Introducere Componentele unui PC Elementele esentiale ale sistemelor birotice sunt: echipamentele fizice (componenta hard), programele...

Despre Hard-Disk

DINCOLO DE BARIERÃ O NOUÃ TEHNOLOGIE PROMITE SÃ CREASCÃ SI MAI MULT CAPACITATEA HARDDISK-URILOR,ÎN PRAGUL SECOLULUI XXI.100GB,200GB SAU…1TB? În...

Placa de Bază

Caracteristici generale ale placii de baza Placa de baza este un dizpozitiv ‘de baza’ un ‘pamânt’ pe care ‘se planteaza’ celelalte componente ....

Ai nevoie de altceva?