[pso] intrebari tema 2 linux

Octavian Purdila tavi at cs.pub.ro
Wed Apr 18 11:55:04 EEST 2007


On Wednesday 18 April 2007 00:34, Alexandru Tudose wrote:
> Nu prea inteleg separarea intre functia de write/read si handlerele de
> intrerupere:
> 
>  - pentru testul de scriere com1 -> com2 banuiesc ca se poate folosi ceva de
> genul echo "xxx" > /dev/com1
>  - asta va apela pe rand functiile open, write si close din driverul meu
>  - in write (din cate am inteles...) pun datele in bufferul de write, sau ma
> blochez daca nu am loc
>  - cand cineva va face read pe com2, se apeleaza read care va returna ceva
> din buffer-ul de read, sau se va bloca daca nu este nimic disponibil
> 
> dar unde intra intreruperile aici? trebuie sa fac din write-ul meu din com1,
> direct outb pe i/o porturile lui com2 ceea ce va declansa o intrerupere pe
> com2 si se vor pune astfel in handler date le in bufferul de read?

Corect pentru read.

> in ce caz s-ar declansa o intrerupere de interes pentru bufferul de write?
> 

Idea este sa scrii in FIFO pana se umple, dupa care, in loc sa faci busy waiting sa astepti intreruperea care iti semnaleaza ca poti sa scrii din nou in FIFO.

> PS: driverul trebuie sa fie SMP safe?
> 

Da.

tavi


More information about the pso mailing list