Что такое патч в программировании
Перейти к содержимому

Что такое патч в программировании

  • автор:

Патч (программный)

Запла́тка, или па́тч (англ. patch /pætʃ/ — заплатка) — автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча («пропатчивание»). Исправление может применяться к уже установленной программе, либо к её исходным кодам. Сюда входит исправление ошибок, изменение внешнего вида, улучшение эргономичности или производительности программ, а также любые другие изменения, которые разработчик пожелал сделать.

В качестве синонима может использоваться термин «обновление» (англ. update ). Однако под словом «патч» чаще понимают исправление каких-то ошибок, в то время как под обновлением — улучшение функционала и добавление новых возможностей.

Размер патчей может варьироваться от нескольких килобайт до сотен мегабайт. В частности, очень большими патчи могут быть при изменении или замене непрограммных данных, таких как файлы с графикой и звуком. Такие ситуации часто возникают при обновлении компьютерных игр. Тем не менее, большой размер может быть вызван и многочисленностью вносимых изменений. При этом слова «патч», «заплатка» обычно используются для обозначения небольших исправлений, большие же патчи, серьёзно меняющие или обновляющие программу, часто называются «service pack» или «software updates».

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

Если было выпущено несколько патчей, то разработчик может (обычно после наиболее полных изменений) сделать кумулятивный патч (лат. cumulatio – «увеличение, скопление»). Такой патч включает в себя изменения, находящиеся во всех предыдущих патчах, и вносит их в программу во время своей установки вместе с новыми. Это позволяет сэкономить время на поиск, загрузку и установку всех прежних версий патча.

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

История

Во времена, когда для загрузки программ в компьютеры использовались перфокарты или бумажные ленты, разработчики программ распространяли патчи в виде перфокарт с отличным от первоначального набором перфорации или указывали на бумажной ленте места, которые следует изменить. Пользователи заменяли соответствующие перфокарты в стопке или вырезали помеченную часть ленты и вклеивали вместо нее новый кусок программы. Тогда же и возникло название «patch» (англ. patch ), буквально — «заплатка»).

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

Виды патчей

Разработчики программного обеспечения публикуют патчи в различной форме.

  • Авторы закрытых программных продуктов скрывают исходные коды, поэтому их патчи распространяются в виде откомпилированных программ. При запуске такой патч самостоятельно выполняет необходимые изменения с нужными файлами программы или полностью заменяет их более новыми.
  • Также патчи могут распространяться в виде списка различий между двумя версиями исходных кодов. Этот тип патчей обычно используется в open source-проектах. При этом предполагается, что пользователи или другие разработчики сами внесут эти изменения и просто соберут программу заново. Существуют специальные утилиты для автоматического создания и применения таких патчей.

Применение

Коротко выполняемые патчами задачи можно описать следующими действиями:

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

Операционные системы

В случае обновления операционных систем и серверного программного обеспечения патчи играют важную роль в поддержании безопасности и устранении дыр в защите. Чтобы облегчить установку таких обновлений, операционные системы часто поддерживают автоматические или полуавтоматические механизмы обновления. При этом осторожные пользователи (в частности, системные администраторы) обычно отключают автоустановку патчей, пока не убедятся в стабильной работе исправленных версий на чужих примерах. В случае больших или очень важных патчей разработчики часто сначала сами проводят предварительное тестирование (бета-тестирование).

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

В разработке программного обеспечения патчи иногда требуются для устранения проблем с часто используемыми или важными библиотеками и частями исходного кода. Такое обычно происходит в широкомасштабных проектах, и значительно реже — в малых.

В open source-проектах патчи, исправляющие частные проблемы или добавляющие некоторую функциональность, такую как поддержка других языков, обычно отправляются авторам или публикуются в сети. Например, на ранних стадиях разработки ядра операционной системы — Линус Торвальдс, его автор, получал тысячи писем с патчами к его версии от множества программистов.

Сервер веб-мастерами для добавления функциональности к NCSA HTTPd. По легенде, отсюда и возникло название — означающее, что это есть по сути коллекция патчей: «a patchy server».

Все изменения кода Firefox и других продуктов Mozilla Foundation существуют в виде патчей, которые учитываются с помощью «багов» в системе

Компьютерные игры

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

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

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

Патч встроенного ПО

Во многих устройствах программное обеспечение находится в памяти самого устройства в виде т.н. прошивки, которая включает в себя сразу и операционную систему, управляющую работой устройства, и собственно набор программ, обеспечивающих выполнение тех или иных его функций. Поэтому если разработчиком предусмотрена возможность замены его прошивки (перепрошивка), то применение патча на программное обеспечение устройства чаще всего представляет собой полную замену целиком всей прошивки на более новую версию. Обычно такой патч состоит из файла, содержащего обновленный программный код в двоичном виде, и специальной программы, записывающей его в память устройства вместо прежней версии. Пример такого вида патчей — перепрошивка БИОСа материнской платы компьютера или современного мобильного телефона, подключенного к компьютеру.

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

Разработка патчей

Автоматизация установки

Зачастую современные программы обновлений могут управлять патчами. Автоматизация всего процесса упрощает задачу конечного пользователя — ему достаточно запустить программу, а та уже решит, нужно ли ставить патчи, и в каком порядке. Бывает и так, что программа скачивает обновления из интернета без участия пользователя. Такой способ часто применяется в поддержке серверного программного обеспечения и операционных систем. В ситуации, когда администратору приходится следить за несколькими компьютерами такой подход помогает поддерживать надёжность системы в целом. Обычно таким способом происходит установка обновлений безопасности.

Вспомогательные утилиты

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

Интересные факты

Microsoft Flight Simulator выпустила специальный патч после атак 11 сентября 2001-го на World Trade Center в Нью-Йорке. Из карты города были изъяты башни торгового центра. Это редкий пример патча, выпущенного из уважения к чувствам людей, а не для исправления ошибки в программе или усиления защиты от копирования.

См. также

Ссылки

  • The Jargon File version 4.4.7 entry for patch (англ.)

Wikimedia Foundation . 2010 .

Патч (IT)

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

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

Резюме

  • 1 Терминология
  • 2 Происхождение
  • 3 Природа
  • 4 Пределы принципа
  • 5 Примечания и ссылки
  • 6 См. Также
    • 6.1 Связанные статьи

    Терминология

    Термины , рекомендуемые в Франции по DGLFLF являются «ретушь» или «корректирующие». В Канаде OQLF рекомендует термин «патч», также принято слово «патч».

    Источник

    Происхождение выражения происходит от использования перфорированных лент, на которые был добавлен патч для исправления ошибки (см. Рисунок). Идея состоит в том, чтобы добавить штукатурку, как на одежду, лодку или крышу, с тем условием, что штукатурка не полностью соответствует оригиналу. Использование этого термина вполне естественно распространилось на программное обеспечение. Этот термин был распространен в сообществе программистов в конце 1950-х гг. Например, в ядре Multics , называемом BOS, есть команда, позволяющая устанавливать исправления.

    Природа

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

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

    Несколько исправлений могут распространяться одновременно, а затем объединяются в пакет обновления ( SP ).

    Из-за злоупотребления языком патч иногда называют исправлением ошибок, доставляемым в виде отмены скомпилированного кода (двоичного кода) и замены исполняемого файла или библиотеки.

    Пределы принципа

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

    Примечания и ссылки

    1. ↑ Официальный вестник от 27.02.2003, см. FranceTerme
    2. ↑Большой терминологический словарь
    3. ↑ См. BV 1.05 от 24 июля 1968 г. в Руководстве по программированию систем Multics (MSPM).

    Что такое патч — для чего они нужны, могут ли нанести вред и какие патчи различают

    Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Одно из главных достоинств постиндустриальной эпохи (это как?) — качество программных продуктов становится лучше.

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

    Патч

    Программное же обеспечение не только не устаревает, но и становится лучше, особенно то, которое создано ответственным разработчиком. Это возможно благодаря патчам, о которых дальше и пойдет речь.

    Что такое патч

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

    Слово patch на английском языке означает «заплатку». В изначальном значении это кусок кожи, нашиваемой на поврежденное место на одежде. Но в случае с программами патчи не только решают проблемы, но и делают ПО лучше.

    Что такое патч

    Патчи в первых компьютерных программах на самом деле были заплатками:

    Порция информации

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

    Чем это отличается от обновления

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

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

    Заплатка

    В русском языке есть еще несколько терминов, означающих то же самое:

    1. Апдейт (от англ. update – обновление)
    2. Заплатка
    3. Багфикс (от англ. bug fix — исправление бага)
    4. Хотфикс (от англ. hotfix — быстрое исправление)

    Для чего нужны патчи

    Из-за сложности программ в них таится куда больше ошибок, чем можно увидеть. Патчи используются в следующих случаях:

    1. Когда нужно исправить ошибку, о которой программа сообщает пользователю или ту, которая не дает совершить определенное действие.
    2. Когда необходимо решить неявную проблему. Например, долгая загрузка программы — это не всегда следствие сложных процессов. В исходном коде просто могут быть лишние строчки, создающие лишнюю нагрузку.
    3. Когда нужно адаптировать ПО для взаимодействия с новыми аппаратными составляющими. Например, создатели мобильных игр используют патчи, чтобы задействовать 12 ГБ оперативной памяти в современных игровых смартфонах. Раньше таких спецификаций не существовало, а поэтому и необходимости в их поддержке не было.
    4. Когда нужно добавить новые функции. Это самый распространенный тип патчей, который принято называть обновлениями.

    Могут ли они нанести вред

    Однозначно — да, могут. Программирование — это сложная дисциплина, где каждая строчка кода обязана взаимодействовать с сотней других.

    Несмотря на то что патчи призваны решать проблемы, часто они приводят к новым багам, ошибкам и неполадкам в работе. Чтобы их не возникало, программисты должны проводить сложные тесты. Но на практике их делают не все.

    Update

    Поэтому при работе с современным ПО, если есть возможность не устанавливать патч сразу же после выхода, лучше подождать и узнать мнение другие пользователей о том, как обновление влияет на работоспособность программы.

    Классификация патчей

    По типам различают:

    1. Бинарные .
      Такие обновления распространяются в виде исполняемых файлов, запуск которых влияет на исполняемый файл самой программы либо заменяя бинарный файл, либо переписывая куски кода внутри него.
    2. Патчи исходного кода.
      Такие обновления показывают различия в исходном коде программы и новых кусках, которые призваны решить проблемы или добавить новую функциональность. Такой вид патчинга используется в ПО с открытым исходным кодом (open-source software).
    3. Крупные (пакеты обновлений). Такие патчи включают очень много исправлений, которые применяются одновременно. Чаще всего этот термин используется по отношению к обновлениям операционных систем.

    Пакеты обновлений

    Компания Apple с помощью обновлений своей операционной системы iOS поддерживает на работоспособном уровне смартфоны 5-летней давности

    Другие разновидности

    1. Хотфикс — это небольшой набор информации, который зачастую решает один конкретный баг. Такие патчи могут выпускаться в течение пары часов после обнаружения ошибки.
    2. Point release – небольшие обновления для программ, которые одновременно исправляют несколько ошибок.
    3. Патчи безопасности — отдельная разновидность заплаток, исправляющих проблемы с безопасностью и предотвращающих потерю или утечку данных.
    4. Неофициальные — это обновления, выпускаемые не разработчиками ПО, а сторонними программистами. Распространено в программах с открытым кодом и компьютерных играх.
    5. Патчи для глаз — это уже из совсем другой оперы, но тем не менее, данные фичи весьма популярны у слабого пола и они их активно применяют.

    Заключение

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

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

    Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

    Эта статья относится к рубрикам:

    • �� Binance — лучшая криптобиржа в мире
    • �� Эксмо — лучшая криптобиржа в рунете
    • ⛏ ВоркЗилла — удаленная работа для всех
    • �� Etxt — платят за написание текстов
    • ✍ Кьюкоммент — биржа комментариев
    • �� 60сек — выгодный обмен криптовалют
    • �� Вктаргет — заработок в соцсетях
    • �� Смотреть все.

    Комментарии и отзывы (1)

    Вот помню раньше, еще до эпохи массового распространения интернета и автоматических обновлений, программное обеспечение тестировали гораздо тщательней.

    А сейчас, можно оставить после себя кучу недоработок, а потом уже закрывать их патчами. Да, это конвейер, в котором качеству уделяется далеко не первое место. Все пользователи, покупающие программный продукт, по сути, становятся бесплатными тестировщиками.

    Ваш комментарий или отзыв

    Что такое патч?

    Что такое патч?

    Компьютерные программы нередко дают сбои, в результате которых выполнение возложенных на приложения операций становится невозможным. Это мешает работе пользователя, отнимает его время. У часто возникающей ошибки в какой-либо программе причина возникновения может быть такой, что эту самую ошибку встречают и многие другие пользователи. Если программа относится к категории свободного ПО, то неисправность могут находить сами разбирающиеся в программировании пользователи или разработчики. Если приложение закрытое, проприетарное, то поиском причины неисправности занимается исключительно разработчик. В случае обнаружения пишется patch-программа. Далее будет рассмотрено, что такое патч и для чего он нужен.

    Слово патч является заимствованием английского patch \’заплатка\’. Так называют цифровую информацию, предназначенную для размещения в структуре кода основной программы с целью изменения алгоритмов её работы. При помощи патчей в программах достигаются:
    • исправления ошибок,
    • добавление новых функций,
    • изменение внешнего вида,
    • добавление непрограммных компонентов (звуковых и графических материалов).

    Другими словами, патчи можно назвать обновлениями программных продуктов. Многие приложения выполняют автоматическую проверку на наличие патчей на серверах разработчиков, загрузку и установку обновлений. В некоторых UNIX-подобных операционных системах, в которых инсталляция большинства программ происходит через специальную утилиту, возможна проверка на наличие обновлений для всех приложений сразу. Если в репозиториях обнаруживаются патчи, пользователю предлагается установить их. Некоторые заплатки ставятся автоматически.

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

    Важно также помнить, что обновления, исправляющие одни ошибки, могут добавлять другие, поэтому в некоторых случаях важно подождать с установкой патчей, убедиться, что они безопасны. Об этом станет известно из отзывов, точнее, из их отсутствия. Обновление настроек безопасности полезно поставить на автоматический режим. Этим можно обеспечить наибольшую защиту для компьютера.

    Таким образом, лучше понять, что такое патч можно, представив его как заплатку для «дыры» в программе. Закрывая уязвимость, можно повысить работоспособность приложения, обеспечить ему стабильную и безопасную работу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *