2009-08-28 9 views
17

cuáles son exactamente un-managed y managed memory? ¿Alguien puede explicar en pocas palabras?memoria no administrada y Managed memoria

Además, ¿qué significaría exactamente cuando se toma el concepto de memoria RAM logrado, llamando RAM gestionados. ¿Cuáles son algunos de los detalles sobre "RAM administrada" y "RAM no gestionada"?

Respuesta

35

todo es la misma memoria física. La diferencia es quién lo está controlando.

La definición de Microsoft es que la limpieza de la memoria administrada se realiza mediante un Garbage Collector (GC), es decir, un proceso que determina periódicamente qué parte de la memoria física está en uso y qué no.

memoria no administrada es limpiado por otra cosa, por ejemplo, su programa o el sistema operativo.

El término memoria no administrada es un poco como la Primera Guerra Mundial, no se llamó así hasta después de la Segunda Guerra Mundial. Anteriormente solo era memoria.

+0

adrianm, gracias por la respuesta – Naruto

+2

Detrás de las escenas, el tiempo de ejecución .NET/JVM utiliza memoria no administrada también. Se asigna desde el administrador de memoria del sistema operativo, como lo haría cualquier programa no administrado. Simplemente hablado, asigna una pieza más grande de memoria según sea necesario y lo llama 'montón administrado'. Ese bloque es luego 'administrado' para su uso por objetos gestionados con la ayuda del tiempo de ejecución (GC). El tiempo de ejecución también se ocupa de reducir/disminuir el tamaño y devuelve la memoria al sistema operativo cuando termina. Así que prefiero llamar a la memoria 'administrada' como una parte virtual de la memoria 'no administrada'. – user492238

Cuestiones relacionadas