İşletim sistemi nasıl yapılır?

Kaynak iyiymiş, zaten bootsector yazmıştım.
Assembly biliyorsan basit zaten. Sadece magic word falan kullanıyorsun, VGA text mode veya BIOS kesmelerini kullanıyorsun, 512 byte'a sığdırmaya odaklanıyorsun vs. Normal bir Assembly programından aşırı bir farkı olmuyor bootsector programının. Bootloader demiyorum, bootsector programından bahsediyorum.

Assembly bilsen zaten bu soruyu soracağını pek düşünmüyorum açıkçası. OSDev'den araştırmayı bilirdin.
 
Assembly biliyorsan basit zaten. Sadece magic Word falan kullanıyorsun, VGA text mode veya BIOS kesmelerini kullanıyorsun, 512 Byte'a sığdırmaya odaklanıyorsun vs. Normal bir Assembly programından aşırı bir farkı olmuyor bootsector programının. Bootloader demiyorum, bootsector programından bahsediyorum.

Assembly bilsen zaten bu soruyu soracağını pek düşünmüyorum açıkçası. OSDev'den araştırmayı bilirdin.

Çok bir bilgim yok, kesme çağırmayı, mov, ret, iret... Gibi temel komutları biliyorum.
Bir de yazamaçların ne işe yaradığını.
 
Çok bir bilgim yok, kesme çağırmayı, mov, ret, iret ... gibi temel komutları biliyorum.
Anladım. C dilinde ilerlemeni tavsiye ederim. Kendi çabalarınla ilerleme kaydedebilmen senin için bir artı. Veya C'ye sonra çıkmak istiyorsan 6502 Assembly ile yola devam etmeni tavsiye edebilirim. İşlemcilerin nasıl olduğunu, bilgisayar mimarisini öğrenmen açısından iyi olacaktır. x86 Assembly tabii ki eğlenceli ama daha ziyade derleyiciler için opcode ekliyor resmen Intel. Mantığı anla, sonra x86'ya atlarsın derim. Sindire sindire öğren ki daha iyi bir şeyler ortaya çıkar. ;)
 
İşin temeli olan Assembly diline hükmetmen gerek. Hadi bunu iyi yapıyorsun diyelim. Kernel düzeyi yapıp I/O kısmını, verileri donanım ile işlemek için sistemleri, sürücüleri, bir GUI yapısı, temel veri okuma, yazma, yürütme işlemlerini yapman gerekir. Bunlar daha işin başı. Tabii bunları C++ gibi C gibi dilleri çok fazla bilmen gerektiğini hatırlatmak isterim. Gerek bilgisayar açıldığında nasıl tepki verecek, kapanırken neler yapacak gibi gibi...

Daha yazsam yazarım. Ama sayfa yetmez.
Hocam sadece C yetmez mi? Linux C ile yazıldı. Ve hocam ben şöyle düşünüyorum. Mesela Ubuntu'yu BSD çekirdeğinde çalışacak şekilde sıfırdan yapsa. Hani Amerika'yı baştan keşfetmenin manası yok derler ya. Olur diye düşünüyorum.
 
İşletim sistemleri bilgisayarların donanım kaynaklarını yöneten yazılımlar bütünüdür. Tek bir yazılımmış gibi sunulsa da ve dışarıdan bakıldığında öyleymiş gibi gözükse de aslında en düşük seviye programlamadan arayüz tasarımlarına kadar yüzlerce, binlerce program ve bunları geliştiren, bakımını yapan, test eden ve analiz eden ekipler söz konusudur. Doğrudan teknik işlerle ilgilenmeyen, yazılımın pazarlaması ya da hukuki durumlarıyla (telif ya da patent hakları gibi) ilgilenen pazarlamacılardan ve hukukçulardan oluşan ekipler de çalışabilir.

Yani nasıl Burc Halife gibi bir yapıyı tek bir inşaat mühendisi ya da tek bir inşaat işçisi yapamıyorsa işletim sistemlerini de sıfırdan tek bir bilgisayar mühendisi ya da küçük bir ekip yapamaz.

Teknik açıdan işletim sistemlerinin nasıl tasarlandıklarını ve yazıldıklarını merak ediyorsan
Silberschatz´ın Operating System Concepts kitabını okumanı tavsiye ederim.
 

Yeni konular

Yeni mesajlar

Geri
Yukarı