Почему на флешку в 16 Gb не получится записать файл такого же объема.
Покупая, например, флешку неопытный пользователь с удивлением обнаруживает что на его честно купленной флешку вместо заявленных 16Gb после форматирования остается всего 14,9 Gb.
И сейчас на примере дискеты размером 720Kb отформатированной в системе FAT12 я объясню почему так.
Для начала почему дискета? Потому что на небольших цифрах это будет более наглядно и понятно, чем топить сразу в гигабайтах.
Итак дискета
У нее две стороны и она отформатирована под ОС MS-Dos стандартной процедурой форматирования. У нее 2стороны*80треков*9секторов*512байт что дает 737 280 байт = 720 Kb в 1440 секторах.
Но для того чтобы использовать записывать данные на диск, нам необходимо как то сохранять информацию на этом же диске, куда и сколько данных мы записали. Минимальная единица записи на диск называется сектор и имеет длину 512 байт.
И мы выделяем самый первый сектор на диске для записи что и где находится.
Все записи на диск адресуются с помощью специальной таблицы, она называется FAT (Таблица Расположения Файлов). Осознавая важность этой таблицы мы её записываем дважды. Длина этих таблиц будет 3сектора*512 байт*2 копии.
Но для работы с диском этого недостаточно. Нам еще нужен самый первый список файлов записываемых на диск. Он называется корневой каталог и содержит всего 112 записей о файлах.
Мы еще ничего не записали, а уже потратили 1+3+3+7= 14 секторов на начальную разметку диска. Хотя для дискеты это всего лишь 1% данных.
Логическая единица записи на диск называется кластер и на нашем диске он состоит из двух секторов 2*512=1024. Создали мы каталог - его длина 1 кб, даже если он пуст. Записали мы файл размером 1 байт - снова минус один кластер. А их на нашем диске всего 713 штук.
И одним из побочных эффектов такого подхода является перемешивание сохраняемых данных и создаваемых каталогов. Что самым пагубным образом сказывается на скорости доступа к данным.
Ну а теперь когда я немного рассказал о системной информации на диске, перейдем уже к нашей флешке. При работе с большими объемами памяти проблемы у нас возникают тоже большие. 8Gb это 17 179 869 184 байт. Если использовать такие же мелкие кластеры как на диске то у нас для адресации кластеров понадобятся уже 32 битные числа и под служебную информацию нам понадобится около 8% объема диска.
Но прогресс не стоит на месте и для устройств большего объема были созданы более совершенные способы форматы хранения данных. Одним из них является NTFS.
Она сразу отбирает себе 12% доступного места под хранение служебной информации.
Поэтому на флешку в 16Gb влезает всего 14.9Gb данных.
Спасибо за внимание.
Компьютер это просто
2.2K постов5.9K подписчиков
Правила сообщества
Обязательные.
Уважать мнение других
Не переходить на личности, даже при споре, "Что лучше Intel или AMD".
Матерится, выражая эмоции можно, но опять же, не в адрес оппонента или собеседника.
Отдельно для "свидетелей LINUX": Вам здесь рады, но и к Вам пожелание быть проще и понятней.
Не вводить в заблуждение заведомо неверными и вредными советами, даже в шутку. Если же пошутить хочется, помечайте это в комментарии, добавив слово "шутка", или другим понятным словом, что бы в дальнейшем данный комментарий не воспринимался серьезно.
Рекомендованные.
В публикуемом посте настоятельно рекомендуется указывать конфигурацию ПК (ноутбука) и операционную систему. А также марки и модели комплектующих.
Указывайте теги "Компьютер" "Ноутбук" "Программное обеспечение" "сборка компьютера" "Операционная система" "Драйвер" "Комплектующие".