[pso] [Tema2][Linux] kfifo

Octavian Voicu octavian.voicu at gmail.com
Thu Apr 15 21:49:18 EEST 2010


2010/4/15 Sergiu Iordache <sergiu.iordache at gmail.com>:
> Salut, din pacate până la urmă am folosit kfifo care vine pe masina
> virtuala pentru ca erau exportate simboluri pe acolo care se suprascriau
> și nu am reușit să îl fac să meargă.

Exista si varianta sa va implementati *singuri* un fel de kfifo.

Va trebuie o structura care sa contina:
- un buffer
- doi pointeri (pt implementarea cozii circulare)
- o variabila atomica (care sa tina numarul de bytes din buffer; e
nevoie pentru a putea distinge intre conditiile buffer full si buffer
empty si a putea executa in paralel scrieri si citiri din buffer, fara
a fi nevoie de spinlock-uri).

Aveti nevoie de functii:
- pentru initializarea bufferului
- pentru a verifica daca e gol
- pentru a verifica daca e plin
- pentru a scrie un caracter in buffer
- pentru a citi un caracter din buffer

E un exercitiu interesant :)

In plus, daca il implementati asa pe Linux puteti porta foarte rapid
codul si pentru Windows (unde sigur nu aveti kfifo).

Octavian


More information about the pso mailing list