Продолжим-с...

Nov 04, 2006 01:21

Итак, после некоторого перерыва мне снова хочется поделиться прочитанным.

Загрузчик для FAT*

На этот раз речь пойдет о загрузчике, работающем с файловой системой. Мало написать код, который переключает процессор в защищенный режим и выполняет какие-то действия. Его еще нужно загрузить в память и передать ему управление. Для этого можно ( Read more... )

Leave a comment

Comments 10

eugene_ivanov November 3 2006, 23:31:54 UTC
а мы всё изобретаем.... молодец. жму руку. учись и всего добьёшься!

Reply


p0le November 10 2006, 07:27:42 UTC
Спасибо за статьи, жду продолжения. Ссылки на рапиду пропали, немогли бы выложить один архивом?

Reply

mika0x65 November 10 2006, 13:35:33 UTC
Да, конечно.

http://wasm.ru/forum/viewtopic.php?id=16639 -- в теме выложены все загрузчики (12/16/32). Если надо, могу выложить на рапиду -- просто там файлы мрут, время от времени, а в форуме остаются более-менее постоянно.

Reply


anonymous November 23 2006, 08:30:08 UTC
во-первых: размер кода не ограничен одним сектором - хотя в теории раздел и может начинатся сразу следующим сектором, однако на практике весь нулевой цилиндр оказывается в твоем распоряжении (справедливо для всех fdisk'ов начиная года с 90-го), чего на любом, даже не очень современном винте, хватит с избытком для всех мыслимых фантазий. (см. grub).

во-вторых: все(?) виндовые fdisk'и оставляют неиспользованный "хвост" на три цилиндра в конце диска, хотя винды прекрасно работают с разделами размеченными "под обрез". С какой целью это сделано - неизвестно, вероятно в подарок вирмейкерам.

Reply

mika0x65 November 23 2006, 22:08:45 UTC
Не совсем понял, речь идет о загрузчике MBR или о загрузчике файловой системы? Я написал о загрзучике ФС, а вы, судя по всему, говорите про MBR.

>на практике весь нулевой цилиндр оказывается в твоем распоряжении

Не, ну целый цилиндр это слишком жирно -- на MBR уходит одна дорожка.

Reply


lj-cut i_am_putin March 22 2007, 14:48:13 UTC
Друг! Для больших текстов пользуйся тегом lj-cut!

Reply

Re: lj-cut mika0x65 March 22 2007, 16:58:52 UTC
Ок. Не думал просто, что тексты такие уж большие :).

Reply


Ограничения anonymous September 16 2007, 19:59:48 UTC
По поводу ограничений:
каталог лучше считывать не весь сразу, а покластерно. Я так реализовывал в FAT12,realmode:

.retry:
Читаем первый сектор каталога
ищем нужный каталог/файл
если нашил, то выход из поиска
проверяем первый байт в записи файла (cmp byte [si],0; je .end_find)
если все 512 байт (размер кластера на FAT12),то считываем следующий кластер каталога и переходим на .retry

Reply


Leave a comment

Up