Web Analytics

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Патч (программный) — Википедия

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

Материал из Википедии — свободной энциклопедии

Запла́тка, или па́тч (англ. patch — заплатка) — часть программы, или небольшая отдельная программа, используемая для устранения проблем в программном обеспечении. Сюда входит исправление ошибок, изменение внешнего вида, улучшение эргономичности или производительности программ. Хотя бывает, что и сами патчи становятся причиной новых неполадок.

Содержание

[править] Способы распространения

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

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

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

[править] История

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

[править] Применение

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

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

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

Полностью автоматическое обновление намного распространённее на рынке потребителей за счёт того, что Service Pack 2 для Microsoft Windows XP включал этот механизм автоматически.

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

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

[править] Компьютерные игры

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

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

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

[править] Автоматизация

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

[править] Инструменты

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

[править] Патчи в разработке программного обеспечения

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

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

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

[править] См. также

[править] Ссылки

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

 

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu