Tecnología

Inicio

Kernel y Userland no están sincronizados

Kernel y Userland no están sincronizados


Tres partes componen un sistema informático: el hardware, el núcleo del sistema y el entorno de usuario. aplicaciones de espacio de usuario necesitan el kernel para hacer que el hardware realice las tareas necesarias para reproducir un archivo de música, acceder a Internet o escriba un informe. Cuando una aplicación de espacio de usuario y el kernel utilizan una versión diferente de un compilador tecla o biblioteca del sistema, se dice que el sistema sea "fuera de sincronización". En los sistemas BSD Unix, es posible obtener un "espacio de usuario y el núcleo están fuera de sincronía" mensaje de error.

Kernel y utilidades Interacciones

Una aplicación de espacio de usuario que necesita para instalar y utilizar puede requerir un archivo de servicio o biblioteca que sólo se encuentra en la última actualización de una biblioteca de kernel o un controlador de hardware. Algunos programadores de aplicaciones de espacio de usuario estáticamente bibliotecas de vínculos a sus aplicaciones. Una aplicación enlazado estáticamente no se compila si una biblioteca que necesita no está presente. Si una aplicación está vinculado dinámicamente a una versión de la biblioteca no tiene, sin embargo, la aplicación compila, y es posible que no conoce su sistema está fuera de sincronización hasta que realmente se ejecuta la aplicación.

Enfoque BSD

Los sistemas BSD se distribuyen como un paquete completo que incluye el núcleo y un gran número de aplicaciones de entorno de usuario. La ventaja de este enfoque es que todas las aplicaciones, los servicios públicos, las bibliotecas y los controladores están diseñados para una versión específica del núcleo. Además, todos los archivos kernel y utilidades de código se compilan utilizando las mismas bibliotecas de versión del compilador y del compilador. Cualquier discrepancia de versión entre una aplicación de espacio de usuario y los servicios del núcleo que necesita son tratados antes de una distribución BSD vuelve a estar disponible para el público.

Enfoque de Linux

A diferencia de BSD, el código fuente del núcleo de Linux se distribuye separada de todas las aplicaciones de espacio de usuario. distribuciones de Linux como Fedora o Debian pueden usar la misma versión del kernel, pero estructurar su entorno de espacio de usuario en diferentes ya menudo incompatibles maneras. Es posible que una distribución de Linux que contiene algunas aplicaciones de espacio de usuario que fueron compilados por una versión del núcleo y otros que fueron compilados en contra de otra versión del núcleo.

Mundial de la reconstrucción

Una forma de BSD usuarios pueden evitar el "espacio de usuario y el núcleo están fuera de sincronía" errores es reconstruir todo el sistema cada vez que surja la necesidad de actualizar el kernel o usar la versión más reciente de un controlador de hardware o aplicación de espacio de usuario. Este proceso se llama "mundo reconstrucción." La secuencia exacta de etapas varía entre distribuciones BSD. De acuerdo con el manual de FreeBSD, sin embargo, las medidas incluyen una copia de seguridad del sistema actual, adquirir el código fuente de la versión BSD deseada, la construcción de un nuevo compilador de código fuente, compilar e instalar el nuevo kernel, a continuación, crear un nuevo espacio de usuario, totalmente sincronizado.