Какие знания необходимы для написания ОС?
В дополнение к озвученному необходимо -   Четкое понимание принципов работы компьютера.Понимание - что такое ОС и для чего она нужна, и какие они вообще бывают.Понимание - какую именно ОС и для чего вы хотите написать.Понимание основных принципов работы современных ОС.
Смотрите книги Эндрю Таненбаума "Современные операционные системы"  и "Архитектура компьютера".