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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Informática
| |-+  Hardware (Moderador: Aprendiz-Oscuro)
| | |-+  [duda] vector de interrupcion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [duda] vector de interrupcion  (Leído 1,570 veces)
MRx86

Desconectado Desconectado

Mensajes: 89


Math's the way to do philosophy with the universe


Ver Perfil
[duda] vector de interrupcion
« en: 12 Febrero 2017, 06:20 am »

Hola buena noche, tengo una pequena duda sobre el vector de interrupciones; cuando un dispositivo le avisa al controlador de interrupciones que acaba de terminar lo que estaba haciendo (por ejemplo, un disco avisando que acaba de terminar de escribir en un sector un dato), y este (el controlador de interrupcion) activa el pin de interrupcion de la CPU enviandole a esta (a la CPU) el numero del dispositivo, el OS utiliza este numero como indice en el vector de interrupciones para obtener el manejador (o handler) de interrupciones de ese dispositivo?, o sea cada vez que se inicia un trabajo con un dispositivo se guarda un numero que se necesita para obtener este manejador de interrupcion por la CPU? la pregunta viene de un libro que estoy leyendo y eso nu me quedo muy claro... (pongo eso en negritas para resaltar que esa es la pregunta en si)

Gracias y saludos!.


« Última modificación: 12 Febrero 2017, 06:22 am por MRx86 » En línea

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein
Randomize
Colaborador
***
Desconectado Desconectado

Mensajes: 20.000


Ver Perfil
Re: [duda] vector de interrupcion
« Respuesta #1 en: 12 Febrero 2017, 06:58 am »

Mira...

Imagina un procesador, e imagínalo quieto, e imagínalo quieto y esperando a que "algo" le pida hacer algo, cuando se ponga a ello hasta que no termine no pasará a otra cosa, pero están los multinúcleo, que inician varias tareas a la vez...

Un núcleo va por interrupciones o llamadas (estás haciendo una cosa y puedes inciar otra), varios núcleos funcionan igual, pero son varias las tareas las que se pueden realizar a la vez de manera completa (con mi núcleo cuando navego interrumpo la kissfm al cambiar de página).

Cuatro núcleos no son la multiplicación por cuatro de un núcleo, de hecho controlando un poco el apartado cachés del procesador un i7 (4 núcleos físicos + 4 núcleos lógicos) no hace el doble que un i3 (2 núcleos físicos + 2 núcleos lógicos), como mucho el 25% más.


Un saludo.



En línea

kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.442


S3C M4NI4C


Ver Perfil
Re: [duda] vector de interrupcion
« Respuesta #2 en: 12 Febrero 2017, 07:29 am »

Cuando un dispositivo hardware requiere realizar una tarea lanza una IRQ (interrupt request) desde el controlador (driver) hardware, de esta forma se señaliza al procesador en forma de evento, por lo tanto el procesador realizará dicha tarea.

Como Randomize dice, los procesadores modernos pueden manejar varias tareas a la vez, pero realmente no es "a la vez" hay un scheduler el cual se encarga de asignar un identificador a cada tarea y la trae al frente o al background segun las IRQs o la capacidad de trabajo requerida por los dispositivos. El Dispatcher se encarga de guardar en registro el contexto del proceso actual y cargar el contexto del proceso traído al frente, de esta manera intercalas dos procesos satisfactoriamente.

En software es harina de otro costal, pero el término es extrapolable.

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

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: [duda] vector de interrupcion
« Respuesta #3 en: 12 Febrero 2017, 10:00 am »

De hecho y como curiosidad, hace años (bastantes) en los tiempos de procesadores 386, 486 y demás, las diferentes tarjetas de un ordenador tenían un conjunto de "jumpers" para indicar manualmente la interrupción de cada dispositivo

Normalmente los dispositivos físicos no lanzan interrupciones directamente a la cpu, para eso tienen pequeños procesadores especializados con su propio software que se encargan de esos menesteres. Por ejemplo los discos duros lanzan interrupciones si, pero a la circuitería de la controladora de discos. Esta gestiona el uso de los discos y lanza a su vez las interrupciones correspondientes a la cpu. Lo mismo que los demás dispositivos.

Vamos, que hay una serie de capas. Y de hecho en los sistemas operativos normalmente no se accede tampoco directamente al hardware, sino que lo habitual es que se tenga que hacer "si o si" a través de los protocolos definidos por ese sistema
En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
MRx86

Desconectado Desconectado

Mensajes: 89


Math's the way to do philosophy with the universe


Ver Perfil
Re: [duda] vector de interrupcion
« Respuesta #4 en: 12 Febrero 2017, 15:11 pm »

Gracias Randomize, kub0x y Orubatosu, me aclararon mis dudas :D.

Saludos!
En línea

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein
Randomize
Colaborador
***
Desconectado Desconectado

Mensajes: 20.000


Ver Perfil
Re: [duda] vector de interrupcion
« Respuesta #5 en: 12 Febrero 2017, 15:36 pm »

Ya te paso por IM el IBAN de mi cuenta.

A ver si eres generoso  :D :D :D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda sobre vector
Java
abissmalty 2 1,771 Último mensaje 20 Febrero 2012, 02:20 am
por .rn3w.
Duda Pregunta Instanciación Vector STL « 1 2 »
Programación C/C++
Jose_Alberto87 10 2,743 Último mensaje 7 Julio 2013, 16:58 pm
por amchacon
[Resuelto] Duda con destructores - vector de una clase
Programación C/C++
X3R4CK3R 8 2,188 Último mensaje 15 Julio 2013, 17:25 pm
por X3R4CK3R
DUDA OCZ VECTOR
Hardware
Annubiis 7 2,859 Último mensaje 17 Septiembre 2013, 13:00 pm
por topomanuel
duda c++ vector - file
Programación General
sipotegamer 0 1,364 Último mensaje 23 Mayo 2017, 05:20 am
por sipotegamer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines