domingo, 23 de enero de 2011

¿QUE SON HANDLES?

En programación de computadoras, se conoce como handle a un tipo particular de punteros "inteligentes". Los handles son utilizados cuando un programa hace referencia a bloques de memoria u objetos controlados por otros sistemas, tales como una base de datos o unsistema operativo.

Mientras que un puntero literalmente contiene la dirección en la memoria de algún "objeto", un handle es una referencia abstracta y controlada de manera independiente por el sistema, permitiendo que la referencia pueda ser reubicada en la memoria por el sistema sin invalidar el handle - imposible de realizar con punteros - y de ahí el nombre en inglés handle, que significa "tirador" o "manija", en el sentido de que mediante él se controla o maniobra. La capa extra de indirección también incrementa el control que el sistema tiene para maniobrar sobre operaciones llevadas a cabo sobre el referente (ver ocultamiento de informaciónencapsulación).
Los handles fueron una solución popular para el manejo de memoria en los sistemas operativos desarrollados en los años 1980, tales comoMac OS y Windows. En Unix los descriptores de archivos son esencialmente handles. Como en otros entornos de escritorio, el API de Windows utiliza handles intensamente para representar objetos en el sistema y provee de un canal de comunicaciones entre el sistema operativo y el espacio de usuario. Por ejemplo, una ventana sobre el entorno de escritorio es representada por un handle de tipo HWND.

No hay comentarios:

Publicar un comentario