Как я могу собрать небольшую операционную систему на старом настольном компьютере? [закрыто

Это может быть напрасно, так как я знаю, что написание операционной системы невыносимо сложно (особенно для него самого).

Я не собираюсь строить следующий Linux или Windows.

Я знаю, это будет ужасно, с ошибками и не сработает, но это нормально.

Я хочу написать все сам, в Ассамблея, C, и немного)C ++.

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

Я хочу настроить один из моих старых настольных компьютеров с монитором, клавиатурой и мышью и начать работу над Пустой жесткий диск

Я хочу научиться писать свой собственный загрузчик (я нашел много ресурсов по этому поводу, но для полноты, пожалуйста, добавьте еще несколько хороших), мой собственный драйвер USB (если это необходимо), драйвер CD (если это так) необходимо) и т. д. Все, с нуля.

Как мне поставить код на компьютер? Что лучше сделать с дискетой? Может ли большинство компьютеров делать это с флешки?

Какие драйверы мне нужны, и можете ли вы предложить какие-либо ссылки на их создание?

После загрузки - что тогда? Как перейти в защищенный режим и т. Д.

Как мне управлять памятью без помощи операционной системы? Я просто использую любые адреса, которые я хочу? Не требуется инициализация?

С чем я, несомненно, столкнус

Как сделать из него командную строку O / S и графическую?

На чем построена графическая операционная система? Например, как бы я сделал что-то вроде командной строки с шрифтом и картинкой вверху?

Где я могу прочитать о настройке многозадачной среды? (т. е. две графически похожие командные строки, работающие рядом).

Как мне настроить систему управления окнами? Как отобразить графику на экране после настройки простой многозадачности?

Поверь мне, я понимаю, что этоочен сложный проект, и я, вероятно, никогда не смогу завершить его или написать что-нибудь для него.

Есть много других вещей, о которых я не упомянул, если ты думаешь о них, не стесняйся добавлять их тоже.

Пожалуйста, поставьте одну «тему» за ответ - например, драйверы USB, а затем, возможно, список ресурсов, на которые нужно обратить внимание и т. Д.

Также, пожалуйста, не предлагайте компоновку другого O / S или уже существующего кода. Я знаю, я будучитат много ранее существовавшего кода (такого как ядро Linux или примеры ресурсов, существующие драйверы и т. д.), но в конечном итоге я хочу сделать все написание самостоятельно. Я знаю ядолже построить что-то еще, и на SO есть много других вопросов, которые я могу прочитать, если передумаю и пойду по этому пути. Но это все о том, чтобы делать все с нуля.

Есть предложения о том, как сделать это графически? Различные режимы видео и как с ними работать и т. Д.

Ответы на вопрос(20)

Ваш ответ на вопрос