/i/Yazılım

Umuyoruz ki geleceğin yazılımcıları bu altinciden çıkacak!
    başlık yok! burası bom boş!
http://www.incisozluk.com...9Fletim-sistemi-yazmak-1/
  1. 1.
    +1
    Derleyicimiz hazır.

    (bkz: http://www.incisozluk.com...9Fletim-sistemi-yazmak-1/)

    Şimdi sistemi programlamaya başlayalım.

    Bootloader BIOS sayesinde kontrolü ele alır ve işletim sistemini yükler. Kolaylık olsun diye GRUB adlı çoğu Linux dağıtımında kullanılan bootloader'ı kullanın gitsin.

    Bootloader çekirdeğinizi bellekteki 1 MB'lık adres alanına kolayca yükleyebilir. Entry point (Bırakma noktası) deniliyor ona, oradan itibaren kontrolü çekirdek ele alıyor.

    Önce derleyici, linker, ve assembler ne ondan bahsedeyim.

    Assembler ile Assembly ile yazılmış programı obje koduna dönüştürür. Assembly makine dilinin sembolik terimler ile daha anlaşılabilir hale getirilmiş versiyonudur gibi düşünün.

    Derleyici ise herhangi bir programlama dilindeki kodu obje koduna dönüştürür.

    Linker ise bu obje kodlarını birleştirip makine kodundaki çıktı dosyasını oluşturur.

    Şimdi Entry point meselesine geçelim. GRUB ELF çekirdeğinizi yüklediği zaman bir stack kurmalı, ve C ile yazdığınız main'e atlamalısınız.

    http://wiki.osdev.org/Bar...nes#Writing_a_kernel_in_C adresinde gerekli kodlar ve nasıl derlendikleri var.

    Bilmeniz gereken temel şeyler:

    32 bit işletim sisteminde işlemci Protected (Korumalı) modda çalışır. 4 GB bellek alanı adreslenebilir. Kesmeler IDT adındaki tabloda (bkz: http://wiki.osdev.org/Interrupt_Descriptor_Table) ayarlanır.

    Sayfalama (Paging) ile sanal bellek yönetimi yapabilirsiniz, istediğiniz bir sanal adresin belekte farklı bir adrese işaret etmesini sağlayabilirsiniz. (bkz: http://wiki.osdev.org/Paging)

    işletim sistemi yapabilmeniz için temel 386-486-586-686 mimari bilgisine, C ve Assembly bilgisine ihtiyacınız var. wiki.osdev.org'da istediğiniz mimari ile ilgili birçok bilgi var.

    Edit: Bilgi olsun diye ekledim, işletim sistemi yapmak zor değil. Sadece uzun süren bir şey. Çünkü herhangi bir işletim sistemine program yazarken var olan sistem kütüphanelerini kullanırsınız. işletim sistemi her şeyi arkaplanda yönetir. Ama siz işletim sistemi yapıyorsunuz. Bu kütüphanelerin hiçbiri yok. Her şeyi baştan yapmanız gerek. işlemciyi, çevre birimlerini kontrol etmeniz, hataları işlemeniz ve yönlendirmeniz gerek.
    ···
  1. 2.
    +1
    Okumayin isletim sistemi oldum
    ···
  2. 3.
    0
    Rez222222
    ···