Page 3 of 20

Re: NTFS

Posted: Mon Apr 06, 2015 10:27 am
by Pathoswithin
... но вроде разобрался. Порывшись в вашей вики, не нашёл ответы на организационные вопросы:

1. Есть ли обязательные требования к оформлению кода?
2. SVN занимается только исходниками? Чтобы запустить нужно собрать фасмом kernel и запихнуть в img?

Posted: Mon Apr 06, 2015 10:41 am
by punk_joker

Re: NTFS

Posted: Mon Apr 06, 2015 5:45 pm
by CleverMouse
1. Есть ли обязательные требования к оформлению кода?
В kernel/trunk есть обязательные правила, код с их нарушением будет отклонён при коммите: viewtopic.php?f=7&t=1950. В остальных местах требований нет. На вики смотреть не стоит, там полно мусора вместо информации.

Re: NTFS

Posted: Mon Apr 06, 2015 7:43 pm
by Pathoswithin
CleverMouse wrote:На вики смотреть не стоит, там полно мусора вместо информации.
Это я заметил. Разница между русскими и английскими страницами 90%.
А зачем столько пробелов? Я чуть не обосрался когда увидел размер исходника. А что табуляцию нельзя, это упущение. Вся её прелесть в том, что при стандартизированном количестве табуляций (одна или две), каждый может настроить для себя её длину (например 50 для ассемблера при широкоформатном мониторе). Впрочем ладно, до коммита ещё далеко. Я думаю, что на этапе тестирования будет удобно, если мой код будет выделяться оформлением. Вы же чтение уже протестировали?
Кстати, а что здесь выкладывать? ntfs.inc или img?

Posted: Mon Apr 06, 2015 8:04 pm
by punk_joker
Готовый образ, или просто скомпилированное ядро.

Re: NTFS

Posted: Mon Apr 06, 2015 8:15 pm
by CleverMouse
Pathoswithin wrote:А что табуляцию нельзя, это упущение. Вся её прелесть в том, что при стандартизированном количестве табуляций (одна или две), каждый может настроить для себя её длину
Нет. Люди с табуляцией длиной 4 ставят две табуляции между 3-буквенными командами и аргументами и одну табуляцию между 4-буквенными командами и аргументами. Люди с табуляцией длиной 8 ставят одну табуляцию между любой командой и аргументами. В любом из вариантов с табуляцией что-нибудь будет "плыть", если длина табуляции не такая, как у автора кода. Поэтому только пробелы.

Re: NTFS

Posted: Tue Apr 07, 2015 12:28 am
by kiv
ИМХО делай по минимуму: работа с атрибутами, запись файла только в область данных, а писать файлы в атрибуты пока не надо...
для теста, можно начать с простого создания папок или редактирования атрибутов/потоков.
также на установочном диске винды есть консольная версия chkdsk из консоли восстановления, которой можно передавать управление для проверки диска...
дополнительно можно создать виртуальный диск и смонтировать его виртуальной машине, чтобы не накрыть реальный.
про hex-редакторы с автоматическим разбором нужных структур сам теперь знаешь...

Re: NTFS

Posted: Tue Apr 07, 2015 5:32 pm
by Pathoswithin
CleverMouse
Ах перед аргументами... я раньше их вообще не выравнивал. Ну тогда можно сделать правило чтоб после трёх букв шёл пробел и не более одной табуляции. Тогда у всех будет одинаково. Ну или хотя бы табуляция только перед командой. Меня лично второе интересует. Хотя текстовые редакторы многое умеют.

kiv
В ntfs трудно сказать, что проще. Всё является файлом, состоит из атрибутов, затрагивает папки и имеет битмап. Рекурсивная вакханалия!

Re: NTFS

Posted: Sun Apr 12, 2015 11:26 pm
by Pathoswithin
Собрал фасмом kernel.mnt, а он занимает раза в два больше (166 кб) и не влазит в образ. У вас какие-то хитрости?
И будет ли оно вообще работать, если отредактировать kolibri.img с помощью UltraISO?

Re: NTFS

Posted: Mon Apr 13, 2015 12:03 am
by Wildwest
Будет, а так kerpack / kpack для сжатия ядра и программ в дистрибутиве.
http://websvn.kolibrios.org/listing.php ... Fcommon%2F&

Re: NTFS

Posted: Mon Apr 13, 2015 12:44 am
by Pathoswithin
Ага... значит хитрости, о которых естественно нигде не сказано. Как и о самой сборке. А ядро сжимать обязательно? Может есть что-то лишнее, что для тестирования можно удалить?

Re: NTFS

Posted: Mon Apr 13, 2015 12:46 am
by punk_joker
Pathoswithin wrote:Ага... значит хитрости, о которых естественно нигде не сказано. Как и о самой сборке. А ядро сжимать обязательно? Может есть что-то лишнее, что для тестирования можно удалить?
Не обязательно. Можешь удалить папки с демками и играми. Он точно не нужны для тестирования работы с ФС :) Уже есть что показать, или так, разбираешься пока?

Re: NTFS

Posted: Mon Apr 13, 2015 3:27 pm
by CleverMouse
Pathoswithin wrote:Ага... значит хитрости, о которых естественно нигде не сказано. Как и о самой сборке. А ядро сжимать обязательно? Может есть что-то лишнее, что для тестирования можно удалить?
Всё о сборке я написала в build.txt в корне репозитория. В том числе и про kerpack там есть.

Re: NTFS

Posted: Mon Apr 13, 2015 11:12 pm
by Pathoswithin
Пока показать могу только картонный макет файла (запись в index record). Теперь я понял, почему этим до сих пор никто не занимался - изучение такого кода сильно деморализует, так что не надейтесь, что я напишу быстро.
К тому же столкнулся с проблемой: похоже windows ещё на этапе загрузчика исправляет ошибки в файловой системе, и после перезагрузки в hex редакторе всё без изменений. А hex в колибри раздел диска открывать не умеет?
И вот ещё вопрос: инструкции movs lods stos при флаге D сначала перекладывают, а потом уменьшают si di или наоборот?

CleverMouse
Читал, но не нашёл там вопроса про редактирование ядра, по этому прочитал "Q4. I want to build the entire system." и видимо неправильно понял:
"Why? Even the person who has configured the autobuild server does not build everything on her computer. If you want to create your own image of the system, it is much simpler to start from existing one and modify it, building only what is necessary." - убедили,
"If you don't know how to modify an image, don't expect that the build system will magically do it for you." - Go play with toys, kid...
"The build system uses mtools..." - ... or burn in hell.

Re: NTFS

Posted: Tue Apr 14, 2015 1:43 am
by Anton_K
Pathoswithin wrote: И вот ещё вопрос: инструкции movs lods stos при флаге D сначала перекладывают, а потом уменьшают si di или наоборот?
Сначала перекладывают.