İşletim sistemi nasıl programlanır?

İlk yapmanız gereken en hafif Linux dağıtımını kurup oradan başlamak muhtemelen. Donanım sürücülerini kendiniz yazmaya kalkmanız gerçekçi değil. Linux kernelini kendiniz derlemeniz ikinci adım olabilir. Sonra basit bir kabuk + kernel derleyip kendi ilk çalışır sisteminizi çıkarıp onun üzerinde çalışabilirsiniz. Linux from scratch güzel bir başlangıç olur. Bu şekilde çalışan bir sistem elde ettikten sonra ister ring0'daki sinyaller, interruplar isterseniz dosya sistemleri üzerine ayrı ayrı çalışabilir bakabilirsiniz. Hiç bunlara bakmadan sıfırdan işletim sistemi yazmaya çalışmak gerçekçi değil. Bugüne kadar matematik adına yazılmış hiçbir şey okumadan incelemeden sayı saymadan başlayıp türevi integrali bulmaya çalışmak gibi bir şey sizin istediğiniz. Sistem programlama ile uğraşmak istiyorsanız bence önce bu alandaki açık kaynak diğer sistemleri incelemelisiniz. Linux gibi bir nimet varken neden bundan yararlanmak istemiyorsunuz anlamak güç.

BSD konusunda çok bilgim yok. Onlar sürücüleri dosya sistemlerini sıfırdan kendileri mi geliştiriyor yoksa Linux ile benzer bir mantık mı bilmiyorum. Kaynak varsa BSD daha mantıklı çünkü lisans sıkıntısı hiç yok. Derleyip kendi ticari konsolunuzda falan kullanabilirsiniz. Sony bunu yapıyor. Gerçi şu aşamada bunların hiç önemi yok :D .

Tamam Linux'ı biliyorum hatta kurdum teşekkürler ama bir sorum var hani işletim sistemimde bilgisayar sağ tıkladığınızda işlemci ve RAM'i gösterir ya işte onu nasıl yapabilirim?
 
Tamam Linux'ı biliyorum hatta kurdum teşekkürler ama bir sorum var hani işletim sistemimde bilgisayar sağ tıkladığınızda işlemci ve RAM'i gösterir ya işte onu nasıl yapabilirim?
Hocam biz diyoruz karpuzu soyacak bıçağınız yok siz diyorsunuz karpuzun içindeki çekirdekler nasıl ayıklanır. Belki işletim sistemini bile çalıştıramayacaksınız işlemci ve RAM'i göstersin istiyorsunuz.
 
Tamam Linux'ı biliyorum hatta kurdum teşekkürler ama bir sorum var hani işletim sistemimde bilgisayar sağ tıkladığınızda işlemci ve RAM'i gösterir ya işte onu nasıl yapabilirim?
Linux'te bunlar hazır var. İster python ile ister Linux'un kendi API'lerine doğrudan C ile vs. erişip bu bilgileri alabilirsiniz. Bu zor bir şey değil muhtemelen bir kaç google aramasıyla ulaşabilirsiniz nasıl yapıldığına. En kötü ihtimalle lshw diye bir komut var linuxte neredeyse tüm donanım bilgilerini veriyor. Bu da açık kaynaktır açıp koduna bakabilirsiniz.


Burada donanım imzalarından kimlik numaralarından tek tek hesaplayıp ne olduğunu bulmaya çalışmışlar mesela. Bu bilgileri donanım üreticilerinin dökümanlarından alıp girmişlerdir muhtemelen. Fakat burada bile bu kimlik numaralarını program hazır olarak alıyor. Linux'un kendisi bu programa bu kimlik numaralarını nasıl sağlıyor orası çok daha zor bir konu. Kernel'e falan bakmak lazım muhtemelen.

Tabi hazır linux üzerinde bu bilgileri python ile almak çok daha kolay. Tüm bunları Linux arkaplanda kendi hallediyor. Python da 2 satırda şu şekilde CPU modelini alabilirsiniz.

Python:
import platform
platform.processor()
 
Tamam o zaman ben şöyle yapacağım FreeBSD veya Linux kernelini biraz değiştirceğim be ki ya Bootloader'ı nasıl yapacağım?
ŞKASFŞLJSHGSDKJLGHLSDKJGHGLKJ

GRUB'ın ne olduğunu biliyor musun?
 

Yeni konular

Geri
Yukarı