В чем разница между дисковым блоком и сектором?

4760
alberto

Я знаю, что сектор - это единица, в которой дорожка разбита, но у меня возникли сомнения, поскольку я искал информацию о максимальном количестве указателей, которое может поддерживать индекс. Я обнаружил, что это число зависит от размера блока. Это переменная размера? Поддерживается ли этот размер при выключении компьютера? Спасибо за помощь, я потратил некоторое время на поиски этого, но я не уверен.

-1
Сектор описывает фактическую физическую область. Значение * "блока" * зависит от контекста и может начинаться с префикса, такого как * "физический" * или * "логический" *. Похоже, вы читаете о * "блоке" * в контексте файловой системы? sawdust 7 лет назад 0
Да, я сейчас изучаю структуру диска в системе Unix. alberto 7 лет назад 0

1 ответ на вопрос

1
cybernard

Как только файловая система установлена, размер блока остается прежним. Некоторые инструменты разбиения могут изменить это после факта, но не во время работы ОС.

Сектор традиционно имеет фиксированный размер 512 байт, но несколько дисков имеют сектора по 4096 байт.

Сектор - это наименьшая отдельная ссылочная область на диске.

Размер блока относится к размеру выделения, используемому файловой системой. Общие параметры: 512, 1024, 2048, 4096, 8192, 16384 или 32678. Обычно все, что больше, будет настолько неэффективным, что никто не будет его использовать, и вы не можете пойти меньше 1 сектора диска.

Конечно, вы можете записать 10 байтов в файл, но за кулисами он выделяется 1 блок, используете ли вы все это или нет.

Итак ... размер блоков можно изменить, изменив файловую систему, верно? Еще два вопроса, которые на самом деле более или менее одинаковы: таблица инодов всегда имеет одинаковый размер? Количество указателей на дисковые блоки тоже всегда одинаково? Я предполагаю, что таблица inode адаптирует свой размер к размеру файловой системы, чтобы поддерживать все свободное пространство, но я не был уверен в этом alberto 7 лет назад 0
«Число указателей на ...». Каждый файл и папка имеет указатель на блок, при добавлении нового файла / папки ему присваивается неиспользуемый блок. Общее количество блоков определяется размером диска / размером блока. Таким образом, если вы переразметите общее количество блоков может увеличиваться или уменьшаться, но в режиме онлайн. Размер таблицы inode определяется количеством и размером файлов, которые она хранит. В свободном пространстве нет inode, указывающих на них. cybernard 7 лет назад 0
* Технически * блок файловой системы может быть меньше, чем блок хранения. Такое может даже иметь смысл, если поддерживаемый аппаратным обеспечением размер страницы меньше размера сектора хранения. (Упаковка более одного файла / объекта в сектор, то есть обработка, например, в особом случае, может быть более привлекательной.) Другая часть сектора будет считаться предварительной выборкой при чтении; Запись несколько более проблематична, так как для меньшего размера блока иногда может потребоваться чтение остальной части сектора. Тем не менее это ** теоретическая ** возможность. Paul A. Clayton 7 лет назад 0
Это теоретически возможно, как вы говорите, но учитывая стандартный размер сектора в 512 байт в течение десятилетий, я никогда не видел, чтобы это реализовывалось. Я изучил эффективность (обычно), и обычно размер блока в 512 байт приводит к потере% 0,2–1% накопителя. Затраты на файловую систему резко возрастают, когда вы превышаете 512 байт, так что вы, вероятно, потеряете больше, чем <1%, который вы потеряли бы с размером блока 512 байт. В целом индустрия соглашается с тем, что 4k - это правильный размер, поэтому некоторые новые жесткие диски имеют сектора 4k. cybernard 7 лет назад 0

Похожие вопросы