2010-12-11 11 views

Respuesta

30

El intercambio se refiere a copiar todo el espacio de direcciones del proceso, o al menos, el segmento de datos de texto no compartible, al dispositivo de intercambio, o de regreso, de una vez (típicamente disco).

Considerando paginación se refiere a la copia de entrada/salida una o más páginas del espacio de direcciones. En particular, esto es a un grano mucho más fino. Por ejemplo, hay ~ 250,000 páginas de 4 KB en un espacio de direcciones de RAM de 1 GB.

Swapping se usó en los primeros días, por ejemplo, DEC pdp-11 era Unix, 1975-80 ish. Para todo lo que pueda desear saber y más, recomiendo The Lions Document a.k.a. Comentario de los Leones sobre Unix 6th Ed. con el código fuente, John Lions, ISBN 1-57398-013-7? Seguramente apreciará el Capítulo 14, "Intercambio de programas" que comienza: "Unix, como todos los sistemas de tiempo compartido, y algunos sistemas de multiprogramación, usa el" intercambio de programas "(también llamado" roll-in/roll-out ") para compartir el recurso limitado de la memoria física principal entre varios procesos ".

de localización (en Unix) llegó con el BSD (Berkeley Sistemas de Distribución) en el VAX-11/780 comenzando alrededor de 1980.

de paginación también se asocia generalmente con la memoria por página de atributos (no hay acceso, lectura solo, lectura-escritura, no ejecución, ejecutable), y varios trucos de administración de la memoria virtual, como páginas llenas de demanda cero, páginas de copia en escritura, y así sucesivamente.

En hardware, el intercambio se puede realizar sin ningún tipo de gestión de memoria HW, aunque las primeras máquinas emplearon un esquema de asignación de memoria simple (por ejemplo base y encuadernado, o una tabla de asignación de página de un solo tamaño fijo Espacio de direcciones de datos KB en 8 páginas de 8KB en un espacio de direcciones físicas más grande (256 KB ... 4 MB).

Por el contrario, la paginación requiere entradas de tabla de páginas de memoria virtual de granularidad de página, que normalmente codifican la dirección física de la página, bits de PTE como válido, leer, escribir, etc. La máquina también necesita buscar de forma automática (de forma transparente para el programa de aplicación) e interpretar las entradas de la tabla de páginas según sea necesario para asignar cada dirección virtual a su dirección física, y/o tomar una excepción de error de página para habilitar el SO para hacer que la página sea accesible y/o programar una E/S para cargarla en la RAM física.

Happy hacking!

-1

Ninguno. Por lo general, también se lo conoce como intercambio en plataformas Unix y paginación en Windows. El mismo concepto sin embargo.

+1

@LinuxPenseur: aunque estoy de acuerdo con usted hasta cierto punto, en la práctica, los términos se usan indistintamente. – 0xC0000022L

+0

@LinuxPenseur El comentario es inapropiado. Debes eliminarlo. ¡Además, creo que la diferencia es una cuestión de convención, que Tyler Eaves ha proporcionado, pero no lo hiciste! – Val

0

de paginación es aplicable en caso de proceso activo, sólo el proceso activo puede realizar paginación. El intercambio se realiza por proceso inactivo

1

Aunque ambos términos se consideran distintos por, por ejemplo, los medios académicos convencionales, el hecho es que algunos autores los usan como sinónimos. Para citar el excelente libro sobre arquitecturas de computadoras escrito por David y Sarah Harris (Digital Design and Computer Architecture), "escribir la página física en el disco y volver a cargarla con una página virtual diferente se llama intercambiando, por lo que el disco un sistema de memoria virtual a veces se llama swap space ".Entonces, Tyler en realidad respondió la pregunta correctamente y su respuesta no debe ser downvoted en absoluto.