Autor
|
Tema: Como activar/desactivar IRQs (Leído 4,018 veces)
|
robertito_prado
Desconectado
Mensajes: 156
|
Hola! Según leo en la wikipedia, una IRQ : En el contexto de la informática, una interrupción (del inglés Interrupt Request, también conocida como petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa, sino que pertenece al sistema operativo o al BIOS. Una vez finalizada dicha subrutina, se reanuda la ejecución del programa.
Pero leyendo esto me quedan muchas dudas... ¿Una IRQ la genera el sistema de forma automática o es tarea del administrador generarla en un momento dado? Es que si en teoría interrumpe la ejecución actual y ejecuta un código específico...Supongo que ese código se podrá modificar , es decir, lo puede editar el administrador, ¿no? Gracias de antemano. Saludos!
|
|
|
En línea
|
Mira a tu alrrededor y llora, dime que cojones se valora
|
|
|
Slava_TZD
Wiki
Desconectado
Mensajes: 1.466
♪ [8675309] ♪
|
No las 'genera' el sistema de forma automática, las maneja el kernel de forma automática, cuando presionas una tecla o haces una llamda al sistema por ejemplo...Sobre lo del código, no se entiende que es lo que quieres decir y que deseas modificar.
|
|
|
En línea
|
The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
|
|
|
robertito_prado
Desconectado
Mensajes: 156
|
Gracias! Con lo del código me refiero a esta parte que pone en la wikipedia: ... es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
¿A que se refiere con código específico ? ¿Ese código también lo genera el kernel o no ? Saludos.
|
|
|
En línea
|
Mira a tu alrrededor y llora, dime que cojones se valora
|
|
|
kub0x
Enlightenment Seeker
Colaborador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Piensa que el hardware necesita ser accedido por la parte lógica del sistema, para ello los OS utilizan drivers (controladores de dispositivos), los cuales completan una interfaz de comunicación para el envio o recibimiento de datos. Obviamente el Kernel se ocupa de gestionar dichos accesos.
No te voy a liar simplemente cuando una IRQ sucede se cambia de modo usuario a supervisor (Kernel) y se busca la función de interrupción correspondiente a la IRQ. Si pulsas una tecla, se genera una IRQ y se llama a la rutina X que pertenece al driver Y.
Todas esas rutinas se generan al cargar el Kernel del sistema, todas ellas en la IDT (Interrupt Descriptor Table).
Saludos.
|
|
|
En línea
|
|
|
|
robertito_prado
Desconectado
Mensajes: 156
|
Si pulsas una tecla, se genera una IRQ y se llama a la rutina X que pertenece al driver Y. Entonces se ejecutaría el código (rutina X) del driver Y no? Gracias!
|
|
|
En línea
|
Mira a tu alrrededor y llora, dime que cojones se valora
|
|
|
kub0x
Enlightenment Seeker
Colaborador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
El proceso es el siguiente: 1. Se genera una IRQ en un proceso que responde a un evento (ej: pulsación de una tecla). 2. Al haberse generado una interrupción sucede un cambio de contexto (cambio de modo Usuario a Kernel). 3. La IRQ es procesada por el OS. Se busca la función que maneja la pulsación de la tecla en una tabla de rutinas (IDT) de interrupción. En la IDT no solo residen rutinas para manejar Interrupciones Hardware (IRQ) si no también Interrupciones Software. 4. Se ejecuta dicha rutina en modo Kernel para procesar la IRQ. 5. Al finalizar se devuelve el control al contexto que generó la IRQ. Obviamente el código que reside en esas rutinas se puede alterar, interceptar etc es lo que hacen los rootkit, pero necesitas estar en ring0. Si te interesa lee un poquillo sobre el tema, aquí te dejo + info -> http://wiki.osdev.org/InterruptsSaludos!
|
|
|
En línea
|
|
|
|
robertito_prado
Desconectado
Mensajes: 156
|
Muchas gracias!
Pero eso de que se puede alterar e interceptar...¿Que es ring0?
|
|
|
En línea
|
Mira a tu alrrededor y llora, dime que cojones se valora
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Activar\Desactivar conexion de red
Programación Visual Basic
|
sircid
|
4
|
4,254
|
13 Agosto 2006, 01:10 am
por sircid
|
|
|
Activar y desactivar Timer con 1 tecla
Programación General
|
BrokerJoker
|
5
|
10,469
|
3 Enero 2012, 19:53 pm
por HdM
|
|
|
¿Cómo activar o desactivar características en Windows 10?
Windows
|
DeMoNcRaZy
|
4
|
12,991
|
31 Agosto 2015, 15:43 pm
por Eleкtro
|
|
|
Cómo activar o desactivar la función de hibernación en Windows 10
Noticias
|
wolfbcn
|
0
|
2,185
|
3 Abril 2016, 21:28 pm
por wolfbcn
|
|
|
Cómo activar, desactivar y configurar el contestador en Movistar
Noticias
|
wolfbcn
|
0
|
1,831
|
19 Mayo 2019, 13:58 pm
por wolfbcn
|
|