SORU
3 Kasım 2008, PAZARTESİ


Dosya erişimi için yüksek kullanmalıyım?

POSIX ortamlar dosyalara en az iki yolu bulunur. Standart sistem, *, write(), *read()0 ve arkadaş görüşmeleri var, ama aynı zamanda mmap() Sanal belleğe dosyayı göster için kullanma seçeneği var.

Ne zaman bir kullanım için tercih edilir? Hak eden tek avantajları iki arabirimi de dahil olmak üzere.

CEVAP
3 Kasım 2008, PAZARTESİ


yüksek yazıyorum sunucu sistemleri tür yaygın olan varsa Eğer birden çok işlem aynı dosyayı salt okunur biçimde veri erişimi varsa, harika. yüksek tüm bu işlemler aynı fiziksel bellek sayfaları, çok miktarda bellek tasarrufu paylaşmanızı sağlar.

yüksek işletim sistemi disk belleği işlemleri optimize etmek için izin verir. Örneğin, 1 MB belleğe dosya mmaps olan iki program; bir tampon malloc ile oluşturma içine 1MB bir dosya okuyan programı A ve B program düşünün. Eğer işletim sistemi Bir bellek parçası takas varsa, arabellek içeriğini bellek yeniden önce takas için yazmak gerekir. B durumda herhangi değiştirilmemiş yüksek ... sayfalar hemen OS onları nasıl geri gelen ... yüksek olduklarını varolan dosyadan bildiği için yeniden kullanılabilir. (Başlangıçta işletim sistemi salt okunur olarak yazılabilir yüksek diye sayfaları işaretleme ve seg hataları, strateji Yazma) Kopyalamak için benzer alıcı tarafından değiştirilmemiş olan algılayabilir.

yüksek, aynı zamanda ülkeler arası işlem iletişim için yararlıdır. Okuma / iletişim ve gerekir sonra yüksek olarak eşitleme ilkel kullanma işlemleri ... bölgede (bu MAP_HASSEMAPHORE bayrağı budur) yazmak gibi bir dosya yüksek.

Yüksek zor olduğu bir yer, eğer 32 bit bir makinede çok büyük dosyaları ile çalışmak gerekir. Bu yüksek dosyasının tamamını eşlenen sığacak kadar büyük olduğunu senin işlemin adres alanı Adres bitişik bir blok bulmak zorunda olmasıdır. Bu adres alanı adres alanı 2 GB ücretsiz sahip olabilir, parçalanmış hale gelirse bir sorun haline gelebilir, ama hiçbir birey aralığı 1 GB bir dosya eşleme için uygun olabilir. Bu durumda oturtmak için daha küçük parçalar halinde dosyayı göster gerekebilir.

Okuma / yazma için bir yedek olarak yüksek potansiyele sahip başka bir gariplik sayfa boyutu uzaklıklar üzerinde haritalama başlamak zorunda. Eğer sadece X uzaklığındaki bazı veriler elde etmek istiyorsanız yüksek ile uyumlu bu yüzden ofset düzelti gerekir.

Ve son olarak, okuma / yazma tek yoluolabilirbazı dosya türleri ile çalışır. yüksek boru ve bunlarla gibi şeyler kullanılabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • Sergio Fernandez

    Sergio Ferna

    1 EKİM 2009