Windows'da silme hızı neden sık sık periyodiktir?


13

Sadece ilginin dışında, silme zamanlarının sık sık periyodik olmasının nedeni nedir? Windows 8'de silme iletişim penceresi bir diyagramdaki silme hızını gösterir.

Windows 8 silme iletişim penceresi

Sebep yoksa, elbette bu da bir cevap olacaktır.


4
klasörde 100.000 dosya var, hepsi farklı boyutlarda, ölçüm saniyedeki öğelerdir, böylece öğeler ne kadar küçükse öğeler o kadar hızlı silinir.
Ramhound

3
@Ramhound, Bunun değişen dosya boyutuyla ilgili olmadığı görülüyor. Grafiğin sinüzoidal doğası çok düzenli.
GaTechThomas

1
Windows, dosyaları silerken dolu blokları sıfırlamaz. Büyük bir dosyanın silinmesi, küçük bir dosyanın silinmesinden daha uzun sürmemelidir. Suçlu, daha fazla sayıda maddeye sahiptir. Birçok alt klasörde mi? Silme, kopyalama veya taşıma işlemlerinden bağımsız olarak birçok dosyayla (büyük veya küçük) ilgilenirken önemli bir ek yük vardır.
abstrask

2
Bir çeşit önbellekleme? Bir sürü silme isteği grafiğin zirvelerinde mi temizleniyor?
Jesse Slicer

1
Bunu da gördüm, bazen çok daha büyük dalgalarla.
Moshe Katz

Yanıtlar:


5

Bir kaç neden var:

  1. Veri Sürekliliği: NTFS, bir diske sırayla yazdığı yerde uygulanır, bu nedenle bir dosyayı düzenlerseniz - NTFS'nin değişiklikleri sabit diskinizde bitişik olmayan bir sektörde depolaması gerekebilir. Bu, bir dosyayı silmek için sektör 2'den sektör 100.000'e (varsayımsal olarak elbette) atlamak ve daha sonra dosyayı bitirmek için geri dönmesi gerektiği anlamına gelir. Daha sonra silinecek bir sonraki dosyanın bir sonraki kesimini bulur ve bu işlemi tekrarlayabilir.

  2. Veri türleri: içindeki bir klasörü sildiğinizi varsayalım temp, büyük dosyalar ve küçük dosyalar içerebilir. Bunlardan bazıları hızlı işlenir ve diğerleri daha yavaş olabilir (verilerin boyutu veya karmaşıklığı - yani bir "öğeyi" bitirmek için kaç sektörün işlenmesi gerekir)

  3. @Ramhound, silme iletişim kutunuz ( Speed: 1.082 items/s) tarafından onaylanmış görünen "saniye başına öğe" parçasından bahsetti . Bu nedenle, büyük bir dosyayı, bitişik olmayan bir dosyayı veya küçük bir dosyayı silmek, saniyede öğe sayısında rol oynar.

  4. CPU Önceliği: Bu şeyler saat döngülerinde yapılır, bu nedenle CPU'nuzun döngü sırasında diğer işlemleri çalıştırıyor olabilir ve bu da hızı etkileyebilir (bu benim tarafımdan varsayımdır)


3
Windows / NTFS, dosyaları silerken dolu blokları sıfırlamaz. Büyük veya küçük, bitişik veya bitişik olmayan önemli değildir.
abstrask

@abstrask - Hiçbir şeyi sıfırlamadığını söylemedim. Bununla birlikte, $BitMap(küme) her kümeye atlamak ve kullanmak için serbest olarak işaretlemek zorundadır (yani "silinmiş"). Bir dosyayı açmak ve düzenlemek (herhangi bir düzeyde) kaynakları alır ve içinde atlamak zorunda kaldığınız yükü alır ve kesinlikle sizi yavaşlatabilir. Dosya büyükse - düzenlemek daha uzun sürer, dosya bitişik değilse - aramak biraz daha uzun sürer.
nerdwaller

1
Her küme, $ Bitmap dosyasında bir bit ile temsil edilir. Varsayılan ayırma birimi boyutu 4 KB olduğu varsayılırsa, 100 KB'lık bir dosyanın ayırma başvurusu $ Bitmap dosyasında yaklaşık 3 bayttır. Büyük bir dosya, örneğin 1 GB, $ Bitmap dosyasında 32 KB yer kaplar. $ Bitmap çok parçalanmış olsa bile, sabit sürücünün 1 GB dosya kümelerini silmek üzere işaretlemek için yalnızca 32 KB / 4 KB / küme = 8 küme arasında atlaması gerekir. Evet, büyük bir dosyayı silmek için daha fazla bit çevrilmelidir, ancak neredeyse ölçülemez ve kesinlikle ekran görüntüsünde gösterilen büyük görsel darbelere neden olmaz.
abstrask
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.