stringtranslate.com

Descriptor de datos

En informática , un descriptor de datos es una estructura que contiene información que describe datos.

Los descriptores de datos se pueden utilizar en compiladores , [1] como una estructura de software en tiempo de ejecución en lenguajes como Ada [2] o PL/I , o como una estructura de hardware en algunas computadoras como los grandes sistemas de Burroughs con sus descriptores .

Los descriptores de datos se utilizan normalmente en tiempo de ejecución para pasar información de argumentos a las subrutinas llamadas . OpenVMS [3] y Multics [4] tienen estándares independientes del lenguaje para descriptores de argumentos en todo el sistema. Los descriptores también se utilizan para almacenar información sobre datos que solo se conocen en su totalidad en tiempo de ejecución, como una matriz asignada dinámicamente .

Ejemplos

IBM Enterprise PL/I utiliza el siguiente descriptor para describir una cadena de caracteres : [5]

Aquí se encuentra el código fuente de un descriptor de matriz de Multics. [6] Las definiciones incluyen una estructura para la información de la matriz base y una estructura para cada dimensión. (Multics se ejecutaba en sistemas con palabras de 36 bits).

dcl 1 matriz basada en alineación,2 node_type bit(9) no alineado,2 bit reservado (34) no alineado,2 número_de_dimensiones fijo(7) sin alinear,2 own_number_of_dimensions fijo(7) sin alinear,2 elemento_límite fijo(3) no alineado,2 unidades de tamaño fijas (3) sin alinear,2 offset_units fijos(3) sin alinear,2 bits intercalados (1) no alineados,2 c_element_size fijo(24),2 c_element_size_bits fijos (24),2 c_virtual_origin fijo(24),2 elemento_tamaño ptr sin alinear,2 element_size_bits ptr sin alinear,2 virtual_origin ptr no alineado,2 symtab_virtual_origin ptr sin alinear,2 symtab_element_size ptr sin alinear,2 límites ptr sin alinear,2 elemento_descriptor ptr no alineado;dcl 1 límite basado en alineación,2 bit de tipo de nodo (9),2 c_lower fijo(24),2 c_upper fijo(24),2 c_multiplicador fijo(24),2 c_desc_multiplier fijo(24),2 puntos inferiores sin alinear,2 puntos superiores sin alinear,2 multiplicador ptr no alineado,2 desc_multiplier ptr sin alinear,2 symtab_lower ptr sin alinear,2 symtab_upper ptr sin alinear,2 symtab_multiplier ptr no alineado,2 siguiente ptr desalineado;

Véase también

Referencias

  1. ^ Holt, Richard C. (julio de 1987). "Descriptores de datos: un modelo de datos y direccionamiento en tiempo de compilación". ACM Transactions on Programming Languages ​​and Systems . 9 (3): 367–389. doi : 10.1145/24039.24051 .
  2. ^ Schonberg, Ed. "Ada en comparación con C++". Las ventajas de Ada 95. Consultado el 15 de enero de 2013 .
  3. ^ Hewlett-Packard. "Capítulo 7 Descriptores de argumentos de OpenVMS". Documentación de sistemas OpenVMS de HP . Consultado el 11 de julio de 2020 .
  4. ^ Honeywell, Inc. (1979). Manual del programador de Multics: guía para programadores de subsistemas (PDF) . págs. 2–13-2–18.
  5. ^ IBM Corporation (2006). Guía de programación de Enterprise PL/I para z/OS (PDF) . pág. 385.
  6. ^ MIT/Honeywell. "array.incl.pl1". Multics/ldd/include . Consultado el 20 de enero de 2012 .