1- Giriş:

Bu makale “ASM ile Kendi İşletim Sistemimizi Yazalım” makalelerimin ilkidir. Bu makalelerde ASM kullanarak basit bir işletim sisteminin nasıl yazılabileceğini göreceğiz. İşletim sistemimiz disketten çalıştırılacaktır, seri iletişim, yüksek çözünürlükte resim gösterimi, metin düzenleyicisi ve benzer özelliklere sahip olacaktır.

Makalelerde x86 ASM dilini tanıtmayacağız. Yani MOV, ADD, JMP gibi komutların nasıl çalıştığını bilmeniz gerekmektedir.

İleride bu makale dizisindeki bilgiler biraz daha geliştirilip “işe yarar” bir proje ortaya çıkabilir, mesela oyun konsolu projeme uyarlanabilir.

2- Tanım:

İşletim sistemi yazarken FASM’ı kullanacağız. Bunun dışında da herhangi bir yazılım kullanmamıza şu aşamada gerek yok. İşletim sistemini biraz tanımlayacak olursak:

  1. Ön yükleyicisi olacak,
  2. Genel bir menüsü olacak,
  3. Seri İletişim yazılımı olacak,
  4. Hesap makinası olacak,
  5. Metin düzenleyici olacak ve
  6. Yüksek çözünürlükte resim gösterme yazılımı bulunacak.

İşletim sistemi tamamen disketten çalışacak. Bu yüzden elinizdeki bilgisayarda bir disket okuyucu/yazıcı bulunmalıdır. Ayrıca tabii ki birkaç diskete ihtiyacınız var. İşletim sistemimizi yazdığımızda diskete yüklemek için bir de bir yükleyiciye ihtiyacımız var ama bunu da biz kendimiz yazacağız.

Disket üzerine FAT32 gibi bir sistem kurmayacağız çünkü böyle bir dosyalama sistemi kullanmayacağız. Bizim dosyalama sistemimiz tamamen sektör tabanlı olacak. Bu konuya ileride zamanı geldiğinde yeniden değineceğim.

Şimdi öncelikle işletim sistemimizin yukarıda belirttiğim 6 parçasını tanımlayalım.

3- Ön Yükleyici

İşletim sistemimizin disketten çalışacağını söylemiştik. Bunun için bir önyükleyiciye (bootloader) ihtiyacımız var. Önyükleyiciler disketlerin ilk sektöründe bulunur ve asıl yazılımı yüklerler. Bizim önyükleyimiz bilgisayar çalıştırılıp, disket okunduğunda otomatik olarak “Genel Menü” yazılımımızı çalıştıracaktır.

4- Genel Menü

Genel Menü yazılımımızın görevi diğer yazılımları istendiğinde çalıştırmaktır. Çalıştırılan yazılımlar sonlandığında ise Genel Menüye geri dönülecektir.

5- Seri İletişim Yazılımı

Seri iletişim yazılımı sayesinde diğer bilgisayarlarla sohbet edebileceğiz.

6- Hesap Makinası Yazılımı

Aından da anlaşıldığı gibi bu yazılım bir hesap makinasıdır. Ekrandan seçilen sayılar ve işlemler yerine getirilmektedir.

7- Metin Düzenleyici Yazılımı

Bu yazılım basit bir metin düzenleyicidir.

8- Yüksek Çözünürlükte Resim Gösterme Yazılımı

Bu yazılım sayesinde 1024×768 24bit renk çözünürlüğündeki bir ekrana istediğimiz resimi bastırabiliriz.

9- Son

“ASM İle Kendi İşletim Sistemimizi Yazalım (1)”‘in sonuna geldik. Bir sonraki yazıda disket yükleyicimizi kodlayacağız. Herkese kolay gelsin.