8Sep

Dosya Boyutu Sıfır Olabilir mi?

Hepimiz bazen bilgisayarlarımız üzerinde 'durum' deniyor ve bizi tamamen şaşkına çeviriyor, örneğin sıfır olan bir dosya gibi, ancak bu nasıl mümkün oluyor? Günümüzün SuperUser Q & A postasında, karıştırılmış bir okuyucu sorusunun cevabı var.

Bugünkü Soru &Yanıt oturumu bize Q & A web sitelerinin topluluk temelli bir gruplandırması olan Stack Exchange'in bir alt bölümü olan SuperUser nezaketen geliyor.

Soru

SuperUser okuyucu Eugene S, bir dosyanın boyutunun nasıl sıfır olabileceğini bilmek istiyor:

Bu, karşılaştığım ve doğru bir açıklama düşünemediğim bir şey. Bilgisayarımda boş bir *. txt dosyası oluşturursam ve sonra boyutuna bakarsam, boyutunu sıfır gösterir. Bu nasıl mümkün olabilir? Demek istediğim, dosya boş olsa dahi, hala bir miktarına sahip olmalı( kendi adını saklamak bile olsa).Bu nasıl açıklanabilir?

Bir dosyanın sıfır büyüklüğüne nasıl sahip olabilirsiniz?

Cevap

SuperUser katılımcıları David Schwartz ve Cort Ammon bize cevap buluyor.İlk önce, David Schwartz:

Gerçekten hiçbir dosya olmadığı için mümkündür. Sadece bir isim ve sahibi olan bir dizin girişi var. Dizin girişi mantıksal olarak dosyadan farklıdır.Örneğin, aynı dosyanın birden fazla dizinde birden fazla adı olabilir.

Maalesef dosya terimi her zaman tam olarak aynı şeyi ifade etmek için kullanılamaz. Ancak, dosya boyutu mantığı, bir dizin girişinin bir dizine bir dosya eklediği modelden gelir ve ardından dosya adları ve ilgili meta veriler dizinde depolanır.

Cort Ammon'un cevabı gelmiştir:

Dosya boyutunun anlamsal anlamı kullandığınızdan farklıdır.

Anlamlı olan birçok dosya boyutu vardır. En yaygın olanı ve burada gördüğünüz, dosyadaki bayt sayısıdır. Dosya boş bir metin dosyasıysa, gerçekten sıfır bayt içerebilir. Bu sayı, programcılar için önemlidir, çünkü bir dosyayı sık sık açıp, tüm verileri okumak ve kapatmak zorundayız. Dosyada kaç bayt veri olacağını bilmeliyiz, böylece önümüzde plan yapabiliriz.

Bir başka anlam da, çoğu dosya sisteminin veriyi depoladığı yollardan kaynaklanmaktadır.Çoğu dosya sistemi, verileri bloklar halinde depolar.Örneğin, dosya sistemi 64 kB'lik bloklar halinde veri depolayabilir, yani hiçbir zaman 64 kB'lik bir kat fazla olmayan bir şey tahsis etmeyecektir. Bu verimsiz görünüyor, ancak defter tutma işlemini oldukça basitleştirebilir ve daha basit daha hızlı demektir.

Çektiğiniz üçüncü bir anlam, bir dosyanın varlığını tanımlamak için sabit sürücüde gereken gerçek bit sayısı olacaktır. Bu, genellikle dosyadan ayrı olarak saklanan bilgileri içerir.Örneğin, Linux'ta, dosya adı kavramı, dosyayı içeren dizin için inode'da saklanır.[ Diğer yorumlardan gelen girdilere dayanarak, bu( teknik olarak) dizinin verilerinde saklanır. Bunu yazdığımda, küçük dizin dosyasını düşünüyordum.156 bayttan küçük veriler doğrudan inode'da saklanabilir. ] Bu yaygın olarak kullanılan bir anlam değildir, çünkü dosya sisteminizin muazzam derin iç işleyişini bilmeden( dosyadaki tüm izinleri saklama alanı için gerekli olan muhasebe gibi) belirlemek çok zor. Bununla birlikte, 1.000.000 baytlık bir sabit sürücünüz varsa ve bir dosyanın o sabit sürücüye ne kadar büyük olabileceğini bilmek istiyorsanız, bu sizin için çok önemli bir anlam olacaktır!

Açıklamaya eklemek için bir şey var mı?Yorumların sesini kapatın. Diğer teknik uzman Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Buradaki tam tartışma dizinine göz atın.