Подтвердить что ты не робот

Написание операционной системы на С++

что такое способ создания моей собственной операционной системы с использованием С++. Я создал загрузчик (используя nasm, qemu), но я не знаю, как добавить ядро ​​в этот загрузчик.

4b9b3361

Ответ 1

Здесь тонна информации, в которой вы в конечном итоге нуждаетесь, часто задаваемые вопросы по программированию ОС.

Ответ 2

Будьте осторожны, С++ довольно тяжелый для ядра ОС.

  • Существуют службы, такие как исключения, которые вам придется поддерживать с помощью библиотеки времени выполнения.
  • Это не будет похоже на С++, пока вы не добавите кучу.
  • Ядра очень чувствительны к тому, где выделяются объекты; модель с одной кучей, обычно используемая в С++, не подходит.
  • Связывание API с структурами данных - плохая идея. У BeOS были проблемы с этим. Вам нужно скрыть размер ваших внутренних структур от пользователей, а это означает, что вы переходите через обручи (Pimpl, частный конструктор, виртуальные функции), когда API-интерфейсы являются функциями-членами.

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

Ответ 3

Также добавить Эта книга от Tanenbaum, где он объясняет детали реализации minix.

Ответ 4

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

Ответ 5

вы можете посмотреть исходный код minix 3. это очень простая ОС, созданная с целью понять, как работает операционная система.

вы также можете изучить всю книгу tanenbaum о os. они все очень полные, и я помню, что в одной книге есть полный источник minix и прокомментирован

Ответ 6

Я не знаком с деталями, но моим знанием BeOS был написан на С++. Источники должны быть доступны как в свободном доступе, так и в документации.

Ответ 8

Для операционной системы С++ вы можете посмотреть NewOS или UnixLite.

Ответ 9

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