Lic en Informatica

Páginas: 7 (1744 palabras) Publicado: 6 de diciembre de 2014
Recolección de basura
Cada proceso esta provisto de memoria para almacenar, por ejemplo, su propio estado local. Un objeto en memoria puede llevar referencias de otros objetos, posiblemente en la memoria de otros procesos. Una referencia a un objeto local, el cual es colocado en el mismo proceso, es llamado apuntador, para distinguirlo desde una referencia a un objeto remoto, localizado en otroproceso, Un objeto necesita ser guardado en memoria solo si es accesible por navegación desde un objeto raíz. Un objeto es basura si no puede ser accesado desde ningún objeto raíz.
El recolector de basura tiene por objeto detectar automáticamente y recuperar objetos de memoria inaccesible, para liber espacio. Las dos principales técnicas de recolección de basura son conteo de referencias yrastreo. El conteo de referencias, cuenta el número de referencias a un objeto, es discutido en la sección 7.1. El rastreo marca todos los objetos alcanzados desde los objetos raíz, discutidos en la sección 7.3.

7.1. Conteo de referencias
El conteo de referencias se basa en el seguimiento del número de referencias a un objeto. Si éste lleva un cero y no hay apuntadores a los objetos, los objetosson considerados basura.
Una ventaja del conteo de referencias es que se puede llevar a cabo en tiempo de ejecución. Una desventaja es que la basura ciclada, esto es un ciclo de referencias entre objetos basura que se referencian entre si, no es detectada. Una tecnica separada debe ser añadida para intentar detectar cada ciclo. Por lo pronto un objeto no raíz que es sospechoso debe ser parte deun ciclo de basura que puede ser virtualmente borrado. Esto es; esto es separar la configuración de referencia contando si es usado para propagar el efecto de este intento de borrado. Si el conteo de intentos de los intentos por borrar el objeto arroja cero, entonces se confirma que el objeto es basura. En este caso, puede ser físicamente borrado.
El propietario del un objeto O, esto es, elproceso donde O es localizado, puede facilmente contar el apuntador (local) a O. Pero el cargador es conservado para llevar el número de referencias a O (remotas). Se distinguen tres operaciones en las cuales los procesos construyen o borran una referencia a un objeto O:
Creación: El propietario de O envía un apuntador de O a otros procesos.
Duplicación: Un proceso que no es propietario de O enviauna referencia de O a otros procesos.
Borrado: Una referencia a O es borrada, porque se ha vuelto obsoleta.
El conteo de referencias puede tomarse dentro del conteo de mensajes que duplican una referencia. De otra manera, un objeto puede ser reclamado prematuramente, si no hay apuntadores y referencias a él, pero un mensaje es llevado a referncias duplicadas a este objeto. Una solución es que unproceso esperando a una referencia duplicada debe ser primero informada al objeto propietario; la referencia es duplicada solo después de recibir de el propietario reconocimiento. El inconveniente de este enfoque es un alto retardo sincronizado. Discutiremos dos diferentes enfoques para evitar tal retardo.

Conteo indirecto de referencias
Un método para evitar tener que informar al objetopropietario cuando una referencia es duplicada es mantener una estructura de árbol de cada objeto, con el objeto en la raíz, y la referencia a este objeto como el otro nodo en el árbol. Cada referencia conserva el trayecto desde donde se duplicó o se creó, esto es, se almacena su hijo en el árbol. Los objetos y las referencias son dadas con un contador, estimando desde atras cuantas hijos tienen en cadaarbol, el contador a un objeto conserva la trayectoria de cuantas referencias al objeto han sido creadas, mientras que el contador a una referencia conserva la trayectoria de cuántas veces la referencia a sido duplicada.
Cuando un proceso recibe una referencia a un objeto pero realmente toma una referencia a o posee este objeto, este envía de regreso un decremento para decrementar el contador...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lic. Informatica
  • Lic. En Informática
  • Lic. en Informatica
  • Lic. Informatica
  • LIC. INFORMATICA
  • Lic informatica
  • Lic Informatica
  • Lic En Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS