[pso] Tema 2 Linux continuare

Octavian Purdila pso@cursuri.cs.pub.ro
Thu, 31 Mar 2005 16:28:05 +0300


On Thursday 31 March 2005 16:13, Horia Geanta wrote:
> Intr-adevar din testul pus la dispozitie reiese ceea ce a spus
> Razvan: test("open COM2", (com2=open(com2_path, O_RDWR)) >= 0);
>  test("open COM2", open(com2_path, O_RDWR) == -1 && errno == EBUSY);
>
>  Insa azi am avut laborator de PSO cu Doina si am discutat despre
> problema acceselor concurente la un port serial. Ne-a spus ca s-ar
> putea ca testul sa fie gresit din punctul acesta de vedere (adica
> s-ar dori ca noi sa facem sincronizari pentru acces concurent etc.).
> As dori un raspuns "oficial" in aceasta problema (avand in vedere ca
> se schimba multe lucruri in driver in functie de raspuns).
>
>

Pentru a simplifica sincronizarile, un singur proces poate deschide 
device-ul. However, exista in continuare probleme de sincronizare:

- thread-urile procesului pot accesa concurent rutinele de read/write; 
nu trebuie sa luati in calcul acest caz

- trebuie sa va sincronizati intre read/write si rutinele de intrerupere

- trebuie sa sincronizati corespunzator FLUSH si CLEAR

tavi