В основном - если вы не используете существующую - вы должны написать свою собственную операционную систему - она может быть маленькой, но это ОС.
Написание немного отличается от написания приложений, потому что выдолжны взаимодействовать с оборудованием напрямую (или через BIOS).Это требует хорошего знания низкоуровневого программирования, спецификаций аппаратных устройств и архитектуры процессора, особенно если вам нужна память и вам нужно переключить процессор x86 в защищенный режим (хотя можно использовать «нереальный режим»), который использует довольно сложный механизм,Некоторые части могут потребоваться записать на ассемблере для доступа к специальным «привилегированным» инструкциям, используемым «ядрами», работающими на самом привилегированном уровне («кольцо 0») в защищенном режиме, и для обработки прерываний.можно начать здесь http://wiki.osdev.org/Main_Page.