Sisteme de Operare - Cozi de Mesaje

Imagine preview
(8/10 din 1 vot)

Acest laborator prezinta Sisteme de Operare - Cozi de Mesaje.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 6 fisiere doc, h, c de 2 pagini (in total).

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Calculatoare

Extras din document

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).

Fisiere in arhiva (6):

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

Alte informatii

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