പാച്ച് (കമ്പ്യൂട്ടിംഗ്)

ഒരു **പാച്ച്** എന്നത് ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാമിലെയോ അത് അപ്‌ഡേറ്റുചെയ്യുന്നതിനോ പരിഹരിക്കുന്നതിനോ മെച്ചപ്പെടുത്തുന്നതിനോ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന അതിന്റെ പിന്തുണയ്‌ക്കുന്ന ഡാറ്റയിലേക്കുള്ള മാറ്റങ്ങളുടെ ഒരു കൂട്ടമാണ്.   സുരക്ഷാ കേടുപാടുകൾ പരിഹരിക്കുന്നതും മറ്റ് ബഗുകളും ഇതിൽ ഉൾപ്പെടുന്നു, അത്തരം പാച്ചുകളെ സാധാരണയായി ബഗ്ഫിക്സുകൾ അല്ലെങ്കിൽ ബഗ്ഗ് പരിഹാരങ്ങൾ എന്ന് വിളിക്കുന്നു,   ഒപ്പം പ്രവർത്തനവും, ഉപയോഗക്ഷമത അല്ലെങ്കിൽ പ്രകടനം മെച്ചപ്പെടുത്തുന്നു.

പ്രോഗ്രാം ചെയ്ത നിയന്ത്രണത്തിലോ ഒരു എഡിറ്റിംഗ് ടൂൾ അല്ലെങ്കിൽ ഡീബഗ്ഗർ ഉപയോഗിച്ചോ ഒരു ഹ്യൂമൻ പ്രോഗ്രാമർ പാച്ചുകൾ ഇൻസ്റ്റാൾ ചെയ്യാം. ഒരു സംഭരണ ​​ഉപകരണത്തിലോ കമ്പ്യൂട്ടർ മെമ്മറിയിലോ പ്രോഗ്രാം ഫയലുകളിലേക്ക് അവ പ്രയോഗിക്കാം. പാച്ചുകൾ ശാശ്വതമായിരിക്കാം (വീണ്ടും പാച്ച് ചെയ്യുന്നതുവരെ) അല്ലെങ്കിൽ താൽക്കാലികം.

ഉറവിട കോഡ് ലഭ്യമല്ലാത്തപ്പോൾ പാച്ചിംഗ് കംപൈൽ ചെയ്തതും മെഷീൻ ലാംഗ്വേജ് ഒബ്ജക്റ്റ് പ്രോഗ്രാമുകളുടെ പരിഷ്ക്കരണം സാധ്യമാക്കുന്നു. പാച്ച് സൃഷ്ടിക്കുന്ന വ്യക്തി ഒബ്ജക്റ്റ് കോഡിന്റെ ആന്തരിക പ്രവർത്തനങ്ങളെക്കുറിച്ച് സമഗ്രമായി മനസ്സിലാക്കാൻ ഇത് ആവശ്യപ്പെടുന്നു, ഇത് സോഴ്സ് കോഡിനെ മനസ്സിലാക്കാതെ ചെയ്യാൻ പ്രയാസമാണ്. പ്രോഗ്രാം പാച്ച് ചെയ്യുന്നത് പരിചയമില്ലാത്ത ഒരാൾക്ക് അഡ്മിൻ ആയ മറ്റൊരു വ്യക്തി സൃഷ്ടിച്ച പാച്ച് യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഒരു പാച്ച് ഇൻസ്റ്റാൾ ചെയ്യാം. സോഴ്‌സ് കോഡ് ലഭ്യമാകുമ്പോഴും, പാച്ചിംഗ് ഒബ്ജക്റ്റ് പ്രോഗ്രാമിൽ ചെറിയ മാറ്റങ്ങൾ വീണ്ടും കംപൈൽ ചെയ്യാനോ വീണ്ടും കൂട്ടിച്ചേർക്കലോ സാധ്യമാക്കുന്നു. സോഫ്റ്റ്വെയറിലെ ചെറിയ മാറ്റങ്ങൾക്ക്, പുതുതായി വീണ്ടും കംപൈൽ ചെയ്ത അല്ലെങ്കിൽ വീണ്ടും കൂട്ടിച്ചേർത്ത പ്രോഗ്രാം പുനർവിതരണം ചെയ്യുന്നതിനേക്കാൾ ഉപയോക്താക്കൾക്ക് പാച്ചുകൾ വിതരണം ചെയ്യുന്നത് പലപ്പോഴും എളുപ്പവും ലാഭകരവുമാണ്.

പ്രശ്നങ്ങൾ പരിഹരിക്കാനാണ് ഉദ്ദേശിക്കുന്നതെങ്കിലും, മോശമായി രൂപകൽപ്പന ചെയ്ത പാച്ചുകൾക്ക് ചിലപ്പോൾ പുതിയ പ്രശ്നങ്ങൾ സൃഷ്ടിച്ചേക്കാം (സോഫ്റ്റ്‌വേർ റിഗ്രഷനുകൾ കാണുക). ചില പ്രത്യേക സാഹചര്യങ്ങളിൽ, അപ്‌ഡേറ്റുകൾ ഉപയോഗിച്ച്, അറിഞ്ഞുകൊണ്ട് പ്രവർത്തനക്ഷമത തകർക്കുകയോ ഒരു ഉപകരണം അപ്രാപ്‌തമാക്കുകയോ ചെയ്യാം, ഉദാഹരണത്തിന്, അപ്‌ഡേറ്റ് ദാതാവിന് ലൈസൻസില്ലാത്ത ഘടകങ്ങൾ നീക്കംചെയ്യുന്നതിലൂടെ.

പാച്ച് മാനേജുമെന്റ് ജീവിതചക്രം മാനേജുമെന്റിന്റെ ഭാഗമാണ്, ഇത് ഒരു നിർദ്ദിഷ്ട സമയത്ത് ഏതൊക്കെ സിസ്റ്റങ്ങളിലേക്ക് ഏത് തരം പാച്ചുകൾ പ്രയോഗിക്കണം എന്നതിനുള്ള തന്ത്രവും പദ്ധതിയും ഉപയോഗിക്കുന്ന പ്രക്രിയയാണ് ഇത്.
## തരങ്ങൾ
### ബൈനറി പാച്ചുകൾ
കുത്തക സോഫ്റ്റ്വെയറിനായുള്ള പാച്ചുകൾ സാധാരണയായി സോഴ്സ് കോഡിന് പകരം എക്സിക്യൂട്ടബിൾ ഫയലുകളായി വിതരണം ചെയ്യുന്നു. ഈ ഫയലുകൾ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ഡിസ്കിലെ ടാർഗെറ്റ് പ്രോഗ്രാമിലേക്ക് (കളിലേക്ക്) പാച്ച് കോഡ് ഇൻസ്റ്റാളുചെയ്യുന്നത് നിയന്ത്രിക്കുന്ന ഒരു പ്രോഗ്രാം മെമ്മറിയിലേക്ക് ലോഡുചെയ്യുന്നു.

മറ്റ് സോഫ്റ്റ്വെയറുകൾക്കായുള്ള പാച്ചുകൾ സാധാരണയായി പാച്ച് കോഡ് അടങ്ങിയ ഡാറ്റ ഫയലുകളായി വിതരണം ചെയ്യും. ഇൻസ്റ്റാളേഷൻ നടത്തുന്ന ഒരു പാച്ച് യൂട്ടിലിറ്റി പ്രോഗ്രാം ഈ ഡാറ്റ ഫയലുകൾ വായിക്കുന്നു. പുതിയ പാച്ച് കോഡ് ഉപയോഗിച്ച് പരിഷ്‌ക്കരിച്ചുകൊണ്ട് ടാർഗെറ്റ് പ്രോഗ്രാമിന്റെ എക്സിക്യൂട്ടബിൾ - പ്രോഗ്രാമിന്റെ യന്ത്രഭാഷ കോഡ് ഈ യൂട്ടിലിറ്റി പരിഷ്‌ക്കരിക്കുന്നു. പഴയ കോഡ് കൈവശമുള്ള സ്ഥലത്ത് (ബൈറ്റുകളുടെ എണ്ണം) പുതിയ കോഡ് യോജിക്കുമെങ്കിൽ, പഴയ കോഡിന് മുകളിൽ നേരിട്ട് തിരുത്തിയെഴുതുന്നതിലൂടെ ഇത് സ്ഥാപിക്കാം. ഇതിനെ ഇൻലൈൻ പാച്ച് എന്ന് വിളിക്കുന്നു. പുതിയ കോഡ് പഴയ കോഡിനേക്കാൾ വലുതാണെങ്കിൽ, പാച്ച് യൂട്ടിലിറ്റി പാച്ച് ചെയ്യുന്ന ടാർഗെറ്റ് പ്രോഗ്രാമിന്റെ ഒബ്ജക്റ്റ് ഫയലിലേക്ക് പുതിയ കോഡ് അടങ്ങിയ ലോഡ് റെക്കോർഡ് (കൾ) കൂട്ടിച്ചേർക്കും. പാച്ച് ചെയ്ത പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുമ്പോൾ, പുതിയ കോഡ് ആവശ്യമുള്ള പഴയ കോഡിലെ സ്ഥലത്ത് ബ്രാഞ്ച് നിർദ്ദേശങ്ങൾ (ജമ്പുകൾ അല്ലെങ്കിൽ കോളുകൾ) ഉപയോഗിച്ച് പുതിയ കോഡിലേക്ക് എക്സിക്യൂഷൻ നയിക്കും. ആദ്യകാല 8-ബിറ്റ് മൈക്രോകമ്പ്യൂട്ടറുകളിൽ, ഉദാഹരണത്തിന് റേഡിയോ ഷാക്ക് ടിആർഎസ്-80, ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ ഒരു പാച്ച് / സിഎംഡി യൂട്ടിലിറ്റി ഉൾപ്പെടുന്നു, അത് ഒരു ടെക്സ്റ്റ് ഫയലിൽ നിന്ന് പാച്ച് ഡാറ്റ സ്വീകരിച്ച് ടാർഗെറ്റ് പ്രോഗ്രാമിന്റെ എക്സിക്യൂട്ടബിൾ ബൈനറി ഫയലുകളിൽ (പരിഹാരങ്ങൾ) പ്രയോഗിക്കുന്നു.
### ഉറവിട കോഡ് പാച്ചുകൾ
സോഴ്‌സ് കോഡ് പരിഷ്‌ക്കരണങ്ങളുടെ രൂപത്തിലും പാച്ചുകൾ പ്രചരിപ്പിക്കാൻ കഴിയും. ഈ സാഹചര്യത്തിൽ, പാച്ചുകളിൽ സാധാരണയായി "ഡിഫ്സ്" എന്ന് വിളിക്കുന്ന രണ്ട് സോഴ്സ് കോഡ് ഫയലുകൾ തമ്മിലുള്ള വാചക വ്യത്യാസങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ഇത്തരത്തിലുള്ള പാച്ചുകൾ സാധാരണയായി ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്‌വെയർ പ്രോജക്റ്റുകളിൽ നിന്ന് വരുന്നു. ഈ സാഹചര്യങ്ങളിൽ, ഉപയോക്താക്കൾ പുതിയതോ മാറ്റിയതോ ആയ ഫയലുകൾ സ്വയം സമാഹരിക്കുമെന്ന് ഡവലപ്പർമാർ പ്രതീക്ഷിക്കുന്നു.

### വലിയ പാച്ചുകൾ
"പാച്ച്" എന്ന വാക്ക് ഒരു ചെറിയ പരിഹാരത്തിന്റെ അർത്ഥം വഹിക്കുന്നതിനാൽ, വലിയ പരിഹാരങ്ങൾ വ്യത്യസ്ത നാമകരണങ്ങൾ ഉപയോഗിച്ചേക്കാം. ഒരു പ്രോഗ്രാമിനെ ഗണ്യമായി മാറ്റുന്ന ബൾക്ക് പാച്ചുകൾ അല്ലെങ്കിൽ പാച്ചുകൾ "സർവീസ് പായ്ക്കുകൾ" അല്ലെങ്കിൽ "സോഫ്റ്റ്‌വേർ അപ്ഡേറ്റുകൾ" ആയി പ്രചരിക്കാം. മൈക്രോസോഫ്റ്റ് വിൻഡോസ് എൻ‌ടിയും അതിന്റെ പിൻഗാമികളും (വിൻഡോസ് 2000, വിൻഡോസ് എക്സ്പി, വിൻഡോസ് വിസ്റ്റ, വിൻഡോസ് 7 എന്നിവയുൾപ്പെടെ) "സർവീസ് പായ്ക്ക്" പദങ്ങൾ ഉപയോഗിക്കുന്നു.  ചരിത്രപരമായി, ഈ അപ്‌ഡേറ്റുകളെ സൂചിപ്പിക്കാൻ ഐബിഎം "ഫിക്സ്പാക്സ്", "തിരുത്തൽ സേവന ഡിസ്കെറ്റ്" എന്നീ പദങ്ങൾ ഉപയോഗിച്ചു.
## ചരിത്രം

ചരിത്രപരമായി നോക്കുമ്പോൾ, സോഫ്റ്റ്വെയർ വിതരണക്കാർ പേപ്പർ ടേപ്പിലോ പഞ്ച് ചെയ്ത കാർഡുകളിലോ പാച്ചുകൾ വിതരണം ചെയ്തു, സ്വീകർത്താവിന് യഥാർത്ഥ ടേപ്പിന്റെ (അല്ലെങ്കിൽ ഡെക്ക്) സൂചിപ്പിച്ച ഭാഗം മുറിച്ചുമാറ്റാമെന്നും പകരം സെഗ്‌മെന്റിൽ പാച്ച് (അതിനാൽ പേര്) നൽകുമെന്നും പ്രതീക്ഷിക്കുന്നു. പിന്നീടുള്ള പാച്ച് വിതരണങ്ങൾക്ക് വേണ്ടി മാഗ്നറ്റിക് ടേപ്പ് ഉപയോഗിച്ചു. നീക്കംചെയ്യാവുന്ന ഡിസ്ക്ക് ഡ്രൈവുകളുടെ കണ്ടുപിടുത്തത്തിനുശേഷം, പാച്ച് സോഫ്റ്റ്വെയർ ഡെവലപ്പർമാരിൽ നിന്ന് ഒരു ഡിസ്ക് വഴിയോ അല്ലെങ്കിൽ പിന്നീട് സിഡി-റോം മെയിൽ വഴിയോ വന്നു. വ്യാപകമായി ലഭ്യമായ ഇൻറർനെറ്റ് ആക്സസ് ഉപയോഗിച്ച്, ഡെവലപ്പറുടെ വെബ് സൈറ്റിൽ നിന്നോ ഓട്ടോമേറ്റഡ് സോഫ്റ്റ്വെയർ അപ്ഡേറ്റുകൾ വഴിയോ പാച്ചുകൾ ഡൗൺലോഡ് ചെയ്യുന്നതിന് അന്തിമ ഉപയോക്താക്കൾക്ക് പലപ്പോഴും ലഭ്യമാകും. ആപ്പിളിന്റെ മാക് ഒഎസ് 9, മൈക്രോസോഫ്റ്റിന്റെ വിൻഡോസ് എംഇ എന്നിവയിൽ നിന്ന് ആരംഭിച്ച് പിസി ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്ക് ഇന്റർനെറ്റ് വഴി യാന്ത്രിക സോഫ്റ്റ്വെയർ അപ്‌ഡേറ്റുകൾ നേടാനുള്ള കഴിവ് ലഭിച്ചു.

ടാർഗെറ്റ് പ്രോഗ്രാം അപ്‌ഡേറ്റുചെയ്യുന്നതിന് കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾക്ക് പലപ്പോഴും പാച്ചുകൾ ഏകോപിപ്പിക്കാൻ കഴിയും. ഓട്ടോമേഷൻ അന്തിമ ഉപയോക്താവിന്റെ ചുമതല ലളിതമാക്കുന്നു - ഉപയോക്താവ് ഒരു അപ്‌ഡേറ്റ് പ്രോഗ്രാം എക്സിക്യൂട്ട് ചെയ്യുക, അതിനുശേഷം ടാർഗെറ്റ് അപ്‌ഡേറ്റ് ചെയ്യുന്നത് പൂർണ്ണമായും കൃത്യമായും നടക്കുന്നുവെന്ന് ആ പ്രോഗ്രാം ഉറപ്പാക്കുന്നു. മൈക്രോസോഫ്റ്റ് വിൻഡോസ് എൻ‌ടിക്കും അതിന്റെ പിൻ‌ഗാമികൾക്കുമായുള്ള സേവന പാക്കുകളും നിരവധി വാണിജ്യ സോഫ്റ്റ്വെയർ ഉൽ‌പ്പന്നങ്ങളും അത്തരം 
ഓട്ടോമേറ്റഡ് സ്ട്രാറ്റജീസ് സ്വീകരിക്കുന്നു.

ചില പ്രോഗ്രാമുകൾക്ക് ഉപയോക്താക്കളുടെ ഭാഗത്തുനിന്ന് വളരെ കുറച്ച് അല്ലെങ്കിൽ ഇടപെടലില്ലാതെ ഇന്റർനെറ്റ് വഴി സ്വയം അപ്‌ഡേറ്റ് ചെയ്യാൻ കഴിയും. സെർവർ സോഫ്റ്റ്വെയറിന്റെയും ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളുടെയും പരിപാലനം പലപ്പോഴും ഈ രീതിയിലാണ് നടക്കുന്നത്. സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാർ നിരവധി കമ്പ്യൂട്ടറുകളെ നിയന്ത്രിക്കുന്ന സാഹചര്യങ്ങളിൽ, സ്ഥിരത നിലനിർത്താൻ ഇത്തരത്തിലുള്ള ഓട്ടോമേഷൻ സഹായിക്കുന്നു. സുരക്ഷാ പാച്ചുകളുടെ പ്രയോഗം സാധാരണയായി ഈ രീതിയിലാണ് സംഭവിക്കുന്നത്.
## അപ്ലിക്കേഷൻ
പാച്ചുകളുടെ വലുപ്പം കുറക്കുമ്പോൾ ബൈറ്റുകൾ മുതൽ നൂറുകണക്കിന് മെഗാബൈറ്റ് വരെ വ്യത്യാസപ്പെടാം; അതിനാൽ, കൂടുതൽ പ്രധാനപ്പെട്ട മാറ്റങ്ങൾ ഒരു വലിയ വലുപ്പത്തെ സൂചിപ്പിക്കുന്നു, എന്നിരുന്നാലും ഇത് പാച്ചിൽ മുഴുവൻ ഫയലുകളും ഉൾക്കൊള്ളുന്നുണ്ടോ അല്ലെങ്കിൽ ഫയലുകളുടെ മാറിയ ഭാഗം (കൾ) മാത്രമാണോ എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. പ്രത്യേകിച്ചും, ഗ്രാഫിക്സ്, ശബ്ദ ഫയലുകൾ പോലുള്ള പ്രോഗ്രാം ഇതര ഡാറ്റകൾ മാറ്റങ്ങൾ ചേർക്കുകയോ മാറ്റിസ്ഥാപിക്കുകയോ ചെയ്യുമ്പോൾ പാച്ചുകൾ വളരെ വലുതായിത്തീരാം. കമ്പ്യൂട്ടർ ഗെയിമുകളുടെ പാച്ചിംഗിൽ ഇത്തരം സാഹചര്യങ്ങൾ സാധാരണയായി സംഭവിക്കാറുണ്ട്. സോഫ്റ്റ്വെയറിന്റെ പ്രാരംഭ ഇൻസ്റ്റാളേഷനുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, പാച്ചുകൾ സാധാരണയായി പ്രയോഗിക്കാൻ കൂടുതൽ സമയം എടുക്കുന്നില്ല.

## അവലംബം

വർഗ്ഗം:കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ്ങ്