Hace referencia recuento del núcleo de Linux kernel objetos?
Pregunta
Si 2 descriptores de fichero se dupped en el mismo archivo (es decir 506
y STDOUT
), será invocando close(506)
limpieza el objeto asociado por tanto y hacer STDOUT
inutilizable? ¿O es que el kernel aplicar el recuento de referencias para sus archivos?
Solución
El recuento de referencias implementos del núcleo, por lo que el objeto de núcleo no se cierra hasta que todos los identificadores de archivo que apunta a que están cerrados.
Otros consejos
contadores de referencia son ampliamente utilizados en el interior del núcleo para evitar condiciones de carrera debido a la asignación concurrente y la liberación de un recurso. Un contador de referencia es simplemente un contador de atomic_t asociado a un recurso específico, como una página de memoria, un módulo o un archivo. El contador se incrementa atómicamente cuando una trayectoria de control de núcleo comienza a utilizar el recurso, y se disminuye cuando un control kernel acabados de ruta utilizando el recurso. Cuando el contador de referencia se convierte en cero, no se utiliza el recurso, y puede ser liberado si es necesario.
Es posible que cuidar para ver esto si quiere mirar a través de esta para una visión general de la aplicación del núcleo Linux recuento de referencias.