KabaLang'ın --yalin kipiyle yazılmış, işletim sistemi olmadan açılan x86-64 çekirdeği: kesmeler, 100 Hz zamanlayıcı, Türkçe Q klavye, Türkçe karakterli VGA ekranı, bellek haritası, sayfa ayırıcı, kabuk. Ek örnekler: merhaba, asal sayılar, VGA renkleri.
1.9 KiB
1.9 KiB
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.
İç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
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
Lisans
Mozilla Public License 2.0. 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.
