Вообще ядро операционной системы – это, по сути, и есть одна большая программа. В принципе, его одного достаточно для работы с устройствами посредством драйверов, которые располагаются в нём же самом. Другой вопрос, что без юзерспейса (без других программ, которые „общаются” с ядром посредством системных вызовов) мы самостоятельно никак не сможем взаимодействовать ни с ядром, ни, соответственно, с устройствами.
Надеюсь, вопрос изначально был поставлен под правильным углом и ожидался именно такой ответ – а не, скажем, что‐то из ряда советов по выбору софта ☺