# KabaLang Minimal Kernel KabaLang ile yazılmış, LLVM ile derlenen küçük bir x86-64 çekirdeği. Assembly yalnız açılış parçasındadır (`calisma/boot.S`); çekirdeğin mantığı KabaLang'dir. ![KabaLang Minimal Kernel](../../medya/minimal-kernel.png) ## İçindekiler | Modül | Görevi | |---|---| | `ana.kbl` | Giriş noktası: donanımı sırayla hazırlar, ana döngü | | `durum.kbl` | Sabit adresli durum alanı (modüller durum tutmaz) | | `seri.kbl` | COM1 seri port, açılış günlüğü | | `ekran.kbl` | VGA metin ekranı, imleç, kaydırma, Türkçe yazı tipi (CP857 yerleşimi) | | `kesme.kbl` | Kesme tablosu (IDT), PIC, 100 Hz zamanlayıcı | | `klavye.kbl` | PS/2 klavye: Türkçe Q ve ABD düzeni, shift | | `bellek.kbl` | Önyükleyici bellek haritası, 4 KB fiziksel sayfa ayırıcı | | `kabuk.kbl` | Komut satırı (UTF-8 tampon), yerleşik komutlar | | `arayuz.kbl` | Açılış paneli, Türkçe karakter vitrini | | `calisma/` | Açılış parçası, bağlayıcı betiği ve yalın çalışma zamanı (derleyiciyle gelir; başvuru için burada) | Kabuk komutları Türkçe ya da ASCII yazılabilir: `yardım`, `panel`, `türkçe`, `hakkında`, `zaman`, `yaz METİN`, `uzunluk METİN`, `klavye tr|us`, `bellek`, `ayır`, `yığın`, `temizle`, `kapat`. ## Derleyip çalıştırmak ```bash kabalang derle --yalin ana.kbl -o cekirdek.elf qemu-system-x86_64 -kernel cekirdek.elf -serial stdio ``` `--yalin` kipinde işletim sistemi ve libc yoktur: donanıma `port_yaz8`, `bellek_yaz16` gibi yerleşiklerle doğrudan erişilir. Ayrıntı: [dev.kabaforce.com/kabalang/cekirdek](https://dev.kabaforce.com/kabalang/cekirdek/) ## Lisans [Mozilla Public License 2.0](LICENSE). Bu çekirdeği temel alıp kendi çekirdeğinizi geliştirebilirsiniz; dağıttığınızda bu dosyalarda yaptığınız değişiklikleri açık tutarsınız. Yeni dosyalarınız için lisansı siz seçersiniz.