Одна вещь, которую я всегда хотел сделать, - это разработать мою собственную операционную систему (не обязательно такую, как Linux или Windows, но лучше, чем простой загрузчик, который я уже сделал).
Мне сложно найти ресурсы/руководства, которые заставляют вас писать простой "Hello World" OS.
Я знаю, что многие люди, вероятно, порекомендуют мне взглянуть на Linux или BSD; но база кода для таких систем (предположительно) настолько велика, что я не знаю, с чего начать.
Любые предложения?
Обновление. Чтобы облегчить людям, которые приземлились на этом посту через Google, приведены некоторые ресурсы для разработки ОС:
-
Написание собственной операционной системы (спасибо Адаму)
-
Linux From Scratch (спасибо John)
-
SharpOS (операционная система С#) (спасибо lomaxx)
-
ОС Dev Wiki и Форумы ( Спасибо Стив)
-
BonaFide (спасибо Стиву)
-
Bran (Спасибо Стив)
-
Создайте собственную игрушку UNIX-clone OS (спасибо Steve)
Другие ресурсы:
Я нашел хороший ресурс с именем MikeOS, "MikeOS - это инструмент обучения, демонстрирующий, как работают простые операционные системы. Он использует 16-разрядные реальный режим для доступа к BIOS, так что ему не нужны сложные драйверы"
Обновлено 11/14/08
Я нашел некоторые ресурсы в Freebyte Guide... бесплатные и несвободные операционные системы, которые ссылаются на комплекты, такие как OSKit и библиотека ExOS, Они кажутся очень полезными при начале разработки ОС.
Обновлено 2/23/09
Рик Токио рекомендовал nanoos в этом question. Nanoos - это ОС, написанная на С++.
Обновлено 3/9/09
Dinah предоставила некоторое полезное обсуждение для начинающих разработчиков ОС: Дорожные блоки при создании пользовательской операционной системы обсуждает, какие проблемы могут возникнуть при разработке ОС и Разработка ОС - более общая дискуссия.
Обновлено 7/9/09
LB предоставил ссылку на Pintos Project, образовательную ОС, предназначенную для студентов, изучающих разработку ОС.
Обновлено 7/27/09 (все еще сильно!)
Я наткнулся на курс онлайн OS из Беркли с 23 лекциями.
TomOS является fork MikeOS который включает в себя небольшой менеджер памяти и поддержку мыши. Как MikeOS, он предназначен для образовательного проекта. Он написан на ассемблере NASM.
Обновлено 8/4/09
Я нашел слайды и другие материалы, чтобы пойти вместе с лекциями в Беркли, перечисленными выше.
Обновлено 8/23/09
Все вопросы с тегами osdev в stackoverflow
OS/161 - это академическая ОС, написанная на c, которая работает на смоделированном оборудовании. Эта ОС аналогична в Nachos. Благодарю вас за новоделку!
tangurena рекомендует http://en.wikipedia.org/wiki/MicroC/OS-II - ОС, предназначенную для встроенных систем. Существует также сопутствующая книга.
Linux Kernel Development от Robert Love предлагается Андерсом. Это "широко известный инсайдерский взгляд на ядро Linux".
Обновлено 9/18/2009
Спасибо Тиму С. Ван Харэну за рассказ о Cosmos, полностью написанную в С#.
tgiphil рассказывает нам о "Альянс управляемых операционных систем" (MOSA) Framework "," набор инструментов, спецификаций и исходного кода для содействия разработке управляемых операционных систем на основе распространенного промежуточного языка. "
Обновление 9/24/2009
Стив нашел пару ресурсов для разработки в Windows с помощью Visual Studio, проверьте Руководство по настройке BrokenThorn с VS 2005 или Раздел OSDev VS.
Обновлено 9/5/2012
kerneltrap.org больше не доступен. Ядро linux v0.01 доступно из kernel.org
Обновлено 12/21/2012 Базовая разработка ОС учебник, разработанный как семестровый проект. Это поможет вам создать ОС с базовыми компонентами. Очень хорошее начало для новичков. Связанный paper. Спасибо, Сруджан!
Обновлено 11/15/2013
Написание простой операционной системы из Scratch. Спасибо, Джеймс Мур!
Обновлено 12/8/2013
Как сделать компьютерную операционную систему Спасибо ddtoni!
Обновлено 3/18/2014
ToAruOS - ОС, построенная в основном с нуля, включая графический интерфейс пользователя
Обновлено 12 сентября 2016 года
Написание собственной операционной системы игрушек
Обновлено 10 декабря 2016 г.
Написание простой операционной системы - от царапины (спасибо @Tyler C)