Tuesday, April 18, 2006


Que es Futex?
A futex consists of a piece of memory (an aligned integer) that can be shared between processes; it can be incremented and decremented by atomic assembler instructions, and processes can wait for the value to become positive. Futex operations are done almost entirely in userspace; the kernel is only involved when a contended case needs to be arbitrated. This allows locking primitives implementing used futexes to be very efficient: since most operations do not require arbitration between processes, most operations can be performed without needing to perform a (relatively expensive) system call.
by Wikipedia adaptaded by Me.
El concepto de futex en esencia conciste en una porcion de memoria (de la familia de los enteros) que es compartida entre procesos, este (o sea el futex) puede ser incrmentado o decrementado por una instruccion atomica implementada en lenguaje ensamblador, entonces los procesos pueden esperar (en espera pasiva o dormidos) a el valor hasta que este tome una instancia entera postiva. Las operaciones futex estan implementadas completamente en los Userspace;

No comments: