Создание собственного ядра - PullRequest
0 голосов
/ 10 декабря 2011

Я хочу создать собственное ядро, которое загружает и выполняет код (мой код похож на lua), чтобы я мог использовать его для создания ОС, я уже сделал базовое ядро ​​в Java, но мне действительно нужно знать, как это сделать в сборке.

Может кто-нибудь дать мне шаги по созданию эффективного ядра в сборке?

Ответы [ 3 ]

2 голосов
/ 10 декабря 2011

Как кто-то уже предложил OS Dev - это то, что нужно. Я также хотел бы убедиться, что вы знаете, как заставить ядро ​​работать с другим языком, который имеет большую структуру и более широко используется, чтобы у вас было больше ресурсов для этого. Заставить C / ++ работать со сборкой не так сложно, как кажется, хотя писать стандартные библиотеки с нуля - дело сложное. Так что, когда у вас все работает, я могу даже не переписывать стандартные библиотеки, но сначала определенно получу работу, а затем добавлю функциональность для вашего собственного языка.

Обязательно посмотрите книгу драконов. В значительной степени требуется чтение для любого, кто пишет свой собственный компилятор. Это Библия компиляторов и тому подобное.

Что касается написания вашего ядра в сборке / с нуля, обратите внимание на себя:

  • Планирую ли я включить в сборку / первый раз вещи, которые были бы далеко не на начальном уровне для разработки / сборки ядра / ОС? (графика, сложные системы меню, игры и т. д.)
  • Есть ли альтернативы ЛЮБЫМ (если не всем) вещам, которые я планирую реализовать?
  • Вам не всегда нужно делать это в одиночку или кодировать что-то с нуля. хотя часто такое бывает, когда тебе нравится делать что-то с нуля или чувствовать, что ты единственный создатель чего-то.

Если вы подумали заранее или полностью делаете это как учебный опыт, в котором нет абсолютно никаких амбиций, вы, вероятно, готовы приступить к написанию кода. Ссылка на сайт, которую я разместил, поможет на неопределенный срок. Следует также отметить, что существует множество диалектов или реализаций ассемблера, мои любимые - FASM и NASM. Я определенно рекомендую NASM, потому что он построен практически под любой системой, достойной упоминания, и на данный момент содержит наиболее переносимый код, с которым мне приходилось сталкиваться. НИКОГДА НИКОГДА НЕ полагайтесь на портативность сборки! Обычно, даже если и задумано, это не так.

РЕДАКТИРОВАТЬ: Обратите внимание, что большая часть этого - просто мнения, я не собирался указывать правильный или неправильный способ кодирования. Тем не менее, я настоятельно рекомендую никогда не полагаться на портативную сборку.

1 голос
/ 10 декабря 2011

Если вы просто хотите немного повозиться, посмотрите это руководство .

Вы также можете просмотреть код этого проекта .

Популярная книга по этому вопросу эта .

1 голос
/ 10 декабря 2011

Было бы действительно интересно, как вы сделали это на Java. Этот веб-сайт отлично подходит для всего, что связано с разработкой ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...