SORU
19 AĞUSTOS 2011, Cuma


tam olarak ne python'In dosyası.() floş yapıyor?

Python documentation for File Objects bunu buldum:

() floş mutlaka disk dosyası veri yazmaz Sifonu kullanın (os.ardından() fsync bu davranışı sağlamak için.

Benim sorum ise şu: tam olarak Python flush ... ... ne yapıyor? Diske veri yazmak için zorlar diye düşünmüştüm ama şimdi öyle olmadığını görüyorum. Neden?

CEVAP
19 AĞUSTOS 2011, Cuma


Genellikle işin içinde tampon iki düzeyi vardır:

  1. İç tamponlar
  2. İşletim sistemi tamponlar

İç tamponlar tamponlar karşı programlama olduğun zamanı/library/dil tarafından oluşturulur ve her şey için sistem çağrıları yazmak kaçınarak hızlandırmak için tasarlanmıştır. Dosya nesnesine yazmak yerine, onun tampona yazarsanız ve Tampon dolduğu zaman, gerçek veri dosyası için sistem çağrıları kullanılarak yazılır.

Ancak, işletim sistemi tamponlar nedeniyle, bu verileri yazılı ifade etmeyebilirdisk için. Sadece veri tamponlar tamponlar işletim sistemi tarafından tutulan halinde çalışma zamanı tarafından tutulan kopyalanır anlamına gelebilir.

Eğer bir şeyler yazarsanız, tampon bitiyor (tek), ve güç veri makineyi kapatır, disk üzerinde olmayan makine için kesilir.

Bu konuda yardım almak için flush fsync bu yöntemler, kendi nesneleri var.

İlk, flush, sadece gerçek dosya için bir program tampon duruyor herhangi bir veri yazmak. Genellikle bu verileri işletim sistemi bellek program tampon kopyalanır anlamına gelir.

Bunun anlamı, özellikle eğer başka bir işlem aynı dosya okuma için açık varsa, sadece bu dosya için boşaltıldı veri erişim mümkün olacak. Ancak, mutlaka "kalıcı" diskte saklanan. olmuştur anlamına gelmez

Bunu yapmak için, ihtiyacınız için çağrı os.fsync yöntem sağlar tüm işletim sistemi tamponlar vardır senkronize ile depolama aygıtları onlar için, başka bir deyişle, bu yöntem-ecek kopya veri işletim sistemi tamponlar için disk.

Genellikle her iki yöntemde rahatsız olmanıza gerek yok, ama eğer gerçekte disk üzerinde biter ne paranoya iyi bir şey olduğu bir senaryo varsa, her iki aramayı da talimatlara uygun şekilde yapmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • discokatze

    discokatze

    23 EYLÜL 2009
  • FattySpins's channel

    FattySpins's

    17 Mayıs 2009
  • Paul Schroder

    Paul Schrode

    30 Kasım 2007