Tekerleği yeniden icat etmek bence bu devirde doğru değil. C veya ASM ile yazsanız daha doğru olabilir. Amacınız tam olarak ne. Fikir veremeyiz. Biraz detay verebilir misiniz? Yazılım ve donanım sürücülerini nasıl çalıştırmayı hedefliyorsunuz.
Gömülü sistemlere yönelmek ve bir işletim sistemi çekirdeğinin çalışma mantığını tecrübe ederek öğrenmek istiyorsanız çalışmanız mantıklı.
Ama Linux ve BSD’nin seviyesinde bir iş yapmak istiyorsanız bugünün yapısında tek kişi ile yapılması zor(gerçekten çok zor). Linus Torwalds yapmış ben niye yapmayayım derseniz, şartlar farklı. Nitekim o da bu amaçla yazmamıştı. Yaptığı çalışma kısa sürede çok ama çok fazla destek gördü(sözle “destekliyoruz” demek değil) ve çok iyi seviyelere geldi.
Bu anlamda “ben kendimi geliştirmek için bu çalışmayı yapıyorum ama tutarsa da çok güzel olur” gibi bir düşünce ile yaparsanız zihnen daha rahat olursunuz.
Mikro çekirdek(microkernel) kavramını araştırın. Bu daha yeni nesil bir yaklaşım, mantığı gereği hata durumunu yalıtıyor.
Google’ın kendi sıfırdan mikro çekirdek ile geliştirdiği işletim sistemi Fuşya(Fuchia) henüz yaygınlaşmadı bile.
@eminfedar hocamın değerli görüşlerini de dinlemeni tavsiye ederim. Kendi RISC-V tabanlı Fedar F1 işlemcisini tasarladı.