data 기술자

Data descriptor

컴퓨팅에서 데이터 기술자는 데이터를 설명하는 정보를 포함하는 구조입니다.

데이터 기술자는 컴파일러,[1] 실행 시 Ada 또는 PL/I와 같은 언어소프트웨어[2] 구조 또는 Burroughs 대형 시스템과 같은 일부 컴퓨터의 하드웨어 구조로서 사용될 수 있습니다.

일반적으로 데이터 기술자는 런타임에 인수 정보를 호출된 서브루틴에 전달하기 위해 사용됩니다.HP[3] OpenVMS 및 Multics[4] 인수 기술자에 대해 시스템 전체의 언어에 의존하지 않는 표준을 가지고 있습니다.디스크립터는 동적으로 할당된 배열과 같이 런타임에만 완전히 알려진 데이터에 대한 정보를 유지하는 데도 사용됩니다.

다음 설명자는 IBM Enterprise PL/I에서 [5]문자열을 설명하는 데 사용됩니다.

+------+----------+-------------------------------------------------------------------------------------------+-------------+-----------------+-----------바이트 0 1 2-3- 
  • 'desc type'은 배열 또는 구조 기술자가 아닌 요소 기술자임을 나타내는 2입니다.
  • 'string type'은 길이가 다양하거나 다양하지 않은 문자 또는 비트 문자열임을 나타냅니다. 2는 가변적이지 않은(표준 길이) 문자열을 나타냅니다.
  • '(res)'는 문자열에 사용되지 않는 예약된 바이트입니다.
  • 'flags'는 문자열, EBCDIC 또는 ASCII 인코딩 및 다양한 문자열 길이의 인코딩을 나타냅니다.
  • 'maximum string length'는 문자열의 실제 길이 또는 문자열의 최대 길이입니다.

다음은 [6]Multics의 어레이 기술자 소스입니다.정의에는 베이스 어레이 정보의 구조와 각 차원의 구조가 포함됩니다.(멀티픽은 36비트 워드를 가진 시스템에서 실행되었습니다).

dcl 1 배열 기반 정렬, 2 node_type bit(9) 비정렬, 2 예약 비트(34) 비정렬, 2 number_of_dimensions 고정(7) 비정렬, 2 own_number_of_dimensions 고정(7) 비정렬, 2 size_type fixed(3) 비정렬, 2 of_dimensions 고정(3) 비정렬, 인터리브 비트 2개(비정렬), c_size_size 고정(24), c_size_size_bits 고정(24), element_size ptr 비정렬 2개, element_size ptr 비정렬 2개, symtab_size ptr 비정렬 2개ned, 2 bounds ptr unaligned, 2 element_proviror ptr unaligned, dcl 1 bound based aligned, 2 node_type 비트(9), 2 c_lower fixed(24), 2 c_desc_provier fixed(24), 2 c_parier fixed, 2 ptr unaligned, 2 multiplierptr unaligned, 2 desc_lower ptr unaligned, 2 symtab_uper ptr unaligned, 2 symtab_uper ptr unaligned, 2 symtab_ptr unaligned, 2 next ptr unaligned.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Holt, Richard C. (July 1987). "Data descriptors: a compile-time model of data and addressing". ACM Transactions on Programming Languages and Systems. 9 (3): 367–389. doi:10.1145/24039.24051.
  2. ^ Schonberg, Ed. "Ada Compared with C++". The Advantages of Ada 95. Retrieved January 15, 2013.
  3. ^ Hewlett-Packard. "Chapter 7 OpenVMS Argument Descriptors". HP OpenVMS Systems Documentation. Retrieved July 11, 2020.
  4. ^ Honeywell, Inc. (1979). Multics Programmers' Manual – Subsystem Writers' Guide (PDF). pp. 2–13-2–18.
  5. ^ IBM Corporation (2006). Enterprise PL/I for z/OSProgramming Guide (PDF). p. 385.
  6. ^ MIT/Honeywell. "array.incl.pl1". Multics/ldd/include. Retrieved January 20, 2012.