Они ведь писали не только ос и драйвера, но и программы к ней, удобно когда систему можно написать на одном языке. Один язык, один компилятор. Если взять в пример linux, всё написано на си, как ядро, так и прикладные библиотеки, прикладные программы: sed, wget, gtk тысячи их.
Думаю врятли создатели языка, полагали, что на нём будут писать ядро в 10 млн строк.
Чем отличается язык для системного программирования и для прикладного? Помню в turbo pascal был оператор interupt. Что. в си, что в паскале нужен асм для доступа к железу, нужно создать некую прослойку. После чего асм не нужен.