Şuanda bir işletim sistemi geliştirmek istersersenin herhangi bir işletim sistemi kullanmak zorunda değilsiniz. öncelikle işletim sisteminin ne olduğuna bir bakalım. İşletim sistemi bilgisayarda yapılan işlemleri grafikleştirmemize yarar. işletim sistemi bir tek bu işe yarar. bu satırları okumanızı sağlayan tarayıcıyı birkaç satır kodla terminal ekranından kapatabilirsiniz ancak hiçkimse bu kadar uğraşmak istemez. bu durumda işletim sistemi ile sağ üst köşeye bir sembol koyuyoruz ve o sembole bastığımızda işletim sistemi bizim için o satırları işlemciye iletiyor. bu grafikleştirme işini abartmaması lazım windows bunu sık sık yaptığı için genelde mavi ekran verir ancak linux'ta böyle sorunlar nadiren olur.
Gelelim bir işletim sistemini nasıl geliştirebileceğinize. bunun için sistem çekirdeği kullanmalısınız. linux işletim sisteminin çekirdeği Unix'dir ve MacOs sisteminde bunu kullanır. çekirdek aynı olmasına rağmen işletim sistemleri farklıdır çünkü çekirdeğin üstüne farklı şeyler yazılmıştır.
Eğer sistem çekirdeklerinin nasıl geliştirildiklerini sorarsan. bu çekirdekler ise arada herhangi bir ek işlem olmadan işlemciyle haberleşirler. örnek vermek gerekirse siz tarayıcıyı kapatmak istediğinizde sağ üst köşedeki kapat sembolüne basıyorsunuz sonrasında işletim sistemi bunu kullandığı sistem çekirdeğine iletiyor ardından sistem çekirdeği ise Makine Dili ile bunu işlemciye iletir. Makine dili sadece 0 ve 1 lerden oluşur ve öğrenilmesi en zor dildir. Matrix'te gördüğümüz 0 ve 1 ler burdan gelir.