OSDev
http://osdev.su/

Как написать загрузчик или какой использовать для ОС на Си?
http://osdev.su/viewtopic.php?f=5&t=3810
Страница 1 из 1

Автор:  mrjbom [ 20 июл 2019, 23:59 ]
Заголовок сообщения:  Как написать загрузчик или какой использовать для ОС на Си?

Привет. Я новичок, прошу не пинать, у меня к вам несколько вопросов.
Я видел в сети кучу примеров загрузчиков, которые загружаются и пишут "Hello World" и у меня встал вопрос, как использовать этот "Hello World" с другого сектора? Что если ОСь не влезет в первые 512 байт?
Как же загружать всё это?
Я подумал, что написать такой загрузчик сам я не смогу и решил использовать какой-нибудь другой, но какой, где такой найти? Прошу помочь с этим вопросом и вопросом о том, комфортно ли писать саму ОСь на Си? Если да - где об этом почитать?
И последний вопрос, всё что я видел, создаётся для дискет, в формате img, а можно ли собирать в iso и писать на флешку?

Автор:  Sebt [ 21 июл 2019, 09:07 ]
Заголовок сообщения:  Re: Как написать загрузчик или какой использовать для ОС на

Добрый день! Чаще всего принято использовать grub. https://wiki.osdev.org/GRUB

Автор:  SII [ 21 июл 2019, 11:48 ]
Заголовок сообщения:  Re: Как написать загрузчик или какой использовать для ОС на

Ещё Yoda написал свои загрузчики и выкладывал где-то здесь (ну и его самого спросить можно).

А писать лучше тогда уже не на чистом Си, а на Си++.

Автор:  SII [ 21 июл 2019, 11:51 ]
Заголовок сообщения:  Re: Как написать загрузчик или какой использовать для ОС на

mrjbom писал(а):
как использовать этот "Hello World" с другого сектора? Что если ОСь не влезет в первые 512 байт?
Как же загружать всё это?


Загрузчик, что в загрузочном секторе, грузит более крупный загрузчик из нескольких последующих секторов, а тот уже либо ОС, либо её "большой" загрузчик, для чего он ещё должен найти его, анализируя разделы диска и каталоги файловой системы.

mrjbom писал(а):
И последний вопрос, всё что я видел, создаётся для дискет, в формате img, а можно ли собирать в iso и писать на флешку?


Можно.

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