Разработка ОС в любом случае предполагает кодинг на уровне железа, в связи с этим, конечно же, Вам придется знать и ассемблер, и Си, и архитектуру железа, под которое ОС разрабатывается, и многое другое.
А вообще, честно говоря, странно видеть это на этом ресурсе. Ответы на этот вопрос прекрасно гуглятся.