Дескриптор — понятие и применение¶
Дескриптор (от англ. descriptor) — термин, обозначающий элемент описания (метаданные), используемый для идентификации, классификации или поиска объекта в информационных системах. В зависимости от предметной области дескриптор может представлять собой слово, набор символов, ключ, атрибут или ссылку, характеризующую сущность и позволяющую работать с ней программным средствам и людям.
¶Этимология и общее значение
Слово происходит от англ. to describe — «описывать». В русскоязычной информатике и библиотечном деле термин употребляется с 1960-х годов, когда начали формироваться автоматизированные информационно-поисковые системы (АИПС). Дескриптор рассматривался как формализованное описание предмета документа — устойчивый термин, по которому осуществлялся поиск.
¶Дескриптор в информационно-поисковых системах
В теории информации и библиотечном деле дескриптор — это стандартизированный термин из тезауруса, служащий формальным описанием содержания документа. Каждому дескриптору сопоставляется перечень документов, содержащих соответствующий предмет. Система дескрипторов образует иерархию: более общие понятия (родители) включают частные (потомки), что позволяет расширять и сужать область поиска.
Основные свойства дескрипторного описания:
- Однозначность — один дескриптор соответствует одному понятию предметной области.
- Нормализация — синонимы и варианты записи сводятся к единой форме.
- Иерархичность — дескрипторы связаны отношениями «родитель — потомок» и «смежный».
- Полнота описания — документ получает набор дескрипторов, отражающих его содержание.
Пример: документ о солнечных электростанциях может получить дескрипторы «солнечная энергетика», «фотоэлектрический преобразователь», «энергоснабжение».
¶Дескриптор в программировании
¶Дескриптор файла и процесса
В операционных системах семейства Unix дескриптор файла (file descriptor, fd) — неотрицательное целое число, возвращаемое процессу при открытии файла, сокета или канала и используемое для последующих операций чтения, записи и управления. Стандартные дескрипторы: 0 — стандартный ввод, 1 — стандартный вывод, 2 — стандартный поток ошибок. Механизм дескрипторов реализован в ядрах Linux, BSD, macOS и других POSIX-систем.
¶Дескриптор в языках программирования
В Python термин «дескриптор» обозначает объект, определяющий специальные методы __get__, __set__ и __delete__, позволяющие управлять доступом к атрибутам класса. Дескрипторы лежат в основе работы свойств (property), методов класса (classmethod), методов экземпляра и слотов (slots). Механизм был предложен Гвидо ван Россумом и описан в документе PEP 252.
¶Дескриптор в Windows
В Windows API дескриптор — это значение типа HANDLE, представляющее открытый объект системы: файл, процесс, поток, мьютекс, ключ реестра и другие. Дескрипторы создаются системой и используются для управления жизненным циклом объектов и доступа к ним.
¶Дескриптор в OpenGL и графике
В OpenGL и Vulkan дескриптор (descriptor) — объект, описывающий ресурсы шейдерной программы: текстуры, буферы, сэмплеры. Дескрипторы объединяются в дескрипторные наборы (descriptor sets) и размещаются в дескрипторных пулах (descriptor pools). Такой подход, введённый в Vulkan, позволяет явно управлять привязкой ресурсов и повышает производительность рендеринга.
¶Дескриптор в метаданных и вебе
В семантическом вебе дескриптор — это тройка RDF (subject — predicate — object), описывающая свойство ресурса. В Dublin Core дескрипторами называются элементы описания документа: title, creator, subject, description, date и другие. В HTML дескриптором иногда называют метатеги <meta (организация признана экстремистской, деятельность запрещена в РФ) name="..." content="...">, задающие описание страницы для поисковых систем.
¶Дескриптор в криптографии
В современной криптографии с открытым ключом дескриптором называют структуру, описывающую открытый ключ и связанные с ним атрибуты. Например, в системах attribute-based encryption (ABE) дескриптор шифрования содержит набор атрибутов, по которым подбирается ключ расшифрования.
¶Дескриптор в теории автоматов
В теории формальных языков и автоматов дескриптором называют элемент управляющего слова или метку перехода, фиксирующую тип действия. В системах описания аппаратуры (например, VHDL) дескрипторы используются для формального описания сигналов и портов.
¶Термин в русскоязычной норме
В русском языке слово имеет множественное число «дескрипторы» и женский род. В профессиональной речи допускается калька «описатель». В нормативных документах по информатизации (ГОСТ Р ИСО/МЭК) закреплено значение «элемент описания».
¶См. также
- Метаданные
- Тезаурус
- Файловый дескриптор
- Dublin Core
- RDF
¶Источники
- ГОСТ Р ИСО/МЭК 1087 — Информационные технологии. Словарь. Общие термины и определения в области обработки данных
- Гвидо ван Россум. PEP 252 — Making Static Methods Explicit
- POSIX.1-2017 — Base Definitions, The Open Group
- W3C Resource Description Framework (RDF) Concepts and Abstract Syntax
- IEEE Std 1364 — Verilog Hardware Description Language Reference Manual
