İşletim sistemleri neden dosya boyutu sınırlarına sahip?


10

İşletim Sistemine bağlı olarak bir dosyanın maksimum boyutta olmasını sınırlayan nedir?

Gönderen bu sayfada :

alternatif metin

Bunu tam olarak anlamıyorum. Depolama alanınız varsa, sınırlama başka ne olabilir? Depolama alanınız bitmedikçe, istediğiniz şekilde (tek bir dosyada bile) istediğiniz kadar veri depolayabilmeniz gerekir.

Yanıtlar:


19

Dosya sistemlerinin dosya boyutlarını (bayt cinsinden veya sektörler veya bloklar gibi dosya sistemine bağlı bazı birimlerde) depolaması gerekir. Boyuta tahsis edilen bit sayısı, dosya sistemi tasarlandığında genellikle taş olarak sabitlenir.

Boyut için çok fazla bite izin verirseniz, her dosyanın biraz daha fazla yer kaplamasını ve her işlemin biraz daha yavaş olmasını sağlarsınız. Öte yandan, boyut için çok az bite izin verirseniz, bir gün insanlar 20EB dosyasını saklamaya çalıştıkları için şikayet edecekler ve bok dosya sisteminiz onlara izin vermeyecektir.

Bahsettiğiniz dosya sistemleri tasarlandığı sırada, sınıra girecek kadar büyük bir diske sahip olmak bilim kurgu gibi geliyordu. (FAT32 hariç, ancak onu tanıtan şirket, herkes parlak yeni NTFS'lerini kabul etmeden önce ara bir önlem olarak tasarlandı, ayrıca büyüyen gereksinimleri öngörmede asla çok iyi değildi.)

Başka bir şey, geçen yüzyılın sonuna kadar, çoğu tüketici (ve hatta sunucu) donanımının sadece 32 bit değerlerle hızlı hesaplamayı sağlayabilmesi ve işletim sistemlerinin dosya boyutları da dahil olmak üzere çoğu şey için 32 bit değerleri kullanma eğiliminde olmasıdır. 32 bit 4GB anlamına gelir, bu nedenle işletim sistemleri dosya sisteminden bağımsız olarak 4GB dosyalarla sınırlıydı, hatta imzalı tamsayılar kullandıkları için 2GB bile. Günümüzde ciddi bir masaüstü veya sunucu işletim sistemi, dosya boyutları ve ofsetler için 64 bit kullanıyor ve bu da sınırı 8EB'ye koyuyor.


2
+1. Başlatılmamışlara açıklama - EB, bir milyon terabaytta olduğu gibi, exabyte'deki gibi.
Shinrai

8

Diskteki veri yapıları genellikle sınırdır. Bu işletim sistemlerinin disklerini nasıl biçimlendirdiğini ve diskteki dosya bölümlerini nasıl izlediklerini araştırın ve neden bu sınırlamalara sahip olduklarını anlayacaksınız. FAT dosya sistemi çevrimiçi olarak oldukça iyi belgelenmiştir ( örneğin Wikipedia'ya bakın ) ve bazı disk yapı alanları için tamsayı boyutu seçimlerinin bu disk biçimiyle depolayabileceğiniz dosyanın genel boyutunu sınırladığını görebilirsiniz.


1

Sınırlama, dosyalama sistemlerinin özellikleri yazıldığında, sabit sürücülerin daha büyük .... veya teknik özellikleri tasarlarken diğer teknik sınırlamalar olacağı asla düşünülmemesinden kaynaklanmaktadır.

Bugünlerde, yeni dosyalama sistemlerindeki sınırlamaların genellikle beklenen kullanımın ne olacağı yönünde olduğunu düşünüyorum.

... Herhangi bir teknik ekibin bir dosyalama sistemi yayınlaması ve üzerinde hiç test yapmadan 500 Petabyte sabit sürücüyü desteklediğini söylemesi zor olurdu.

Benim ilk dizüstü bilgisayar bir 40MB sabit disk ile 286 oldu ... Ben hiç o zaman hiç FAT ihtiyacı (veya sınırı isabet) hayal ediyorum!

Mevcut NTFS sınırlaması birim başına yaklaşık 16 TB, dosya başına 2 TB olduğunu düşünüyorum ... açıkçası, bu bir süre için iyi (ve olması gerekir) - 2 TB'den daha büyük dosyaları yazma yeteneğine sahip (veya ihtiyaç duyan) her şey genellikle bölünmüş dosyalar ve / veya benzer yönetimsel özellikler (örn. SQL sunucusu).


1

Basit yanıt: dosyayı okuyabilmeniz gerekir, bu nedenle dosyayı ele almanız gerekir. Bu erişim, sınırları olan veri yapıları aracılığıyla olacaktır. En düşük ortak paydaya sahip olacaksınız; fiziksel (disk, SD kart, vb.) sınırları, dosya sistemi sınırları ve işletim sistemi sınırları.


Bir dosyayı segment, bellek bankası, yığın, bayt uzaklığı vb.
Gibi

0

Her dosyanın boyutunu bilmek sadece alıştığımız bir sadeleştirmedir. Bu şekilde olmak zorunda değil ve her zaman böyle değildi.

Eski ana bilgisayarlar, bir teyp dosyasının sonuna kadar okunana kadar hiçbir zaman yeni olmamıştı (ve o zaman bile boyutu izlememiş olabilir). Disk dosyalarına bile sık sık sırayla erişildi ve genişletildikçe büyüyeceklerdi. Boyutları (bayt cinsinden) kaydedilmedi ve değişken sektör boyutları ve diğer garip özellikler nedeniyle genel olarak tam olarak okunmadan hesaplanamadı.

Dosya boyutunu takip etmeyen ve sınırsız büyümelerine izin veren bir dosya sistemi tasarlamak zor olmaz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.