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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Informática
| |-+  Hardware
| | |-+  como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?  (Leído 8,273 veces)
MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« en: 15 Marzo 2017, 19:59 pm »

buen dia, mi duda es la siguiente:

cuando el planificador de un OS de tiempo compartido (en esta suposicion el tiempo de ejecucion de cada proceso es de 1 seg) "considera" asignar el control de la CPU  a un proceso, y este proceso cumple con su tiempo de ejecucion (1seg) cual es el mecanismo para que el PC (Program Counter) se devualva al planificador de procesos?

pienso que esto se puede hacer por medio de una IRQ, pero por estar seguros.

PD: si este mecanismo se realiza mediante hardware, y este depende de la arquitectura del mismo, agradeceria que me explicasen como funcionaria en una placa ATX estandar, si no es mlestia, claro. Y si se hace mediante software, que me lo explicaran con windows NT y/o con Linux 2.x, repitiendo, si no es molestia.

saludos


« Última modificación: 15 Marzo 2017, 20:08 pm 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.599


Beautiful Day


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #1 en: 15 Marzo 2017, 20:18 pm »

Se me ocurre la tecla "Pause"...

Se me ocurre tirar del cable de corriente...

Se me ocurre saltar los plomos a tiempo...

Se me ocurre ir a tomar café...


Un saludo.


En línea

MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #2 en: 15 Marzo 2017, 20:27 pm »

Se me ocurre la tecla "Pause"...

Se me ocurre tirar del cable de corriente...

Se me ocurre saltar los plomos a tiempo...

Se me ocurre ir a tomar café...


Un saludo.

Se me ocurre que no te gusto alguna parte de mi pregunta, se puede saber que?
« Última modificación: 15 Marzo 2017, 20:28 pm por MRx86 » En línea

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

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #3 en: 15 Marzo 2017, 20:28 pm »

Se me ocurre que no te gusto alguna parte de mi pregunta, se puede saber que?

edit: boton equivocado XD. sorry.
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.599


Beautiful Day


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #4 en: 15 Marzo 2017, 20:31 pm »

Se me ocurre que no te gusto alguna parte de mi pregunta, se puede saber que?


A ver...


¿A que viene preguntar lo que pasa en la placa cuando es el procesador el que trabaja, si dijéramos el chipset, que hoy día está dentro del procesador...?



Citar
Se me ocurre la tecla "Pause"...

Se me ocurre tirar del cable de corriente...

Se me ocurre saltar los plomos a tiempo...

Se me ocurre ir a tomar café...


Se me pueden ocurrir más cosas...


Un saludo.

En línea

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #5 en: 16 Marzo 2017, 11:32 am »

Esto no tiene una respuesta sencilla. Los SO normalmente tienen varias colas donde coloca los diferentes procesos y les asigna prioridades. Puede que un proceso quede parado mientras espera un determinado evento por parte del hardware, o que espere un resultado de otro proceso. No existe un único mecanismo para ello. El SO va "dando paso" a las instrucciones de diferentes programas poniendolos en colas de ejecución.

Por decirlo de otro modo, el SO va cogiendo cada uno de los hilos de ejecución que le llegan desde los programas, selecciona parte de los mismos marcando cuando finaliza cada uno y los envía a diferentes colas (como procesadores por lo general). Luego existen diferentes tipos de políticas para priorizar que procesos se ejecutan mas a menudo y cuales menos. Cada sistema usa métodos diferentes, por ejemplo si no me equivoco mucho Windows usa el "Round Robin"

https://es.wikipedia.org/wiki/Planificaci%C3%B3n_Round-robin

Ten en cuenta que todos los procesos corren bajo la supervisión del SO. No es que el SO "ceda el control" a un hilo de programa, sino que todo corre bajo su control
En línea

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

Mensajes: 20.599


Beautiful Day


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #6 en: 16 Marzo 2017, 14:16 pm »

Habría que explicar todo lo que ocurre en el procesador desde que se arranca la PC hasta que se ejecuta un .exe.


Bastamente o muy en grosso modo, o si quieres a lo bestia, la mayor parte del tiempo el procesador se está tocando los lereles hasta que una interrupción lo ponga a hacer algo, si es multihilo multiplicas la cosa...



En línea

MRx86

Desconectado Desconectado

Mensajes: 88


Math's the way to do philosophy with the universe


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #7 en: 16 Marzo 2017, 18:38 pm »

Citar
Ten en cuenta que todos los procesos corren bajo la supervisión del SO. No es que el SO "ceda el control" a un hilo de programa, sino que todo corre bajo su control

O sea que ninguna instruccion de un programa de usuario se ejecuta directamente sobre el hardware (sobre la cpu), sino que las instrucciones "pasan" primero por el planificador que es el que las ejecuta?, entonces el palnificador hace como de maquina virtual para los programas de usuario?

Y una pregunta, el planificador puede ser un proceso como tal?, o sea como no se... scheduler.exe?, y si es un programa, alguno sabe como se llama en el kernel de linux? es que siento curiosidadsobre como funciona esto exactamente... y creo que leyendo el codigo fuente de uno real podria entender mejor esto.

gracias por responder Randomize y Orubatosu
« Última modificación: 16 Marzo 2017, 18:45 pm 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.599


Beautiful Day


Ver Perfil
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #8 en: 16 Marzo 2017, 20:39 pm »

De nada, pero oye que hay libros sobre funcionamiento de CPUs y tal...
En línea

Orubatosu


Desconectado Desconectado

Mensajes: 2.515


Ver Perfil WWW
Re: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido?
« Respuesta #9 en: 16 Marzo 2017, 22:02 pm »

Hasta donde se, Scheduler.exe no es un archivo de Windows
En línea

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines