Çekirdek örnekleri: KabaLang Minimal Kernel (MPL-2.0) ve üç küçük çekirdek
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.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 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
|
||||
|
||||
```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.
|
||||
Reference in New Issue
Block a user