Одна вещь, которую я всегда хотел сделать, - это разработать собственную операционную систему (не обязательно такую шикарную, как Linux или Windows, но лучше, чем простой загрузчик, который я уже сделал).
Мне трудно найти ресурсы / руководства, которые помогут вам написать простую ОС "Hello World".
Я знаю, что многие люди, вероятно, порекомендуют мне посмотреть Linux или BSD; но кодовая база для подобных систем (по-видимому) настолько велика, что я не знаю, с чего начать.
Какие-либо предложения?
Обновление: для того, чтобы людям, которые попадают в этот пост через Google, было несколько ресурсов для разработки ОС:
Написание вашей собственной операционной системы (спасибо Адам)
Linux с нуля (спасибо Джон)
SharpOS (операционная система C #) (спасибо lomaxx)
OS Dev Wiki и форумы (спасибо, Стив)
BonaFide (спасибо Стив)
Бран (спасибо Стив)
Скатайте свою игрушечную ОС UNIX-клон (спасибо Стиву)
Другие источники:
Я нашел хороший ресурс под названием MikeOS : «MikeOS - это обучающий инструмент, демонстрирующий работу простых ОС. Он использует 16-битный реальный режим для доступа к BIOS, поэтому ему не нужны сложные драйверы»
Обновлено 14.11.08
Я нашел некоторые ресурсы в Руководстве Freebyte по ... Свободным и несвободным операционным системам, которые ссылаются на такие наборы, как библиотека OSKit и ExOS. Это кажется очень полезным для начала разработки ОС.
Обновлено 23.02.09
Рик Токио рекомендовал Нано в этом вопросе . Nanoos - это ОС, написанная на C ++.
Обновлено 3/9/09
Дина предоставила несколько полезных рассуждений о переполнении стека для начинающих разработчиков ОС. На пути создания собственной операционной системы обсуждаются проблемы, с которыми вы можете столкнуться при разработке ОС, а разработка ОС - это более общее обсуждение.
Обновлено 7/9/09
LB предоставил ссылку на проект Pintos , образовательную ОС, предназначенную для студентов, изучающих разработку ОС.
Обновлено 27/07/09 (все еще идет сильный!)
Я наткнулся на онлайн-курс по ОС от Беркли, включающий 23 лекции.
TomOS - это форк MikeOS, который включает в себя небольшой менеджер памяти и поддержку мыши. Как и MikeOS, он предназначен для образовательного проекта. Это написано на ассемблере NASM.
Обновлено 8/4/09
Я нашел слайды и другие материалы, которые можно использовать вместе с онлайн-лекциями по Беркли, перечисленными выше.
Обновлено 23.08.09
Все вопросы с тегами osdev на stackoverflow
OS / 161 - академическая ОС, написанная на языке c, которая работает на смоделированном оборудовании. Эта ОС похожа на Начос. Спасибо Новелократ!
tangurena рекомендует http://en.wikipedia.org/wiki/MicroC/OS-II , ОС, предназначенную для встроенных систем. Также есть книга-компаньон .
Разработка ядра Linux Робертом Лавом предложена Андерсом. Это «широко известный инсайдерский взгляд на ядро Linux».
Обновлено 18.09.2009
Спасибо Тиму С. Ван Харену за то, что он рассказал нам о Cosmos , ОС, написанной полностью на c #.
tgiphil рассказывает нам о среде управляемых операционных систем (MOSA) , «наборе инструментов, спецификаций и исходного кода для ускорения разработки управляемых операционных систем на основе общего промежуточного языка».
Обновление 24.09.2009
Стив нашел пару ресурсов для разработки под Windows с использованием Visual Studio, ознакомьтесь с руководством по установке BrokenThorn с VS 2005 или с разделом VS OSDev .
Обновлено 5/5/2012
kerneltrap.org больше не доступен. Ядро linux v0.01 доступно на kernel.org
Обновлено 21/12/2012 Базовое руководство по разработке ОС, предназначенное для семестрового проекта. Он поможет вам создать ОС с базовыми компонентами. Очень хорошее начало для начинающих. Связанная бумага . Спасибо, Сружан!
Обновлено 15.11.2013
Написание простой операционной системы с нуля . Спасибо Джеймс Мур!
Обновлено 8/12/2013
Как сделать операционную систему компьютера Спасибо ddtoni!
Обновлено 18.03.2014
ToAruOS ОС, построенная в основном с нуля, включая графический интерфейс
Обновлено 12 сентября 2016
Написание вашей собственной игрушечной операционной системы
Обновлено 10 декабря 2016
Написание простой операционной системы - с нуля (спасибо @Tyler C)