To prawie jak "Wytłumaczcie mi w trzech zdaniach, jak zbudować wahadłowiec kosmiczny.
Bez owijania w bawełnę - nie bierz się za to. Co roku podobne pytanie zadają dziesiątki tysięcy osób i śmiem twierdzić, że coś sensownemu wychodzi z tego jednemu na parę lat.
System operacyjny, nawet wokół gotowego jądra, to Mount Everest, a po pytaniach sądząc, na razie jesteś na poziomie półmetrowego schodka. Wbrew pozorom najważniejsza jest nie umiejętność programowania, tylko projekt, który ma ręce i nogi. To, w jakim programie piszesz i czy co chwile restartujesz system, to jedne z absolutnie najmniej ważnych kwestii.
No bo zadając takie pytania po prostu mówisz “Nie wiem jak działają i jak są zbudowane systemy operacyjne” Zacznij od książek pokroju “Operating Systems: Design and Implementation” Tanenbauma, zdobądź kilku-klikunastoletnią praktykę w programowaniu i użytkowaniu systemu Linux. Wtedy możesz pomyśleć nad taką zabawą. To co chcesz zrobić to właściwie zaimplementować całe GNU od zera - czyste szaleństwo.
Czyli dosłownie chwilę. Ponadto użytkowanie w sensie - mam pulpit, mam firefoksa - mogę sobie coś tam zdziałać a użytkowanie - potrafię postawić na Linuksie router z QoSem, DHCP i tunelem na racoonie wklepując wszystko z pamięci w terminal to jest spooooora różnica. Miesiąc praktyki w programowaniu to też jest NIC - wiesz chociaż co to malloc?
A dlaczego czyste szaleństwo? Wiesz ile kodu jest potrzebne do odpalenia podstawowego środowiska? Poszukaj sobie na svnach kodu źródłowego coreutils i binutils - to jest absolutne minimum jakie musisz zaimplementować. Dla osoby programującej od miesiąca jest to wyzwanie porównywalne z podróżą na Księżyc w średniowieczu.
Zamiast mierzyć za wysoko i się zrażać bo nic z tego nie wyjdzie zacznij tak jak wszyscy początkujący programiści - jakieś proste algorytmy i struktury danych - sortowanie, drzewa, przeszukiwanie drzew. Jakieś tekstowe bazy danych. Jak kiedyś będziesz o siłach podjąć się takiego wyzwania to sam będziesz to wiedział i bez zadawania takich pytań jak teraz.