Примерное распределение по написанию ОС:
C++ - будет писаться основная часть ОС, то есть ядро,менеджер памяти,API,IO и т.д.
Asm - вставками, только в местах, где по-другому не сделать, к примеру загрузчик, прерывания и т.д.
С - будет применяться в критических местах.