stringtranslate.com

Недокументированная функция

Недокументированная функция — это непреднамеренная или недокументированная операция оборудования, например, недокументированная инструкция или функция программного обеспечения , обнаруженная в компьютерном оборудовании и программном обеспечении , которая считается полезной или выгодной. Иногда документация опускается по недосмотру, но недокументированные функции иногда не предназначены для использования конечными пользователями , но оставлены поставщиком для использования в целях поддержки и разработки программного обеспечения. Кроме того, некоторая непреднамеренная операция оборудования или программного обеспечения, которая в конечном итоге оказывается полезной для пользователей, является просто ошибкой , недостатком или странностью.

Поскольку поставщики программного обеспечения обычно рассматривают документацию к программному обеспечению как договор о поведении программного обеспечения, недокументированные функции, как правило, остаются неподдерживаемыми и могут быть удалены или изменены по желанию и без уведомления пользователей.

Недокументированные или неподдерживаемые функции иногда также называют «не поддерживаемыми производителем» (NOMAS), термин, введенный журналом PPC Journal в начале 1980-х годов. [1] [2] [3] [4] Некоторые дефекты, о которых сообщают пользователи, рассматриваются разработчиками программного обеспечения как работающие так, как и ожидалось, что привело к появлению крылатой фразы « это не ошибка, это функция » (INABIAF) и ее вариаций. [5]

Аппаратное обеспечение

Недокументированные инструкции, известные как незаконные коды операций , на MOS Technology 6502 и его вариантах иногда используются программистами. Они были удалены в WDC 65C02 .

Демонстрация Commodore 64, использующая недокументированные функции для обхода обычной границы экрана машины

Программисты видеоигр и демосцены воспользовались непреднамеренной работой компьютерного оборудования для создания новых эффектов или оптимизаций. [ необходима цитата ]

В 2019 году исследователи обнаружили, что режим отладки производителя, известный как VISA, имел недокументированную функцию на Intel Platform Controller Hubs (PCH), чипсетах, входящих в состав большинства материнских плат на базе Intel, что делало этот режим доступным с помощью обычной материнской платы. [6] Поскольку чипсет имеет прямой доступ к памяти, это проблематично по соображениям безопасности.

Программное обеспечение

Недокументированные функции (например, возможность изменить символ переключения в MS-DOS , обычно на дефис ) могут быть включены в целях совместимости (в данном случае с утилитами Unix ) или в целях будущего расширения. Однако, если поставщик программного обеспечения меняет свою стратегию программного обеспечения, чтобы лучше соответствовать бизнесу, отсутствие документации упрощает оправдание удаления функции.

В новых версиях программного обеспечения старые (возможно, замененные) функции могут не упоминаться в документации, но при этом они должны быть реализованы для пользователей, которые к ним привыкли. [7]

В некоторых случаях программные ошибки упоминаются разработчиками либо в шутку, либо для удобства как недокументированные функции. [5] [8] Такое использование могло быть популяризировано в некоторых ответах Microsoft на сообщения об ошибках для ее первого продукта Word для Windows , [9] но не берет свое начало там. Самое старое сохранившееся упоминание в Usenet датируется 5 марта 1984 года . [10] Между 1969 и 1972 годами Сэнди Мэтес, системный программист программного обеспечения PDP-8 в Digital Equipment Corporation (DEC) в Мейнарде, штат Массачусетс, использовала термины «ошибка» и «функция» в своих отчетах о результатах испытаний, чтобы различать недокументированные действия поставляемых программных продуктов, которые были неприемлемыми и терпимыми соответственно. Такое использование могло быть увековечено. [11]

Недокументированные функции сами по себе стали важной особенностью компьютерных игр . Разработчики часто включают различные читы и другие специальные функции (« пасхальные яйца »), которые не объясняются в упакованном материале, но стали частью «шумихи» об игре в Интернете и среди геймеров. Недокументированные функции иностранных игр часто являются элементами, которые не были локализованы с их родного языка.

API с закрытым исходным кодом также могут иметь недокументированные функции, которые не являются общеизвестными. Иногда они используются для получения коммерческого преимущества над сторонним программным обеспечением путем предоставления дополнительной информации или лучшей производительности поставщику приложения.

Смотрите также

Ссылки

  1. ^ Описание PPC HP-75 (PDF) . Серия NOMAS. Том II. Фаунтин-Вэлли, Калифорния, США: Центр персонального программирования . 1983. Архивировано (PDF) из оригинала 2023-08-12 . Получено 2023-08-12 . стр. i: Информация, содержащаяся в этом документе, предоставляется с пониманием того, что она не поддерживается Hewlett-Packard . […] Когда вы читаете этот документ, вы быстро заметите, что нет никаких усилий, чтобы объяснить не членам команды разработчиков, как или что происходит. Во время [разработки] не было никаких планов делать это. Хотя этот документ может вызвать больше вопросов, чем ответов, эту ситуацию следует принять « как есть ». См. заявление NOMAS, отмеченное ниже. Этот материал предоставляется сообществу пользователей через PPC, поскольку мы считаем, что информация в такой форме лучше, чем вообще ничего. PPC предлагает эту информацию в качестве услуги для сообщества. […] NOMAS — НЕ поддерживается производителем — получатель соглашается НЕ связываться с производителем […](710 страниц)
  2. ^ "Nomas - An Explanation". ZENROM - Модуль программиста HP-41 - Справочник пользователя ZENROM 3B - Модуль программиста - Для использования с карманным компьютером HP-41 (PDF) . Великобритания: Zengrange Ltd. / Leeds Booklet Printing Company. Июнь 1984 г. стр. viii. Архивировано (PDF) из оригинала 2023-08-12 . Получено 2023-08-12 .(2+2+viii+152+2 страницы)
  3. ^ "NOMAS Listings" (PDF) . Журнал PPC (специальный выпуск E PPC). Фонтан-Вэлли, Калифорния, США: Центр персонального программирования : 3. 1985. Архивировано (PDF) из оригинала 11.08.2023 . Получено 11.08.2023 . стр. 3: NOMAS Listings - PPC выбрала листинги системы HP-41 , связанных ПЗУ ( HP-IL , […] и т. д.) и листинги системы HP-75 , доступные на условиях НЕподдерживаемых производителем. Эти листинги были предоставлены сообществу пользователей с пониманием того, что те, кто получает листинги, не связываются с производителем по поводу них.
  4. ^ Райт, Джин (2023-08-03). "HP-15c CE hidden features - NOMAS". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2023-08-09 . Получено 2023-08-09 .
  5. ^ ab Carr, Nicholas G. (2018-08-19). "'It's Not a Bug, It's a Feature.' Brite—or Just Right?". Бизнес. wired.com . Архивировано из оригинала 2023-08-09 . Получено 2023-08-09 .
  6. ^ Armasu, Lucian (2019-03-29). "Недокументированная функция чипсетов Intel может помочь хакерам украсть данные". Tom's Hardware . Архивировано из оригинала 2023-08-09 . Получено 2023-08-09 .
  7. ^ Арредондо, Ларри (26 марта 1984 г.). «Обзор: WordStar 3.3». Инфомир .
  8. ^ Более старые версии хакерского жаргона [1] определяют FEATURE как «Удивительное свойство программы. Иногда документируется».
  9. ^ Джеймс Глейк , Что только что произошло , гл. 1
  10. ^ Первое использование в Usenet. Группы Google
  11. Воспоминания Сэнди Мэйтс, ныне Сандры Ли Харрис, выпускницы Массачусетского технологического института 1969 года, по состоянию на август 2010 года.