Çekirdek dahil her şeyi sıfırdan yazmak çok zor. Ubuntu, mint, Debian gibi en çok kullanılan linux dağıtımları dahi hazır bir çekirdek yapısı kullanıyor.
Ayrıca sıfırdan işletim sistemi için sadece yazılım bilgisi yeterli değil, donanım tarafını da bilmen gerek. Yazılım kısmı için de C'den ziyade assembly dilini iyi bilmen lazım ki donanıma hükmede bilesin.