fbpx
Wikipedia

Cambio de contexto

Un cambio de contexto consiste en la ejecución de una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un hilo o proceso para dar paso a la ejecución de otro distinto.

Motivación

En principio, una computadora que dispone de un único microprocesador solamente puede ejecutar un proceso al mismo tiempo. No es posible ejecutar otro proceso hasta que ha finalizado el anterior.

No obstante, es posible alternar el uso de la CPU entre varios procesos durante cortos periodos de tiempo. Esto se denomina ejecución concurrente o multiprogramación.

Además, durante la ejecución de un proceso existen muchos tiempos muertos donde no es necesario el uso de la CPU . Se trata de los momentos en los que el programa está esperando a que finalice una operación de entrada/salida, por ejemplo, una lectura desde el disco duro. Estos tiempos muertos podrían aprovecharse para ejecutar otro programa.

Cómo funciona

Para hacer realidad la ejecución concurrente en primer lugar es necesario que el programa en ejecución se detenga voluntariamente. Puesto que esto no va a ocurrir nunca, es imprescindible la intervención del hardware. Gracias a las interrupciones generadas por el propio ordenador, es posible expulsar el programa en ejecución para dar paso al sistema operativo.

Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto. Esta rutina realiza las siguientes operaciones en el orden indicado:

  1. Salvar el estado del programa que se estaba ejecutando. El estado, también denominado contexto, consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal.
  2. Seleccionar otro programa para ejecutar. Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo.
  3. Restaurar el estado del programa seleccionado. Para ello, se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador.
  4. Ejecutar el programa seleccionado. La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado.

Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware. Dicho temporizador hace saltar una interrupción cada 150 milisegundos aproximadamente (según sistema operativo).

La ejecución concurrente también es aplicable a computadoras Multiprocesador. En este caso, se llevan a cabo cambios de contexto en cada microprocesador de manera independiente.

Véase también

  •   Datos: Q1061424

cambio, contexto, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, octubre, 2012, cambio, contexto, consiste, ejecución, rutina, perteneciente, núcleo, sistema, operativo, multitarea, computadora, cuyo, p. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 1 de octubre de 2012 Un cambio de contexto consiste en la ejecucion de una rutina perteneciente al nucleo del sistema operativo multitarea de una computadora cuyo proposito es parar la ejecucion de un hilo o proceso para dar paso a la ejecucion de otro distinto Motivacion EditarEn principio una computadora que dispone de un unico microprocesador solamente puede ejecutar un proceso al mismo tiempo No es posible ejecutar otro proceso hasta que ha finalizado el anterior No obstante es posible alternar el uso de la CPU entre varios procesos durante cortos periodos de tiempo Esto se denomina ejecucion concurrente o multiprogramacion Ademas durante la ejecucion de un proceso existen muchos tiempos muertos donde no es necesario el uso de la CPU Se trata de los momentos en los que el programa esta esperando a que finalice una operacion de entrada salida por ejemplo una lectura desde el disco duro Estos tiempos muertos podrian aprovecharse para ejecutar otro programa Como funciona EditarPara hacer realidad la ejecucion concurrente en primer lugar es necesario que el programa en ejecucion se detenga voluntariamente Puesto que esto no va a ocurrir nunca es imprescindible la intervencion del hardware Gracias a las interrupciones generadas por el propio ordenador es posible expulsar el programa en ejecucion para dar paso al sistema operativo Cuando esto ocurre el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto Esta rutina realiza las siguientes operaciones en el orden indicado Salvar el estado del programa que se estaba ejecutando El estado tambien denominado contexto consiste en los valores de todos los registros del microprocesador Se copian en la memoria principal Seleccionar otro programa para ejecutar Entre todos los programas que esten preparados para ejecutarse la rutina selecciona uno de ellos siguiendo algun algoritmo equitativo Restaurar el estado del programa seleccionado Para ello se toma el estado previamente copiado en la memoria principal y se vuelca en los registros del microprocesador Ejecutar el programa seleccionado La rutina termina su ejecucion saltando a la instruccion que estaba pendiente de ejecutar en el programa seleccionado Este ciclo se repite bien cada vez que ocurre un evento de entrada salida bien cuando vence un temporizador programado en el hardware Dicho temporizador hace saltar una interrupcion cada 150 milisegundos aproximadamente segun sistema operativo La ejecucion concurrente tambien es aplicable a computadoras Multiprocesador En este caso se llevan a cabo cambios de contexto en cada microprocesador de manera independiente Vease tambien EditarMultiproceso Datos Q1061424Obtenido de https es wikipedia org w index php title Cambio de contexto amp oldid 120649751, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos