[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