Handle

De Wikipedia, la enciclopedia libre
(Redirigido desde «Puntero inteligente (informática)»)

En programación de computadoras, un handle es una referencia abstracta a un recurso utilizado cuando un programa hace referencia a bloques de memoria u objetos que son administrados por otro sistema informático, como una base de datos o un sistema operativo.

El handle de un recurso puede ser un identificador opaco (un identificador que no expone sus detalles internos),[1]​ en cuyo caso a menudo es un número entero (a menudo un índice de matriz en una matriz o "tabla" que se utiliza para administrar ese tipo de recurso), o puede ser un puntero que permite el acceso a más información. Handles comunes incluyen descriptores de archivo, sockets de red, conexiones de base de datos, identificadores de proceso (PID), e identificadores de trabajo (Job ID). Los PID y los Job ID son enteros explícitamente visibles; mientras que los descriptores de archivo y sockets (que a menudo se implementan como una forma de descriptor de archivo) se representan como enteros, generalmente considerados como opacos.

Comparación con punteros estándar[editar]

Mientras que un puntero estándar literalmente contiene la dirección en la memoria de algún objeto, un handle es una abstracción de una referencia que se administra externamente; su opacidad permite que el referente pueda ser reubicado en la memoria por el sistema sin que deje de ser válido (lo cual sería imposible de realizar con punteros) y de ahí su nombre en inglés handle, que significa literalmente «tirador» o «manija», en el sentido de que mediante su uso 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 (véase ocultación de información y encapsulamiento).

Ejemplos[editar]

Los handles fueron una solución popular para la gestión de memoria en los sistemas operativos desarrollados en los años 1980, tales como Mac OS y Windows.[2]​ 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 escritorio es representada por un handle de tipo HWND (handle, window).

Referencias[editar]

  1. «What are opaque identifiers with regards to handles? - Stack Overflow». Stack Overflow. Stack Exchange Inc. 1 de diciembre de 2017. Consultado el 28 de octubre de 2021. 
  2. Hertzfeld, Andy (febrero de 1982). «The Original Macintosh: Hungarian» (en inglés). Archivado desde el original el 19 de junio de 2010. Consultado el 10 de mayo de 2010. 

Véase también[editar]

Enlaces externos[editar]