Написание операционной системы на C++ [закрыто]

StackOverflow https://stackoverflow.com/questions/2145501

  •  23-09-2019
  •  | 
  •  

Вопрос

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

Нет правильного решения

Другие советы

Вот такой тонна информации который вам в конечном итоге понадобится, страшный FAQ по программированию на ОС.

Будьте осторожны, C ++ довольно тяжеловесен для ядра операционной системы.

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

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

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

Вы можете рассмотреть возможность рассмотрения МИНИКС это небольшая операционная система для систем x86.Первоначально он был разработан как учебный проект и превратился в нечто, призванное быть полезным в реальном мире.

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

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

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

Для операционной системы C ++ вы можете захотеть взглянуть на Новенькие или УникСлит.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top