elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  GNU/Linux (Moderador: MinusFour)
| | |-+  Como activar/desactivar IRQs
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como activar/desactivar IRQs  (Leído 4,018 veces)
robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Como activar/desactivar IRQs
« en: 29 Junio 2014, 02:13 am »

Hola!

Según leo en la wikipedia, una IRQ :

Citar
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 Desconectado

Mensajes: 1.466

♪ [8675309] ♪


Ver Perfil WWW
Re: Como activar/desactivar IRQs
« Respuesta #1 en: 29 Junio 2014, 17:30 pm »

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 Desconectado

Mensajes: 156



Ver Perfil
Re: Como activar/desactivar IRQs
« Respuesta #2 en: 30 Junio 2014, 01:04 am »

Gracias!

Con lo del código me refiero a esta parte que pone en la wikipedia:
Citar
...  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 Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Como activar/desactivar IRQs
« Respuesta #3 en: 30 Junio 2014, 02:53 am »

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

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Re: Como activar/desactivar IRQs
« Respuesta #4 en: 1 Julio 2014, 00:44 am »

Citar
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 Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Como activar/desactivar IRQs
« Respuesta #5 en: 1 Julio 2014, 01:07 am »

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/Interrupts

Saludos!
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

robertito_prado

Desconectado Desconectado

Mensajes: 156



Ver Perfil
Re: Como activar/desactivar IRQs
« Respuesta #6 en: 2 Julio 2014, 19:34 pm »

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Activar\Desactivar conexion de red
Programación Visual Basic
sircid 4 4,254 Último mensaje 13 Agosto 2006, 01:10 am
por sircid
Activar y desactivar Timer con 1 tecla
Programación General
BrokerJoker 5 10,469 Último mensaje 3 Enero 2012, 19:53 pm
por HdM
¿Cómo activar o desactivar características en Windows 10?
Windows
DeMoNcRaZy 4 12,991 Último mensaje 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 Último mensaje 3 Abril 2016, 21:28 pm
por wolfbcn
Cómo activar, desactivar y configurar el contestador en Movistar
Noticias
wolfbcn 0 1,831 Último mensaje 19 Mayo 2019, 13:58 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines