Gate se utiliza para transferir el control del rendimiento a todos los segmentos. El nivel de evaluación de los derechos se realiza de manera diferente según el tipo de sitio y las instrucciones utilizadas. Aparte de eso, estas tres puertas son casi idénticas excepto que Call Gate tiene parámetros para calcular parámetros y que estas tres puertas tienen diferentes tipos de campos, lo mismo para todos los demás campos.
Pasando a sus respectivas funciones, se utilizan para transferir el control del código a algún procedimiento dentro de algún segmento de código. En este artículo, veremos la diferencia entre Call Gate, Interrupt Gate y Trap Gate.
Tipos de puertas:
Call Gate: La puerta telefónica es llamada por el comando CALL y JMP . Almacenado en GDL y LDT. Se dice que es similar a una puerta trampa, pero tiene una función adicional que puede transferir una serie de parámetros desde la pila de funciones del modo usuario a la pila de funciones del modo kernel. La puerta de la cerca es especial porque no se abre con un vector perturbador.
Call Gates nunca ha sido tan popular y algunas de las características se enumeran a continuación:
- No son muy buenos.
- Las puertas de valla se reemplazan fácilmente por puertas trampa.
- No son muy flexibles.
- Tiene opciones móviles muy limitadas.
Interrupt Gate: Interrupt Gate es llamado por la instrucción INT . Solo se puede almacenar solo en IDT. Lo mismo se aplica aquí, también es muy similar a una puerta trampa, pero tiene una característica adicional, es decir, todas estas puertas prohíben además la aceptación de interrupciones futuras mediante la eliminación automática de la bandera IF en el registro EFLAGS. Una puerta de interrupción es muy especial en sí misma porque la bandera IF se borra automáticamente.
Las compuertas de interrupción se utilizan de manera efectiva para interrumpir o interrumpir la administración, especialmente en máquinas basadas en PIC. La razón es la necesidad de controlar la profundidad de la pila. PIC no tiene función de recursos perturbadores. Debido a esto, por defecto, PIC solo deshabilita las interrupciones que ya han sido capturadas en el procesador. A veces, algunas interrupciones aún pueden interrumpir la administración y, para lidiar con eso, los desarrolladores del kernel se ven obligados a aumentar el tamaño de la pila del kernel, lo que conduce a nada más que retención de memoria.
Trap Gate: Trap Gate es llamado por la instrucción INT . Solo se puede almacenar solo en IDT . Esto no es más que un tipo básico de puerta porque a menudo tiene una pequeña tarea que hacer, es decir, pasa el control a la dirección particular especificada en el descriptor de puerta trampa en el segmento más privilegiado. Una puerta Trap es muy especial en sí misma porque es una solución predeterminada para la interfaz del núcleo.
Las puertas de trampa a menudo se usan en muchas cosas y algunas de ellas se enumeran a continuación:
- Activación de llamadas al sistema.
- Una implementación de gestión diferente.
- Interrumpir el rendimiento administrativo en máquinas con APIC.
Diferencia entre Call Gate, Interrupt Gate y Trap Gate:
puerta de llamada | puerta de interrupción | puerta trampa |
---|---|---|
Llamado por la instrucción CALL y JMP | Llamado por la instrucción INT | Llamado por la instrucción INT |
Almacenado en GDL y LDT | Almacenado en IDT | Almacenado en IDT |
Tiene una característica especial de transferir los parámetros. | Una característica especial es que estas puertas también prohíben la aceptación de interrupciones futuras. | ninguna característica especial |
La flexibilidad es muy inferior | La flexibilidad es mayor en comparación con la trampilla | La flexibilidad es mayor en comparación con la puerta de interrupción |
Opciones muy menos portátiles | Más opciones de portabilidad en comparación con la trampilla | Más opciones de portabilidad en comparación con la puerta de interrupción |
Publicación traducida automáticamente
Artículo escrito por priyanshugupta627 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA