1

Привет всем, я новичок на сайте, и у меня есть вопрос. Я получил этот вопрос на тесте и действительно хотел бы знать правильный подход к решению этой проблемы? Здесь вопрос.

В индексированной файловой системе первый индексный блок (inode) имеет 12 прямых указателей и 1 указатель на косвенный индексный блок. Файловая система реализована на диске размером 1024 байта. Все указатели являются 32-битными. Вопрос: каков максимальный размер файла (килобайт) этой файловой системы?

Если это возможно, не просто ответ, а объяснение.

Это был множественный выбор между 4 ответами

  • а. 13 К
  • б. 268 К
  • с. 524 К
  • д. 1036 К

Что касается моего подхода, я только дошел до того, что знаю, что 1 указатель является 32-битным

Также я нашел что-то еще здесь на сайте, которое кажется очень полезным: https://stackoverflow.com/questions/2755006/understanding-the-concept-of-inodes

Хорошо, я получил это далеко Есть 12 блоков, и каждый блок составляет 1024 байта. 1024 * 12 = 12288 байт или 12 КБ. Пожалуйста, поправьте меня, если я ошибаюсь. Каждый указатель имеет размер 32 бита = 4 байт. И, честно говоря, в этот момент я начинаю запутываться, тем более что мой ответ намного превосходит любой из моих ответов с несколькими вариантами ответов.

2 ответа2

1

Если вы можете объяснить мне, как эта файловая система будет распределять блоки индекса и блоки данных для файла размером 40 КиБ, то я, вероятно, мог бы вам чем-то помочь. Но у меня нет контекста, в котором вы должны понимать, как эта гипотетическая файловая система будет использовать блоки индекса, прямые указатели в индексных блоках и косвенные блоки индекса, указанные в вопросе.


Есть 12 блоков, и каждый блок составляет 1024 байта. 1024 * 12 = 12288 байт или 12 КБ.

Ясно, что ограничение размера файла было бы 12 КБ, если бы единственный способ сохранить данные для файла состоял в том, чтобы выделить 1 блок данных на указатель индекса. Поскольку это не один из ваших ответов, я предполагаю, что вы не совсем понимаете, как данные файла хранятся в этой файловой системе примера.

Помните, что есть также указатель на косвенный блок индекса. Какова цель / использование блока косвенного индекса в этой файловой системе?

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

Если предположить, что вы правы ... вы бы знали лучше меня, поскольку я не посещал ваш класс ... Сколько указателей может содержать блок косвенного индекса? Сколько (больше) данных вы могли бы хранить, используя эти указатели? Какой будет максимальный размер файла?

0

Мое предположение будет:

12 directly-pointed blocks
1 index block containing (1024 / 4) = 256 block-pointers

Total:  12 + 256 = 268 blocks = 268 K

Хотя должен заметить, что этот вопрос крайне неоднозначный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .