Genellikle Linux'taki "düşük seviye" disk işlemleri, kullanıcı programlarından disk özel aygıtını açmayı içerir. Bilgisayarımda, bunlar "/ dev/sda" veya "/ dev/sda4" veya "/ dev/disk/by-uuid/2a5150b4-71cb-11e1-b2fe-3b0d270b4e16" gibi adlar olarak adlandırılır. Aygıt dosyanızı seçerken çok dikkatli olmalısınız. Bunu kullanarak sistem bölümünüze yazmak iyi bir fikir değildir. Ayrıca, aygıt dosyasını açmak çoğu durumda kök erişim gerektirir (açık nedenlerle).
fstream
'un kullanılıp kullanılmayacağı sorusu ortogonaldir. Cihazı açmak için std::fstream
, fopen
veya hatta open
kullanabilirsiniz. Sonra, okuduğunuz işlem, yaptığınız açıkla eşleşiyorsa kullanın.
Özel örneğiniz için, bu işlevselliğe ihtiyacınız olup olmadığını yeniden gözden geçirebilirsiniz. sırayla Linux System Administrator Guide alıntı olduğu Wikipedia, aktaran: Ancak
Linux Sistem Yöneticisi Kılavuzu Modern Linux dosya (lar) birbirine yakın bir dosyada tüm blokları tutarak en azından parçalanma tutmak" diyen bir şekilde Ardışık sektörlerde saklanmasalar bile, ext3 gibi bazı dosya sistemleri, bir dosyadaki diğer bloklara en yakın serbest bloğu etkili bir şekilde tahsis eder. Bu nedenle, bir Linux sisteminde parçalanma hakkında endişelenmenize gerek yoktur. ”
C++ söz yana
, sana bir kullanıcı programı değil, bir aygıt sürücüsü yazıyoruz varsayalım. Gerçekten "düşük seviye" disk işlemleri sadece çekirdeğin içinde kullanılabilir. Aslında, bir aygıt sürücüsü yazmak istiyorsanız, lütfen bunu netleştirmek için sorunuzu yeniden belirtin. Burada şeyler
sürü de: o sayfa 2.2 çekirdek atıfta çünkü http://bit.ly/V2ruze – soulseekah