Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/01/2004, 13:11
LinuxManiac
 
Fecha de Ingreso: marzo-2003
Mensajes: 172
Antigüedad: 21 años, 1 mes
Puntos: 0
en realidad el computador no puede ejecutar procesos en la swap, solo en la ram.

cuando la ram está llena y se requiere mas espacio para un nuevo proceso, se usa la memoria secundaria o swap (no es que permita ejecutar procesos en ella), lo que hace es tomar un proceso en memoria principal que esté en estado "bloqueado" por una operacion de entrada/salida o tenga menos prioridad y lo traslada a la swap con todos los datos y registros que tenga en ese instante, para que el nuevo proceso tome ese lugar que se liberó de la memoria principal. (esto se llama swap in)

cuando la operacion de entrada/salida está terminada (por ejemplo, se terminó de leer un dato en el disco duro, o el modem recibió un dato) el proceso bloqueado pasa al estado "listo", sin embargo no se puede ejecutar en la swap, entonces le toca esperar a que pase alguna de estas cosas:
- otro proceso pase a estado "bloqueado" y se pase a la swap
- se libere espacio en memoria pricipal debido que que un proceso se terminó
- el planificador determine que ese proceso necesita ser ejecutado, deteniendo otro proceso de menor prioridad segun el tipo de planificacion y pasandolo al swap para liberar espacio en la memoria principal.

cuando el proceso que estaba en la swap, entra en la memoria principal, se le llama swap out, y solo hasta que entra en la ram, el procesador puede ejecutarlo.

este procedimiento de swap in/swap out toma tiempo del procesador, y el planificador debe tener cuidado de que el computador no pase la mayor parte del tiempo haciendo los swap en lugar de ejecutar los procesos.


por eso la swap se llama memoria virtual, por que hace parecer que se tiene mas memoria real.

salu2
__________________
Algun dia se me ocurrirá escribir algo aquí. :pensando:

Última edición por LinuxManiac; 09/01/2004 a las 13:19