Yazılım yaması - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Türler
    • 1.1 İkili yamalar
    • 1.2 Kaynak kodu yamaları
    • 1.3 Büyük yamalar
  • 2 Kaynakça

Yazılım yaması

  • العربية
  • Български
  • Bosanski
  • Català
  • Čeština
  • Dansk
  • Deutsch
  • English
  • Esperanto
  • Español
  • Euskara
  • فارسی
  • Suomi
  • Français
  • Galego
  • עברית
  • Magyar
  • Bahasa Indonesia
  • İtaliano
  • 日本語
  • 한국어
  • Lietuvių
  • Latviešu
  • മലയാളം
  • Bahasa Melayu
  • Nederlands
  • Norsk nynorsk
  • Norsk bokmål
  • Polski
  • Português
  • Русский
  • Simple English
  • Slovenščina
  • Српски / srpski
  • Svenska
  • Kiswahili
  • ไทย
  • Українська
  • Tiếng Việt
  • 中文
  • 粵語
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
(Yama sayfasından yönlendirildi)
İlk "Bilgisayar Hatası" (Computer Bug): 9 Eylül 1947'de Harvard Üniversitesi'nde test edilen Mark II Aiken Röle Hesaplayıcısı'nın Panel F kısmında sıkışmış bir güve bulundu. Operatörler, güveyi bilgisayar kayıt defterine yapıştırarak şu notu eklediler: "Bir hata bulunmasına dair ilk gerçek vaka."

Yama, bilgisayar programlarında oluşan bir hatayı ya da programın içeriğindeki hatalı bir fonksiyonu düzelten bir programcıktır. Genelde bilgisayarlardaki en büyük güvenlik sorunlarından olan yazılım açıklarına müdahale amacıyla kullanılır.

Yazılımlarda var olan açıkları kullanan kötü niyetli kişiler, bilgisayarlarda istedikleri kodları çalıştırabilirler. Çalıştırılan bu kodlar sayesinde bilgisayarda kapılar açıp kişisel bilgiler öğrenilebilir, donanımlarda hata oluşturup bilgisayarın yapısı bozulabilir. Verilerin içerikleri de değiştirilebilir.

Yazılım firmaları, açıkları kötü niyetli insanlardan önce bulup, bunu gidermek için yama (patch) yayınlamaya çalışırlar. Her programda açık vardır ve olmaya devam edecektir. Önemli olan, açıkların üreticiler tarafından kısa sürede tespit edilmesi ve bunları giderici programların yani yamaların hızlı bir şekilde yayınlanmasıdır. Bunu da açık kaynak kodlu yazılımlar çok hızlı bir şekilde yapmaktadır.

Programların yamalarının takip edilip ve yüklenmesi önemlidir. Programlardaki “update” veya “live update” kısımlarını aktif halde tutulmalıdır.

Türler

[değiştir | kaynağı değiştir]

İkili yamalar

[değiştir | kaynağı değiştir]

Özel yazılım yamaları genellikle kaynak kodu yerine yürütülebilir dosya olarak dağıtılır. Bu dosyalar yürütüldüğünde, yama kodunun diskteki hedef program(lar)a kurulumunu yöneten bir programı belleğe yükler.

Diğer yazılımlar için yamalar genellikle yama kodunu içeren veri dosyaları olarak dağıtılır. Bunlar, kurulumu gerçekleştiren bir yama yardımcı programı tarafından okunur. Bu yardımcı program, hedef programın yürütülebilir dosyasını (programın makine dilini) genellikle yeni yama kodunu temsil eden baytlarla baytlarının üzerine yazarak değiştirir. Yeni kod, eski kodun kapladığı alana (bayt sayısı) sığarsa, doğrudan eski kodun üzerine yazılarak yerine yerleştirilebilir. Buna satır içi yama denir. Yeni kod eski koddan daha büyükse, yama yardımcı programı yeni kodu içeren yükleme kaydını(kayıtlarını) yama uygulanan hedef programın nesne dosyasına ekler. Yama uygulanan program çalıştırıldığında, yürütme yeni koda yönlendirilir ve dal talimatları (atlamalar veya çağrılar) yeni kodun gerekli olduğu eski koddaki yerin üzerine yamalanır. Örneğin Radio Shack TRS-80 gibi eski 8 bitlik mikro bilgisayarlarda, işletim sistemi bir metin dosyasından yama verilerini kabul eden ve düzeltmeleri hedef programın yürütülebilir ikili dosyasına(dosyalarına) uygulayan bir PATCH/CMD yardımcı programı içerir.

Yama kodunun çalışma zamanında yürütülebilmesi için bellekte yeri(leri) olması gerekir. Satır içi yamalar zor değildir, ancak ek bellek alanına ihtiyaç duyulduğunda programcı doğaçlama yapmalıdır. Doğal olarak, yama programcısı yama uygulanacak kodu ilk oluşturan kişiyse, bu daha kolaydır. Bilgili programcılar, son yinelemelerini üretirken kullanılmadan bırakılan, daha sonraki genişlemeler için bellek ayırarak bu ihtiyaç için önceden plan yaparlar. Orijinal uygulamayla ilgisi olmayan ve daha sonra değişiklikleri dahil etmeye çalışan diğer programcılar, ihtiyaç duyulan ek baytlar için yer bulmalı veya açmalıdır. Bunun için en şanslı olası durum, yama uygulanacak rutinin ayrı bir modül olmasıdır. Bu durumda yama programcısının yalnızca diğer sistem bileşenlerine modül tarafından işgal edilen alanı işaret eden işaretçileri veya uzunluk göstergelerini ayarlaması gerekir; daha sonra bu bellek alanını genişletilmiş yama koduyla doldurmakta özgürdür. Yama uygulanacak rutin ayrı bir bellek modülü olarak mevcut değilse, programcı genişletilmiş yama kodu için yeterli yer açmak amacıyla rutini küçültmenin yollarını bulmalıdır. Tipik taktikler arasında, daha verimli talimat dizileri bularak (veya daha verimli algoritmalarla yeniden tasarlayarak) kodu kısaltmak, mesaj dizilerini ve diğer veri alanlarını sıkıştırmak, program işlevlerini toplu depolamaya aktarmak (disk katmanları gibi) veya yamayla birlikte yüklenecek değişikliklerden daha az önemli olduğu düşünülen program özelliklerini kaldırmaktır.

Küçük bellek içi makine kodu yamaları, CP/M'nin DDT veya MS-DOS'un DEBUG hata ayıklayıcıları gibi sistem hata ayıklama yardımcı programıyla elle girilebilir. Yorumlanmış BASIC'te çalışan programcılar, bir sistem servis rutininin veya yorumlayıcının kendisinin işlevselliğini değiştirmek için genellikle POKE komutunu kullanırdı.

Kaynak kodu yamaları

[değiştir | kaynağı değiştir]

Yamalar ayrıca kaynak kodu değişiklikleri biçiminde de dolaşabilir. Bu durumda, yamalar genellikle iki kaynak kodu dosyası arasındaki metinsel farklılıklardan oluşur ve bunlara "diffs" denir. Bu tür yamalar genellikle açık kaynaklı yazılım projelerinden çıkar. Bu durumlarda, geliştiriciler kullanıcıların yeni veya değiştirilmiş dosyaları kendilerinin derlemesini bekler.

Büyük yamalar

[değiştir | kaynağı değiştir]

"Yama" kelimesi küçük bir düzeltme çağrışımı taşıdığından, büyük düzeltmeler farklı bir adlandırma kullanabilir. Hacimli yamalar veya bir programı önemli ölçüde değiştiren yamalar "servis paketleri" veya "yazılım güncellemeleri" olarak dolaşabilir. Microsoft Windows NT ve halefleri (Windows 2000, Windows XP, Windows Vista ve Windows 7 dahil) "servis paketi" terminolojisini kullanır.[1] Tarihsel olarak, IBM bu güncellemelere atıfta bulunmak için "FixPaks" ve "Düzeltici Hizmet Disketi" terimlerini kullanmıştır.[2]

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ "Service Pack and Update Center". windows.microsoft.com. 1 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 1 Haziran 2015. 
  2. ^ "Glossary of terms". www.tavi.co.uk. 1 Aralık 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Kasım 2016. 
"https://tr.wikipedia.org/w/index.php?title=Yazılım_yaması&oldid=36505227" sayfasından alınmıştır
Kategoriler:
  • Güvenlik yazılımları
  • Yazılım bakımı
  • Sayfa en son 04.32, 11 Aralık 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Yazılım yaması
Konu ekle