Bir Dosyanın Boyutu Nasıl Sıfır Olabilir?
Hepimiz bazen bilgisayarlarımızda bizi tamamen şaşırtan, sıfır boyutta bir dosya gibi şaşırtan bir durumla karşılaşırız, ancak bu nasıl mümkün olabilir? Bugünün Süper Kullanıcı Soru-Cevap yazısının kafası karışmış bir okuyucunun sorusuna cevap verdi.
Bugünün Soru ve Cevap oturumu bize topluluk tarafından yönlendirilen bir soru-cevap web sitesi grubu olan Stack Exchange'in bir alt birimi olan SuperUser'ın izniyle 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 yapamadığım bir şeydi. Boş bir yaratırsam * .txt dosyası Bilgisayarımda ve sonra boyutuna bakmak, sıfır boyutunu gösterir. Bu nasıl mümkün olabilir? Demek istediğim, dosyanın kendisi boş olsa bile, yine de bir boyutu olmalıdır (yalnızca kendi adını saklamak için olsa bile). Bu nasıl açıklanabilir??
Bir dosyanın sıfır boyutunda olması nasıl mümkün olabilir??
Cevap
SuperUser katılımcıları David Schwartz ve Cort Ammon bize cevap veriyor. İlk olarak, David Schwartz:
Bu mümkün çünkü gerçekten bir dosya yok. Sadece bir isim ve sahibi olan bir dizin girişi var. Dizin girişi, dosyadan mantıksal olarak farklı. Örneğin, aynı dosya birden fazla dizinde birden fazla ada sahip olabilir.
Ne yazık ki, dosya terimi her zaman tam olarak aynı şeyi ifade etmek için kullanılmaz. Ancak dosya boyutu mantığı, bir dizin girişinin bir dizine dosya eklediği modelden gelir, ardından dosya adları ve ilgili meta verileri dizinde saklanır..
Cort Ammon'un cevabını takip etti:
Dosya boyutunun anlamsal anlamı kullandığınızdan farklı.
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ü genellikle bir dosyayı açmamız, tüm verileri okumamız ve kapatmamız gerekir. Önümüzdeki planlamayı yapabilmemiz için dosyada kaç bayt veri olacağını bilmemiz gerekir.
Başka bir anlam da çoğu dosya sisteminin veri saklama biçiminden kaynaklanmaktadır. Çoğu dosya sistemi veriyi bloklar halinde saklar. Örneğin, dosya sistemi verileri 64 kB'lık bloklarda depolayabilir, bu da hiçbir zaman 64 kB'nin katı olmayan hiçbir şeyi tahsis etmeyeceği anlamına gelir. Bu kulağa verimsiz geliyor, ancak defter tutma işlemini biraz daha basit hale getirebilir ve çoğu zaman daha basit demektir.
Bağlandığınız üçü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 depolanan bilgileri içerir. Örneğin, Linux'ta, dosya adı kavramı dosyayı içeren dizin için inode'da saklanır. [Diğer yorumlardan elde edilen girdilere dayanarak, bu (teknik olarak) müdürün verilerinde saklanır. Bunu yazdığımda küçük dizinli olayı 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ç çalışmalarını bilmeden (örneğin, tüm izinlerin dosyada depolanması için gereken alanı hesaba katmak gibi) belirlemek zor. Bununla birlikte, 1.000.000 baytlık bir sabit sürücünüz varsa ve bir dosyanın bu sabit sürücüye ne kadar büyük sığabileceğini bilmek istiyorsanız, bu sizin için çok önemli bir anlam olacaktır.!
Açıklamaya eklemek için bir şey var mı? Yorumlarda ses kesiliyor. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Burada tüm tartışma konusuna göz atın.