Herramientas de usuario

Herramientas del sitio


so_memdirecciones

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
so_memdirecciones [2020/04/02 21:07] marianoso_memdirecciones [2020/04/02 21:27] (actual) – editor externo 127.0.0.1
Línea 24: Línea 24:
  
 Según este método, el programa principal se carga en la memoria y se ejecuta. Cuando una rutina necesita llamar a otra rutina, la rutina que realiza la invocación comprueba primero si la otra ya ha sido cargada, si no es así, se invoca el cargador de montaje reubicable para que cargue en memoria la rutina deseada y para que **actualice las tablas de direcciones** del programa con el fin de reflejar este cambio. Después, se pasa el control a la rutina recién cargada. Según este método, el programa principal se carga en la memoria y se ejecuta. Cuando una rutina necesita llamar a otra rutina, la rutina que realiza la invocación comprueba primero si la otra ya ha sido cargada, si no es así, se invoca el cargador de montaje reubicable para que cargue en memoria la rutina deseada y para que **actualice las tablas de direcciones** del programa con el fin de reflejar este cambio. Después, se pasa el control a la rutina recién cargada.
 +
 +==== Swapping ====
 +
 +Un proceso debe estar en memoria para ser ejecutado. Sin embargo, los procesos pueden ser intercambiados temporalmente, sacándolos de la memoria y almacenándolos en el backing store y volviéndolos a llevar luego a memoria para continuar su ejecución.
 +
 +Por ejemplo, supongamos que estamos utilizando un entorno de multiprogramación con un algoritmo de planificación de CPU basado en turnos. Cuando termina un quantum de tiempo, el gestor de memoria comienza a sacar de ésta el proceso que acaba de terminar y a cargar en el espacio de memoria liberado por otro proceso.
 +
 +{{ :sor8-5.png?400 |}}
 +
 +Mientras tanto, el planificador de la CPU asignará un quantum de tiempo a algún otro proceso que ya se encuentre en memoria. Cada vez que un proceso termine su quantum asignado, se intercambiará por otro proceso. Idealmente, el gestor de memoria puede intercambiar los procesos con la suficiente rapidez como para que haya siempre algunos procesos en memoria listos para ejecutarse, cuando el planificador de la CPU quiera asignar el procesador a otra tarea. Además, el quantum debe ser lo suficientemente grande como para que pueda realizarse una cantidad razonable de cálculos entre una operación de intercambios y la siguiente.
 +
 +Los mecanismos de intercambio requieren un almacén de respaldo, que normalmente será un disco suficientemente rápido. El disco debe ser también lo suficientemente grande como para poder albergar copias de todas las imágenes de memoria para todos los usuarios, y debe proporcionar un acceso directo a estas imágenes de memoria.
 +
 +El sistema mantiene una cola de procesos preparados que consistirá en todos los procesos cuyas imágenes de memoria se encuentren en el backing store o en la memoria y estén listos para ejecutarse. Cada vez que el planificador de la CPU decide ejecutar un proceso, llama al despachador, que mira a ver si el siguiente proceso de la cola se encuentra en memoria. Si no es así, y si no hay ninguna región de memoria libre, el despachador intercambia el proceso deseado por otro proceso que esté actualmente en memoria. A continuación, recarga los registros y transfiere el control al proceso seleccionado.
 +
  
  
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

so_memdirecciones.1585861671.txt.gz · Última modificación: 2020/04/02 21:07 (editor externo)