Autor
|
Tema: como se interrumpe un proceso en ejecucion en un OS de tiempo compartido? (Leído 8,273 veces)
|
MRx86
Desconectado
Mensajes: 88
Math's the way to do philosophy with the universe
|
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
|
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
Mensajes: 88
Math's the way to do philosophy with the universe
|
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
Mensajes: 88
Math's the way to do philosophy with the universe
|
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
|
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...? 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
|
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-robinTen 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
|
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
Mensajes: 88
Math's the way to do philosophy with the universe
|
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
|
De nada, pero oye que hay libros sobre funcionamiento de CPUs y tal...
|
|
|
En línea
|
|
|
|
Orubatosu
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como agregar un check box en tiempo de ejecucion????
Programación Visual Basic
|
agutin1983
|
0
|
1,685
|
21 Noviembre 2005, 19:55 pm
por agutin1983
|
|
|
Cambiar el nombre del proceso en tiempo de ejecución
Programación Visual Basic
|
comotucorreo
|
0
|
1,703
|
4 Marzo 2006, 20:38 pm
por comotucorreo
|
|
|
JTable... como agregar filas en tiempo de ejecucion
Java
|
Lu15_CL4
|
6
|
40,141
|
31 Mayo 2008, 03:17 am
por Lu15_CL4
|
|
|
¿Como crear imagenes en tiempo de ejecucion?
.NET (C#, VB.NET, ASP)
|
Brian1511
|
2
|
3,279
|
5 Diciembre 2012, 18:17 pm
por Brian1511
|
|
|
Cómo adjuntar (attach) un proceso en ejecución a mi proyecto
.NET (C#, VB.NET, ASP)
|
K4PR1C0RN10
|
0
|
2,098
|
21 Febrero 2022, 02:27 am
por K4PR1C0RN10
|
|