Autor
|
Tema: (Consulta) ¿Por qué Windows no usa interrupciones? (Leído 3,032 veces)
|
class_OpenGL
Desconectado
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
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
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
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/SYSENTERNo 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
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
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
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
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.htmhttp://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
Mensajes: 437
Si usas Direct3D, no eres mi amigo :P
|
Muchas gracias. Me ha costado un poco xD (no es que sea complicado, es que me he comido el coco )
|
|
|
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
Mensajes: 5.966
Israel nunca torturó niños, ni lo volverá a hacer.
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Interrupciones AverTV GO + More TV
Multimedia
|
HollywoodStar
|
1
|
3,218
|
17 Febrero 2005, 10:06 am
por HollywoodStar
|
|
|
Interrupciones en VB
Programación Visual Basic
|
el_chente23
|
4
|
5,714
|
18 Mayo 2005, 22:47 pm
por Slasher-K
|
|
|
Interrupciones
Programación C/C++
|
@synthesize
|
1
|
3,369
|
13 Junio 2010, 12:59 pm
por Eternal Idol
|
|
|
Todas las interrupciones del DOS
ASM
|
x64core
|
0
|
2,677
|
17 Noviembre 2011, 06:10 am
por x64core
|
|
|
interrupciones
ASM
|
-dominique-
|
7
|
4,915
|
14 Diciembre 2012, 00:31 am
por -dominique-
|
|