Prawdziwe puste miejsce na dysku DVD + R.

1

Wiele źródeł podaje następującą wartość jako wolne miejsce na dysku DVD + R / miejsce do zapisu przez użytkownika: 4700372992 bajtów

Napisałem program, binpacker przy użyciu tej wartości , ale wybrane pliki zawsze przekracza pojemność płyty DVD + R (a DVD-R jest w porządku).

Znalazłem, że poprawna wartość powinna wynosić blisko 4692377600 bajtów

Jaki jest powód niedopasowania wolnego miejsca i jaka powinna być poprawna wartość?

eadmaster
źródło
3
To pytanie wydaje się być nie na temat, ponieważ nie ma tutaj pytania.
Xavierjazz,
dodał pytanie (domyślnie)
eadmaster
1
Jak znalazłeś tę wartość? Czy bierzesz pod uwagę fakt, że metadane systemu plików również zajmują miejsce?
Zoredache
nie, nie zrobiłem tego. jak mogę oszacować miejsce zajmowane przez ISO9660 + Joliet fs?
eadmaster

Odpowiedzi:

1

TLDR

Nie jest to całkiem niemożliwe , ale jest to praktycznie bardzo trudne, ponieważ różni się w zależności od danych, które zamierzasz zapisać na płycie. Zasadniczo musisz zrobić to, co robi oprogramowanie do nagrywania płyt CD / DVD, aby ustalić, czy przed nagraniem przekroczyłeś pojemność dysku. [I jestem pewien, że niektóre, jeśli nie większość, takich programów nie robi tego idealnie .]

W przybliżeniu to, co już zrobiłeś, tj. Ograniczysz się do mniejszej pojemności, prawdopodobnie będzie jedynym wykonalnym rozwiązaniem w ogóle.

Program IsoBuster jest właściwie całkiem fajny. Można dość łatwo zobaczyć dokładnie, w jaki sposób pliki i katalogi są przechowywane na obrazie dysku, i prawdopodobnie można by przeprogramować, w jaki sposób określony system plików przydziela miejsce dla różnych typów plików, które go wykorzystują. Spróbuję tego sam.

Trochę szczegółów

Podobnie jak ty odkryłem, że nie można po prostu porównać całkowitego rozmiaru plików w bajtach i całkowitej „pojemności brutto” w bajtach dysku.

Po pierwsze, systemy plików, zarówno na dysku twardym, jak i na dyskach optycznych, takich jak dyski CD i DVD, wymagają nieco miejsca na dane o plikach, np. Katalogi, w których są przechowywane, nazwę pliku, kiedy był on ostatnio modyfikowany itp. .

Każdy system plików (prawie na pewno) będzie wymagał innej ilości miejsca dla różnych zestawów plików i katalogów; będą także podlegać różnym ograniczeniom pod względem takich rzeczy, jak maksymalna długość nazw plików, czy nazwy plików mogą składać się ze znaków Unicode itp.

Różne systemy plików również obsługują lub wymagają różnych rozmiarów sektorów / bloków, co jest mniej więcej najmniejszą ilością miejsca (prawie zawsze wyrażoną w bajtach), którą można przypisać do pliku, tj. Rozmiar sektora 512 bajtów oznacza, że ​​każdy plik jest przydzielany co najmniej 512 bajty (tylko dla danych pliku). Jednak w przypadku systemu plików UDF, którego można używać w przypadku dysków CD i DVD (oraz dysków Blu-ray):

Małe pliki (i katalogi) mogą być przechowywane w samym bloku wprowadzania plików, podobnie jak pliki osadzone w systemie plików NTFS.

tzn. małe pliki (i katalogi) mogą być przechowywane w samych „metadanych systemu plików”. [Źródłem jest zasób [4] poniżej.]

Niektóre zasoby

  1. Zrozumienie DVD - Rozmiar, konfiguracja i pojemność dysku
  2. Universal Disk Format - Wikipedia, darmowa encyklopedia
  3. Specyfikacja Universal Disk Format®, wersja 2.50
  4. Wprowadzenie Wenguanga do Universal Disk Format (UDF)
  5. CDBurnerXP: Utwórz dysk z danymi
  6. Sektor dyskowy - Wikipedia, wolna encyklopedia
  7. Tworzenie dysków optycznych - Wikipedia, wolna encyklopedia

Od [5]:

Nawet jeśli nie dodasz żadnych plików, wykorzystane miejsce na dysku będzie wynosić powyżej 1 MB. Jest tak, ponieważ każdy obraz danych ma nieodłączny narzut systemowy na tabele alokacji, dane woluminu, przestrzeń systemową i tabele ścieżek (aby wymienić tylko kilka). Ponadto należy zarezerwować trochę miejsca na procesy wprowadzania i wyprowadzania, ok. 13 MB od wersji 4.5 CDBurnerXP.

Opierając się na [7], nie sądzę, że „wprowadzenie” i „wyprowadzenie” koniecznie dotyczy dysków z danymi.

Kenny Evitt
źródło