что такое способ создания моей собственной операционной системы с использованием С++. Я создал загрузчик (используя nasm, qemu), но я не знаю, как добавить ядро в этот загрузчик.
Написание операционной системы на С++
Ответ 1
Здесь тонна информации, в которой вы в конечном итоге нуждаетесь, часто задаваемые вопросы по программированию ОС.
Ответ 2
Будьте осторожны, С++ довольно тяжелый для ядра ОС.
- Существуют службы, такие как исключения, которые вам придется поддерживать с помощью библиотеки времени выполнения.
- Это не будет похоже на С++, пока вы не добавите кучу.
- Ядра очень чувствительны к тому, где выделяются объекты; модель с одной кучей, обычно используемая в С++, не подходит.
- Связывание API с структурами данных - плохая идея. У BeOS были проблемы с этим. Вам нужно скрыть размер ваших внутренних структур от пользователей, а это означает, что вы переходите через обручи (Pimpl, частный конструктор, виртуальные функции), когда API-интерфейсы являются функциями-членами.
Похоже, вы уже больше, чем большинство, поэтому продолжайте задавать вопросы, и вы, вероятно, окажетесь где-нибудь красиво!: VD
Ответ 3
Также добавить Эта книга от Tanenbaum, где он объясняет детали реализации minix.
Ответ 4
Вы можете рассмотреть MINIX, который представляет собой небольшую операционную систему для систем x86. Первоначально он был разработан как учебный проект и превратился во что-то, что предназначалось для использования в реальном мире.
Ответ 5
вы можете посмотреть исходный код minix 3. это очень простая ОС, созданная с целью понять, как работает операционная система.
вы также можете изучить всю книгу tanenbaum о os. они все очень полные, и я помню, что в одной книге есть полный источник minix и прокомментирован
Ответ 6
Я не знаком с деталями, но моим знанием BeOS был написан на С++. Источники должны быть доступны как в свободном доступе, так и в документации.
Ответ 7
Ответ 8
Для операционной системы С++ вы можете посмотреть NewOS или UnixLite.
Ответ 9
Используемая операционная система может быть разработана в верхней части L4 даже одним студентом за один семестр вместе с другими курсами ( но все проблемы с драйверами уже решены). Если вы обнаружите, что это отличное приключение, а микроядро L4 также является продвинутым.