P1. ¿Qué es una interrupción? ¿Qué es una excepción? ¿Cuál es la diferencia entre los dos?
A:
1) El control de interrupción se genera para superar la ineficiencia del procesador causada por el uso de los servicios de control de consulta de programas en la interfaz de E /S. Su principal ventaja es que solo La respuesta del procesador se obtiene cuando la interfaz de E /S necesita servicio y el procesador no necesita realizar consultas continuas; por lo tanto, la interrupción inicial es toda para el dispositivo externo, llamada interrupción externa (o interrupción de hardware); Br>
2) Una excepción también se denomina interrupción interna. Se genera para resolver algunos eventos aleatorios y conveniencias de programación cuando la máquina se está ejecutando.
3) Hay 256 tipos de interrupciones disponibles externamente. La interrupción enmascarada (INTR) y la interrupción no enmascarable externa (NMI), las solicitudes de interrupción (IRQ) generadas por todos los dispositivos de E /S causan interrupciones enmascarables, y los fallos causados por eventos de emergencia (como fallas de hardware) generan interrupciones no enmascarables; Br>
4) Las excepciones se dividen en fallas y trampas. Su característica común es que ni el controlador de interrupción ni la máscara se utilizan (la excepción es en realidad la señal del terminal enviada por la CPU).
Q2. ¿Qué es un vector de interrupción? ¿Cómo distribuye Linux los vectores de interrupción?
A:
1) Para que el procesador identifique fácilmente cada fuente de interrupción, las interrupciones de 256 vectores están numeradas de 0 a 255, es decir, se asigna un código de tipo de interrupción n. Llame a este vector entero sin signo de 8 bits un vector, el vector de interrupción;
2) Linux asigna 256 vectores de interrupción de la siguiente manera:
A. Los vectores numerados de 0 a 31 corresponden a Interrupciones anormales y no enmascarables;
B. Los vectores numerados 32 ~ 47 (es decir, interrupciones causadas por dispositivos de E /S) se asignan a interrupciones enmascarables;
C. Restante, numeración Los vectores de 48 a 255 se utilizan para identificar interrupciones suaves; Linux usa solo uno de ellos (es decir, 128 o vectores 0x80) para implementar llamadas al sistema.
Q3. ¿Qué es la tabla del descriptor de interrupciones? ¿Qué es un descriptor de puerta?
A:
1) En el modo de dirección real, la CPU utiliza 1 KB de espacio a partir de 0 como una tabla de vectores de interrupción, y cada entrada en la tabla ocupa 4 bytes. Sin embargo, en el modo de protección, la tabla de vectores de interrupción que consta de 4 bytes de entradas no puede satisfacer el requisito, por lo tanto, en el modo de protección, las entradas en la tabla de vectores de interrupción se componen de 8 bytes, y la tabla de vectores de interrupción también se denomina descripción de interrupción. Tablas (IDT);
2) Cada entrada en el IDT se denomina descriptor de puerta.
P4. ¿Qué tipos de descriptores de puerta hay? ¿Cuál es la diferencia entre ellos?
A: El código de tipo en el descriptor de la puerta ocupa 3 bits, lo que indica el tipo del descriptor de la puerta, que se divide principalmente en las siguientes categorías:
1) Puerta de interrupción: su código de tipo Is 110, contiene el selector y el desplazamiento del segmento del segmento donde se encuentra el controlador de interrupciones o excepciones;
2) Puerta de captura: su código de tipo es 111;
3) Puerta del sistema: está especialmente establecida por el kernel de Linux para permitir que los procesos en modo de usuario accedan a trampillas.
En los problemas de seguridad de la red cada vez más importantes de la actualidad, ¿cómo garantizar
El sistema operativo Linux más popular para la distribución es Ubuntu. Pero esta vez estamos ejecut
xenserver XenCenter puede vincular tarjetas de red, admite el modo activo-activo y activo-en espera,
Ext2Fsd es una buena herramienta para leer y escribir particiones de Linux. Este software se prese
Servicio Linux: resumen del servicio haldaemon
Linux agregar comando de arranque
Administración más efectiva Cinco trucos geniales de la línea de comandos de Linux
El comando de captura de paquetes de Linux
Cómo dejar que IE abra una nueva ventana para mostrar
Estudio en profundidad de la estrategia de programación de Lvs
Más de 80 comandos y herramientas comunes de Linux
Consejos después de instalar el sistema Windows XP
¿Qué debo hacer si actualizo la opción de degradación de usuario de Win10 a Windows.old?
La versión de Win8 Flash es demasiado baja pero no se puede instalar cómo hacerlo
Win8 Lu Master desinstaló la carpeta de residuos sucios LuDaShi cómo eliminar?
¿Cómo exportar e importar el registro del sistema XP?
El mayor desafío es la solución de emergencia cuando el sistema tiene problemas.
¿Cuál es el uso del modo de seguridad Win10? Modo seguro
Microsoft reveló oficialmente más información de actualización gratuita para Win10 en el primer año
Compartir cómo compilar contraseñas que no son fáciles de olvidar y difíciles de descifrar