Fecha de última modificación:

28 Agosto, 2010 - 18:02

Open Control Blocks (OCB)

El OCB contiene la información activa sobre el recurso abierto. Por consiguiente, si un proceso abre el mismo archivo dos veces, cualquier llamada al lseek () usando un FD no afectará el punto seek del otro FD.

Lo mismo es válido para la apertura del mismo archivo por diferentes procesos. El siguiente diagrama muestra dos procesos, en el cuál un proceso abre el mismo archivo dos veces, y el otro lo abre una vez. No hay ningún FD compartido.

 

Open Control Blocks

Diversos FD en uno o más procesos pueden referirse al mismo OCB. Esto se cumple cuando:

  • Un proceso puede usar dup (), dup2 (), o fcntl () funciones para crear un descriptor de archivo duplicado que se refiere al mismo OCB.
  • Cuando un nuevo proceso se crea vía fork (), spawn (), o exec (), todos los descriptores de archivo abiertos se heredan por defecto por el nuevo proceso; estos descriptores heredados se refieren al mismo OCB como el descriptor de archivo correspondiente en el proceso padre.

Cuando varios FD se refieren al mismo OCB, cualquier cambio en el estado del OCB se ve inmediatamente en todos los procesos que tienen el descriptor de archivo unido al mismo OCB.
El siguiente diagrama muestra dos procesos, en el cuál uno abre un archivo dos veces, entonces hace un dup() para conseguir un tercero. El proceso crea a un hijo que hereda todos los archivos abiertos.

 

Open Control Blocks

Se puede prevenir que un DF pueda heredarse cuando usted llama a un SPAWN () o exec () llamando a la función fcntl () y seteando la bandera de FD_CLOEXEC.

Envíanos tús preguntas, comentarios o sugerencias

 

Solicita Asistencia

Llámenos al:+54-9-11-32788353

Envíenos un e-mail: consultas@ ---Para enviar el SPAM--- francisconi.org

Skype Status for francisconi.hugo.adrian
 

Suscríbete

Suscríbete y recibe las últimas actualizaciones, noticias y más ...
Zircon - This is a contributing Drupal Theme
Design by WeebPal.