Embedded Swift ile QEMU üzerinde çalışan yalın çekirdek geliştirildi
Öne çıkanlar
- Embedded Swift ile derlenen kod aarch64-none-none-elf hedefiyle standart kütüphane olmadan çalıştırıldı.
- Seri iletişim için QEMU'nun PL011 UART donanım yazmacına doğrudan bellek işaretçileriyle erişildi.
- Asembler önyükleme kodu 128 kB yığın alanı oluşturup ilk işlemci çekirdeğini Swift koduna yönlendirdi.
Bir yazılımcı, standart kütüphane ve işletim sistemi desteği bulunmayan çıplak donanım ortamında çalışabilen yalın bir çekirdeği Embedded Swift kullanarak geliştirdi ve QEMU öykünücüsü üzerinde başarıyla çalıştırdı. Deneysel çalışma, modern bir dil olan Swift'in işletim sistemi katmanından bağımsız olarak doğrudan 64-bit ARM mimarisi üzerinde nasıl yürütülebileceğini test etti.
Proje kapsamında Apple Silicon üzerinde aarch64-none-none-elf hedef mimarisi belirlendi ve QEMU'nun virt makine profili kullanıldı. Standart C çalışma zamanı ve kütüphaneleri devre dışı bırakıldığı için Swift derleyicisinin ihtiyaç duyduğu bellek taşıma ile karakter yazdırma gibi temel işlevler doğrudan Swift ile yazıldı. İşlemci çekirdeklerini düzenleyen ve yığını kuran minimal bir asembler önyükleme kodunun ardından akış, C işlevi olarak dışa aktarılan Swift ana fonksiyonuna aktarıldı.
Sistemde ekran kartı sürücüsü yerine QEMU'nun seri port donanım adreslerine doğrudan bellek haritalı erişim sağlandı. İlk aşamada ekrana metin basan sistem, daha sonra seri port girişlerini denetleyen bir döngü aracılığıyla klavyeden girilen karakterleri ekrana geri yansıtan ilkel bir komut istemi seviyesine getirildi. Geliştirici, kesmeler, zamanlayıcılar ve dinamik bellek ayırma gibi adımların bir sonraki aşamada ele alınacağını açıkladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.