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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  (Consulta) ¿Por qué Windows no usa interrupciones?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Consulta) ¿Por qué Windows no usa interrupciones?  (Leído 2,753 veces)
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
(Consulta) ¿Por qué Windows no usa interrupciones?
« en: 22 Diciembre 2015, 08:06 am »

Hola, muy buenas! La pregunta es bastante simple. ¿Por qué Windows no usa interrupciones para operaciones de bajo nivel? Por ejemplo, Los sistemas Unix usan su clásica interrupción 0x80 para, por ejemplo, operaciones de lectura o escritura. Sin embargo, para hacer operaciones de escritura o lectura en Windows, necesitas usar su API.

La duda se puede plantear de otra forma. ¿Tienen las interrupciones alguna desventaja clara frente al sistema que usa Windows? Gracias!


En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: (Consulta) ¿Por qué Windows no usa interrupciones?
« Respuesta #1 en: 22 Diciembre 2015, 10:04 am »

Si las usa/ba, a bajo nivel en versiones/procesadores mas antiguos usan la interrupcion 0x2E, hoy en dia (creo que en Linux tambien) se usan instrucciones especificas como systenter/syscall para pasar a modo Kernel.

http://wiki.osdev.org/SYSENTER

No deberias llamar a esta interrupcion (en produccion) ya que los numeros de los servicios varian entre diferentes versiones de Windows, en la NTDLL.dll podes ver como se hace ese trabajo de enrutado.

Ejemplo:
ntdll!NtCreateFile:
mov r10,rcx
mov eax,052h ;numero de servicio
syscall
ret


« Última modificación: 22 Diciembre 2015, 10:06 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) ¿Por qué Windows no usa interrupciones?
« Respuesta #2 en: 22 Diciembre 2015, 10:18 am »

Interesante... Pero, ¿por qué no se siguen usando las interrupciones? ¿Por qué motivo se están sustituyendo por syscall o demás instrucciones? ¿Qué desventajas tienen?

Gracias por tu respuesta!
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: (Consulta) ¿Por qué Windows no usa interrupciones?
« Respuesta #3 en: 22 Diciembre 2015, 10:26 am »

Como te decia hay instrucciones modernas especificas, estas estan optimizadas para hacer el pasaje de modo Usuario a modo Kernel.

http://www.summitsoftconsulting.com/syscallopts.htm
http://wiki.osdev.org/SYSENTER
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: (Consulta) ¿Por qué Windows no usa interrupciones?
« Respuesta #4 en: 22 Diciembre 2015, 14:09 pm »

Muchas gracias. Me ha costado un poco xD (no es que sea complicado, es que me he comido el coco :P)
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: (Consulta) ¿Por qué Windows no usa interrupciones?
« Respuesta #5 en: 22 Diciembre 2015, 15:08 pm »

De nadas  ::)
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Interrupciones AverTV GO + More TV
Multimedia
HollywoodStar 1 3,037 Último mensaje 17 Febrero 2005, 10:06 am
por HollywoodStar
Interrupciones en VB
Programación Visual Basic
el_chente23 4 5,540 Último mensaje 18 Mayo 2005, 22:47 pm
por Slasher-K
Interrupciones
Programación C/C++
@synthesize 1 3,131 Último mensaje 13 Junio 2010, 12:59 pm
por Eternal Idol
Todas las interrupciones del DOS
ASM
x64core 0 2,538 Último mensaje 17 Noviembre 2011, 06:10 am
por x64core
interrupciones
ASM
-dominique- 7 4,667 Último mensaje 14 Diciembre 2012, 00:31 am
por -dominique-
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines