2015-08-08 6 views
0

Minix - это микроядровая ОС, запрограммированная на C, основанная на архитектуре unix, иногда используемая в зашифрованных системах, и у меня есть задача изменить способ ее работы В неком роде.Загрузка трека диска (HD) в память (Minix)

В Minix имеется кеш для блоков диска (используется для быстрого доступа к диску). Мне нужно изменить этот кеш, поэтому он будет хранить дорожки дисков вместо блоков диска.

След - это круговая область HD, состоящая из секторов.

Так что я немного потерялся здесь, как я могу загрузить диск в память? (Ответы, связанные с системами Linux, могут помочь)

Должен ли я изменить драйвер диска или использовать функции и методы существующего?

Как рассчитать, где находится HD блок диска?

Спасибо за внимание.

ответ

0

Типичный термин для описания того, что вы описываете, - это диск цилиндр, а не «след».

То, что вы пытаетесь сделать, не совсем возможно; современные жесткие диски не подвергают свою физическую организацию операционной системе. В то время как адресация цилиндра/головки/сектора по-прежнему поддерживается для совместимости, используемые числа не имеют отношения к фактическому расположению данных на диске.

Вместо этого рассмотрите определение фиксированных «кусков» на диске, которые будут всегда загружаться в кеш вместе. (Например, возможно, вы могли бы группировать каждые 128 секторов вместе, создавая «кусок» размером 64 КБ. Таким образом, чтение для сектора 400 приведет к тому, что кеш будет тянуть в секторах 384-511, например.) Выяснение того, как сделать Minix дисковый кэш, это будет ваш проект. :)

+0

Спасибо, ваш ответ прояснил мой путь, я буду работать над этим :) ps. Я попытался добавить репутацию на ваш пост, но, похоже, я не могу этого сделать. –