Bunu Access violation forumunda bir soru olarak soracaktım ama ya bende bir sıkıntı var, yada yetkim yok konu açmaya.İkinci ihtimal daha kuvvetli geldi bana sanki forumda başka alanlardaki tecrübelerime dayanarak.Tabi Access violation forumunda sorulara sıkça,kendimce cevap veren kişilerden biri olarak konu açamamam da ironik ama zaten bu bir ayrıcalıksa istemem.Gerçi bu konudaki fikirlerimi yönetici arkadaşlar biliyor zaten.Bu forumu seviyorum ama saygı çerçevesinde eleştiri yapmaktan da geri kalmam.Neyse biz konuya gelelim.Parity/ECC (Error Correction Code/Hata Düzeltme Kodu) destekli belleklerde bir byte 9 bitten oluşur, 8 bitlik kısmı data içindir, kalan bir bite is parity bit denir.Tek, çift kontrolü yapılarak datanın bozulup bozulmadığı kontrol edilir.Örneğin:
00101111(1) parantez içindeki parity bitte 1 değeri var çünkü data kısmındaki bitlerdeki birlerin sayısı 5(tek)'tir.Eğer bu bitlerde bozulma olursa örneğin değerimiz şöyle olursa 00100111(1) olursa birlerin sayısı çift ama parity bitte 1(tek) olduğu için anlarız ki veride bir bozulma var.Tabi burada bir değil de iki değer bozulursa hatayı fark edemeyiz ama yine de bu kontrolün veri hatalarını büyük oranda çözdüğü belirtiliyor.Tabi bunun için anakartın, işlemcinin de parity/ecc'yi desteklemesi gerekir.Bu yüzden ramlerde anakartlarda bu destek varsa genelde başlığında belirtilir.Maliyeti artırdığı ve kontrol mantğından dolayı biraz daha yavaş (%2) olduğu için artık eskisi kadar tercih edilmese de veri güvenliğinin önemli olduğu mimarilerde ve sunucularda tercih edilebiliyor.Son olarak biz karşılıklı olarak haberleşen programlar yazıyorsak ve verinin doğru bir şekilde karşıya ulaşması önemliyse bunu 8 bit üzerinde 1 biti parity bit yapıp 7 biti data olarak tasarlayarak programatik olarak da yapabiliriz.En başa dönersek Parity/ECC destekli bir bellek kullanılsa da programcıyı ilgilendiren byte kısmı yine 8 bitten oluşur ama aşağıda ne olduğunu bilmek her zaman bizi daha güçlü kılar. Saygılarımla.
00101111(1) parantez içindeki parity bitte 1 değeri var çünkü data kısmındaki bitlerdeki birlerin sayısı 5(tek)'tir.Eğer bu bitlerde bozulma olursa örneğin değerimiz şöyle olursa 00100111(1) olursa birlerin sayısı çift ama parity bitte 1(tek) olduğu için anlarız ki veride bir bozulma var.Tabi burada bir değil de iki değer bozulursa hatayı fark edemeyiz ama yine de bu kontrolün veri hatalarını büyük oranda çözdüğü belirtiliyor.Tabi bunun için anakartın, işlemcinin de parity/ecc'yi desteklemesi gerekir.Bu yüzden ramlerde anakartlarda bu destek varsa genelde başlığında belirtilir.Maliyeti artırdığı ve kontrol mantğından dolayı biraz daha yavaş (%2) olduğu için artık eskisi kadar tercih edilmese de veri güvenliğinin önemli olduğu mimarilerde ve sunucularda tercih edilebiliyor.Son olarak biz karşılıklı olarak haberleşen programlar yazıyorsak ve verinin doğru bir şekilde karşıya ulaşması önemliyse bunu 8 bit üzerinde 1 biti parity bit yapıp 7 biti data olarak tasarlayarak programatik olarak da yapabiliriz.En başa dönersek Parity/ECC destekli bir bellek kullanılsa da programcıyı ilgilendiren byte kısmı yine 8 bitten oluşur ama aşağıda ne olduğunu bilmek her zaman bizi daha güçlü kılar. Saygılarımla.
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
https://play.google.com/store/apps/developer?id=ONGUN