Возможно ли, чтобы размер логического блока файловой системы был меньше размера физического сектора?

допустим, у нас есть блочное устройство (например. Жесткий диск) с размером участка 4096 байт и никаким эмулированием 512 байт доступен (жесткий диск только понимает блоки размера 4096 байт).

можно ли отформатировать устройство с файловой системой, которая имеет логический блок 512 байт ? Как ФС будет использовать дисковые блоки ? Я имею в виду, что он просто будет использовать 512 байт из 4096 байтов, а остальное будет потрачено впустую (одно к одному сопоставлению между дисковыми секторами и блоками fs) ? Я предполагаю, что если файловая система знает об этой проблеме, он может сделать какую-то эмуляцию 512 байт сам по себе (прочитать сектор диска, изменить часть 512 байт в оперативной памяти, а затем записать сектор на диск), хотя при каждой записи будет некоторая накладная или избыточная работа. Я не совсем уверен, что это имеет смысл ! Поправьте меня, пожалуйста.

19
задан Karim Manaouil
25.04.2023 0:36 Количество просмотров материала 3519
Распечатать страницу

1 ответ

можно иметь такую конфигурацию, но это не очень распространено. Все основные файловые системы (NTFS, FAT32, ext4, btrfs ...и т. д.) использовать 4 КБ блоков, которые совпадают с наиболее часто используемые настройки размера страницы памяти (4096 байт страниц). Диски до этого десятилетия использовали 512 физических секторов, но все современные жесткие диски (и даже твердотельные накопители) используют 4 КБ физических секторов (из-за проблем с воздушной плотностью), а потому, что есть большой стек наследие программного обеспечения, которые имеют 512 байт предположение на блочных устройствах (Windows Vista, Windows XP, ядро Linux до 2.6 и многих других утилит userspace и встроенных приложений) производители жестких дисков реализуют так называемую эмуляцию 512 байт, которая предоставляет размер сектора 512b программному обеспечению (операционной системе), но использует размер базового сектора 4096b.



XFS может быть сконфигурирован для использования блоков размером 512 байт, но если вы хотите (я говорю сам с собой !!?) чтобы использовать эту конфигурацию на 4096b дисках, необходимо убедиться, что разделы хорошо выровненный, в противном случае вы будете страдать от снижения производительности : если вы напишете блок 512b, диск сначала загрузит весь сектор 4096b во внутренний DRAM, изменит часть 512b, а затем запишет его обратно на диск (хотя некоторые методы кэширования могут уменьшить влияние этой проблемы).



Таким образом, окончательный ответ : Да, это возможно, но это может вызвать снижение производительности, и обычно это не обычная конфигурация, замеченная IRL.

0
отвечен Karim Manaouil 2023-04-26 08:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх