- Descriptor de fichero
-
Descriptor de fichero
El término "descriptor de fichero" es usado generalmente en sistemas operativos POSIX. En la terminología de Microsoft Windows y en el contexto de la biblioteca stdio, se prefiere el término "manejador de ficheros", ya que éste es técnicamente un objeto diferente.
En POSIX, un descriptor de fichero es un entero, específicamente del tipo int de C. Hay 3 descriptores de fichero estándar de POSIX que presumiblemente tiene cada proceso, salvo quizá los demonios:
-
-
Valor entero Nombre 0 Entrada estándar (stdin) 1 Salida estándar (stdout) 2 Error estándar (stderr)
-
Generalmente, un descriptor de fichero es una clave a una estructura de datos residente en el núcleo, que contiene detalles de todos los ficheros abiertos. En POSIX, esta estructura de datos se llama "tabla de descriptores de ficheros", y cada proceso tiene la suya. La aplicación que lanza un usuario pasa al núcleo la clave abstracta mediante una llamada al sistema, y el núcleo tendrá acceso al archivo a nombre de la aplicación, que se basará en la clave. Esa misma aplicación no puede acceder a la tabla de descriptores de fichero directamente, ni para leer ni para escribir.
En los sistemas Unix, los descriptores de fichero se pueden referir a ficheros, directorios, dispositivos de bloques o dispositivos de caracteres (también llamados "ficheros especiales"), sockets, FIFOs (también llamados "tuberías con nombre") o tuberías sin nombre.
El manejador de ficheros en las rutinas de la biblioteca stdio de Unix es, técnicamente, un puntero o una dirección a la primera capa de administración de una interfaz adicional (la interfaz al flujo de fichero stdio), que se apila encima del descriptor de fichero de bajo nivel real. Como "manejador de fichero" se refiere a esta interfaz adicional, no es intercambiable por "descriptor de fichero".
Enlaces externos
Como saber la cantidad de archivos abiertos utilizando los descriptores de archivo
Categoría: Unix -
Wikimedia foundation. 2010.