Yapmanız gereken işletim sistemini tasarlamak. Örneğin, UNIX benzeri bir sistem olması gerektiğine karar verseniz bile, vermeniz gereken birçok karar var. UNIX'in ne kadar olmasını istersiniz? UNIX'in hangi bölümlerini seviyorsunuz ve hangilerinin iyileştirilmesi gerektiğini düşünüyorsunuz?
UNIX benzeri olmaya ayarlı değilseniz, cevaplamak için daha da fazla soru ile karşılaşırsınız: süreçler bir ağaç mı oluşturmalı yoksa bunlar "düz" mü? Ne tür süreçler arası iletişimi desteklemek istiyorsunuz? Çok kullanıcılı mı, yoksa yalnızca çoklu görevli mi (yoksa muhtemelen tekli görevli) olmasını mı istiyorsunuz? Gerçek zamanlı bir sistem olmasını ister misiniz? Görevler arasında ne derece izolasyon sağlamak istiyorsunuz? Monolitik ve mikro-çekirdek ölçeğine nerede düşmesini istiyorsunuz? Dağıtılmış işlemi ne derece (varsa) desteklemesini istiyorsunuz?
İlhamınız için genellikle Linux çekirdeğini incelemeye karşı tavsiyelerde bulunuyorum . Bu, Linux çekirdeğinin kendisine karşı bir şey değildir, ancak Linux'un eğitim yerine öncelikle üretim kullanımına yönelik olduğu basit bir gerçektir. Üretim için son derece yararlı olan ancak eğitmekten daha dikkat dağıtıcı olması muhtemel birçok optimizasyon, geriye dönük uyumluluk korsanlığı vb. Vardır.
Bunu bulabilirsek, Aslan kitabında (bir kopyası UNIX 6 Edition Aslanlar Şerhi ile, Kaynak Kodu John Lions tarafından,) çok daha kolay bir başlangıç noktasıdır. 6. Baskı UNIX, aşırı basitleştirilmiş bir oyuncak sistemi olmadan oldukça hızlı bir şekilde okumak ve anlamak için yeterince küçük ve basitti.
X86'yı (en azından öncelikle) hedeflemeyi planlıyorsanız, Richard Burgess tarafından MMURTL V 1.0'a da bakmak isteyebilirsiniz . Bu, x86 donanımını x86 donanımını, CPU tasarımcılarının başlangıçta amaçladığı gibi çok daha fazla kullanan bir sistem sunar - gerçek sistemlerin çoğu diğer CPU'lara taşınabilirlik lehine kaçar. Tahmin edebileceğiniz gibi, bu, daha çok şeylerin donanım sonuna doğru yönelme eğilimindedir. Basılı kopyalar pahalı ve bulmak zor gibi görünüyor, ancak metni ve kodu ücretsiz olarak indirebilirsiniz .
Neyse ki, örneğin Andrew Tanenbaum ve Albert Woodhull'un İşletim Sistemi Tasarımı ve Uygulaması gibi çok daha fazla olasılık var .