Una descripción básica del marco del controlador en sistemas Linux

Hola a todos, hoy les hablaré brevemente sobre el marco y la descripción general del controlador de Linux.

1. Tres tipos básicos de conductores

  1. Dispositivo de carbón

  2. Dispositivo de bloqueo

  3. Dispositivo de red (dispositivo de red)

2. Funciones del controlador del dispositivo

  1. Inicializar y liberar el dispositivo

  2. Transfiera datos del kernel al hardware y lea datos del hardware

  3. Lee los datos transferidos a un archivo de dispositivo mediante una aplicación y devuelve los datos solicitados por la aplicación

  4. Detectar y manejar errores del dispositivo

Acceda a hardware específico:

Acceder a hardware específico es acceder a la dirección física (como el registro del dispositivo en el procesador, la asignación de direcciones del periférico). Sin embargo, debido a la asignación de memoria de la MMU y la protección del sistema operativo, las aplicaciones que se ejecutan en modo de usuario generalmente no pueden acceder directamente a las direcciones de hardware. Por lo tanto, se necesitan controladores que actúen como intermediarios entre las aplicaciones y el hardware de acceso.

3. Mecanismo del módulo del kernel del controlador (modo de desarrollo)

Compilación estática, carga dinámica.

Linux proporciona un mecanismo de módulo del kernel. Después de que un módulo se compila en un módulo de kernel separado, no es necesario compilarlo en todo el kernel al principio. Cuando el kernel necesita agregar el módulo, no es necesario volver a compilar todo el kernel. Solo necesita insertar ( cargar) el módulo del kernel en el módulo en ejecución. Asimismo, es posible desinstalarlo desde un kernel en ejecución.

Los controladores de dispositivos Linux se pueden compilar y cargar de dos maneras:

  1. Compilado directamente en el kernel de Linux, cargado cuando se inicia Linux, el controlador se puede utilizar en cualquier momento;

  2. Compílelo en un módulo que pueda cargarse y eliminarse, cargarse con insmod y eliminarse con rmmod.

imagen

4. Marco del controlador

tres partes principales

1. Inicialización/liberación del dispositivo :

  • Responsable de inicializar y liberar el dispositivo.

  • La inicialización comprueba si el dispositivo de hardware que se va a controlar existe y si puede funcionar normalmente. Si el dispositivo es normal, verifique el dispositivo y los controladores relacionados.

  • El estado del software requerido está configurado/inicializado.

2. La primera mitad: servir E/S del sistema de archivos

  • Responsable de: leer datos del programa de aplicación a través del sistema de archivos y enviar los datos de regreso al programa de aplicación a través del sistema de archivos (capa del sistema de archivos <-> capa del controlador del dispositivo)

  • Esta parte se ejecuta mediante llamadas al sistema relacionadas con el sistema de archivos, pertenece al mismo proceso que el proceso de llamada y tiene el entorno de ejecución del proceso de llamada, pero ha cambiado del modo de usuario al modo kernel.

3. Parte inferior : E/S que sirve a dispositivos de hardware.

  • Responsable de: transferir datos del kernel al hardware, leer datos del hardware al kernel (el controlador del dispositivo solía ser <-> capa de hardware)

  • Esta parte se puede lograr mediante interrupciones, lo que puede mejorar la eficiencia del procesamiento de la CPU para la mayoría de los dispositivos.

  • Esta parte también se puede implementar sin interrupciones, siempre que se pueda completar la comunicación de datos entre la capa del controlador del dispositivo y el hardware.

imagen

1. Marco del controlador del dispositivo de caracteres

imagen

2. Bloquear el marco del controlador del dispositivo

imagen

3. Marco del controlador de dispositivos de red

imagen

Supongo que te gusta

Origin blog.csdn.net/weixin_41114301/article/details/132776250
Recomendado
Clasificación