Windows Yeni Dosyalara Silinen Dosyaların Tarihini Neden Aktarıyor?
Windows’ta silinen bir dosyayla aynı adla kısa süre içinde oluşturulan yeni dosyanın eski oluşturulma tarihini taşıması, işletim sisteminin yıllardır kullandığı dosya sistemi tünelleme mekanizmasından kaynaklanıyor. NTFS ve FAT dosya sistemlerinde çalışan mekanizma, dosya silindikten veya yeniden adlandırıldıktan sonra meta verileri kısa bir süre önbellekte tutuyor. Microsoft mühendisi Raymond Chen’in yıllar önce açıkladığı tasarım, özellikle uygulamaların güvenli kaydetme yöntemini ve eski 8.3 dosya adı uyumluluğunu korumak için geliştirildi.
Windows Silinen Dosyanın Meta Verilerini Kısa Süre Saklıyor
Windows, bir dosya silindiğinde dosyanın içeriğini geri getirmek yerine belirli meta verileri geçici olarak tünel önbelleğinde tutuyor. Dosya sistemi tünellemesi olarak adlandırılan mekanizma, aynı klasörde aynı ada sahip yeni bir dosya kısa süre içinde oluşturulduğunda eski dosyanın oluşturulma zamanı gibi bilgileri yeni dosyaya aktarabiliyor.
NTFS, dosyanın oluşturulma zamanı ile uzun ve kısa dosya adı arasındaki ilişkiyi bu geçici mekanizma üzerinden koruyabiliyor. Örneğin kullanıcı dün oluşturduğu articles.txt dosyasını silip birkaç saniye sonra aynı klasörde farklı içerikle yeni bir articles.txt oluşturduğunda Windows yeni dosyayı eski dosyanın oluşturulma tarihiyle gösterebiliyor.
Microsoft’un FileSystemInfo.CreationTime belgelerinde de NTFS biçimli sürücülerin dosya meta verilerini kısa süreliğine önbelleğe alabileceği belirtiliyor. Tünel önbelleği kalıcı bir kayıt oluşturmuyor ve eski girdiler önbellek doldukça otomatik olarak temizleniyor.
Microsoft, dosya tünellemesini kullanıcıların kafasını karıştırmak amacıyla geliştirmedi. Microsoft mühendisi Raymond Chen’in açıklamalarına göre mekanizma, uygulamaların dosyaları doğrudan değiştirmek yerine geçici dosya oluşturup eski dosyayı silerek yeni dosyayı eski adla yeniden adlandırdığı güvenli kaydetme yönteminden kaynaklanan tarih değişikliklerini önlemek için tasarlandı.
Microsoft Word gibi bir uygulama, mevcut bir belgeyi kaydederken dosyanın içeriğini doğrudan değiştirmek yerine yeni bir geçici dosya oluşturabiliyor. Uygulama eski dosyayı sildikten sonra geçici dosyayı eski dosyanın adına taşıdığında Windows açısından işlem yeni bir dosyanın oluşturulması anlamına geliyor.
Dosya tünellemesi bulunmasaydı güvenli kaydetme işlemi sonrasında belgenin oluşturulma tarihi yeni bir dosya oluşturulmuş gibi değişebilirdi. Mekanizma, kullanıcı açısından aynı belgenin düzenlenerek kaydedildiği durumlarda dosyanın önceki meta verilerinin korunmasına yardımcı oluyor.
Dosya tünellemesi yalnızca oluşturulma tarihini korumuyor. Windows’un eski yazılımlarla uyumluluğu açısından uzun dosya adı ile 8.3 biçimindeki kısa dosya adı arasındaki bağlantının korunması da mekanizmanın önemli görevlerinden birini oluşturuyor.
Eski 16 bitlik Windows uygulamaları yalnızca kısa dosya adlarını kullanabildiği için uzun dosya adlarının kısa adlarla eşleştirilmesi kritik önem taşıyordu. Örneğin “File with long name.txt” adlı bir dosyanın değiştirilmesi sırasında kısa ve uzun ad arasındaki bağlantı korunmadığında eski bir uygulama dosyayı yalnızca DOS döneminden kalan kısa adıyla görebilirdi.
Windows, tünelleme mekanizmasıyla dosyanın yeniden oluşturulması veya yeniden adlandırılması sırasında uzun dosya adı ile kısa dosya adı arasındaki ilişkiyi koruyabiliyor. Bu tasarım, modern uygulamaların güvenli kaydetme yöntemini desteklerken eski dosya sistemi davranışlarıyla uyumluluğun sürdürülmesine de katkı sağlıyor.
Microsoft’un dosya sistemi belgeleri, tünellemenin belirli silme, oluşturma ve yeniden adlandırma işlemlerinin kısa süre içinde birbirini takip etmesiyle devreye girebildiğini gösteriyor. Mekanizma özellikle aynı ada sahip dosyanın aynı klasörde hızlı biçimde yeniden oluşturulması gibi durumlarda çalışıyor.
Microsoft’un tanımladığı işlemler arasında delete(name) / create(name), delete(name) / rename(source, name), rename(name, newname) / create(name) ve rename(name, newname) / rename(source, name) kombinasyonları bulunuyor. Tünel önbelleği birim bazında tutulurken mekanizma yalnızca uygun işlem sıralaması ve zaman aralığı oluştuğunda devreye giriyor.
Microsoft’un eski belgelerinde varsayılan tünelleme süresinin 15 saniye olduğu belirtiliyor. Dolayısıyla haftalar önce silinen bir dosyanın aynı adla yeniden oluşturulması, tek başına eski oluşturulma tarihinin yeni dosyaya aktarılması için yeterli olmuyor.
Dosya tünellemesi dosyanın içeriğini koruyan bir kurtarma mekanizması da oluşturmuyor. Windows yalnızca belirli meta verileri geçici olarak sakladığı için silinen dosyanın içeriği yeni dosyayla birlikte geri dönmüyor.










