OSDev
http://osdev.su/

Обсуждение загрузчика
http://osdev.su/viewtopic.php?f=6&t=667
Страница 2 из 2

Автор:  phantom-84 [ 24 дек 2012, 00:00 ]
Заголовок сообщения:  Re: NTFS boot loader from scratch

Обращаюсь к модераторам с просьбой порезать эту ветку вплоть до третьего поста (поста со ссылкой)! Чтобы уже успевшие здесь сильно отличиться не почувствовали себя ущемленными в своих правах, предлагаю перенести весь "мусор" в ветку "Разное".

Автор:  Yoda [ 24 дек 2012, 10:55 ]
Заголовок сообщения:  Re: NTFS boot loader from scratch

phantom-84 писал(а):
Просто трудно оценить полностью поведение стороннего софта, не имея на руках исходников.

Даже имея на руках исходники (т.е. когда, например, сам пишешь), поведение можно оценить только всесторонним тестированием софта. А тестирование само по себе никак не связано с исходниками.

phantom-84 писал(а):
В крайнем случае всегда можно использовать расширитель первичного загрузчика или полностью независимый промежуточный загрузчик.

А для его загрузки использовать универсальный однофайловый первичный загрузчик, т.е. возвращаемся к исходному постулату :D.

Автор:  phantom-84 [ 24 дек 2012, 11:44 ]
Заголовок сообщения:  Re: NTFS boot loader from scratch

Yoda писал(а):
Даже имея на руках исходники (т.е. когда, например, сам пишешь), поведение можно оценить только всесторонним тестированием софта. А тестирование само по себе никак не связано с исходниками.
Даже "всестороннее тестирование" не всегда позволяет выявить скрытые угрозы, которые при просмотре исходников могут быть легко заметны.

Цитата:
А для его загрузки использовать универсальный однофайловый первичный загрузчик, т.е. возвращаемся к исходному постулату :D.
Расширитель может быть не "полноценным файлом" (работать с которым проще, например, для доступа к первому сектору первого кластера файла в FAT12/16 не нужно обрабатывать кластер или использовать таблицу размещения файлов) или вообще не файлом (например, содержаться в резервном кластере FAT12/16, в первом секторе резервного кластера). Плюс ты опять возвращаешься к частностям. В большинстве ФС это в принципе не нужно, т.к. объем загрузочной записи достаточно велик.

Автор:  Yoda [ 24 дек 2012, 14:30 ]
Заголовок сообщения:  Re: NTFS boot loader from scratch

phantom-84 писал(а):
Расширитель может быть не "полноценным файлом" (работать с которым проще, например, для доступа к первому сектору первого кластера файла в FAT12/16 не нужно обрабатывать кластер или использовать таблицу размещения файлов) или вообще не файлом (например, содержаться в резервном кластере FAT12/16, в первом секторе резервного кластера).

Во всех указанных ситуациях мы отказываемся от привлекательной идеи установки копированием и возвращаемся к необходимости полноценной установки, как в линуксе. Если говорить о хранилище вне файлового пространства (зарезервированные сектора), то далеко не в любой ФС оно доступно.

phantom-84 писал(а):
Плюс ты опять возвращаешься к частностям. В большинстве ФС это в принципе не нужно, т.к. объем загрузочной записи достаточно велик.

А весь мир состоит из частностей. "Большинство ФС" - не всегда значит "все необходимые ФС". Пусть FAT12/16 уже не так актуальны, но Ext2/3/4 до сих пор активно используются.

Автор:  phantom-84 [ 24 дек 2012, 14:57 ]
Заголовок сообщения:  Re: NTFS boot loader from scratch

Yoda писал(а):
Во всех указанных ситуациях мы отказываемся от привлекательной идеи установки копированием и возвращаемся к необходимости полноценной установки, как в линуксе. Если говорить о хранилище вне файлового пространства (зарезервированные сектора), то далеко не в любой ФС оно доступно.
У меня заложена возможность при установке первичного загрузчика копировать в корневой каталог установочного диска файл bootex.bin, если он присутствует в установочном каталоге загрузчика. Я говорил не о резервных секторах, а о резервном кластере. Я в установщике не использую такую возможность, но в принципе она существует. Никто не запрещает в процессе установки использовать ФС-специфичные процедуры, хотя я пока обхожусь без них, а первичные загрузчики пишу по шаблонам, например:
Код:
include "../../biscript.inc"
include "fat32.inc"

format binary as "bic"

move 3
pass BS_SIZE-3
move 512-BS_SIZE
ifeq BS.FSInfo,1
ifeq BS.FSInfo+1,0
pass 512
move 512
В результате получается не код для процессора, а байт-код для интерпретатора.

Цитата:
А весь мир состоит из частностей. "Большинство ФС" - не всегда значит "все необходимые ФС". Пусть FAT12/16 уже не так актуальны, но Ext2/3/4 до сих пор активно используются.
Про ExtFS пока ничего сказать не могу, в крайнем случае сделаю также, как в FAT12/16, если до этого вообще дойдет.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/