ToaruOS 1.14 işletim sistemi ve Kuroko 1.1 programlama dilinin piyasaya sürülmesi

Kendi çekirdeği, önyükleyicisi, standart C kütüphanesi, paket yöneticisi, kullanıcı alanı bileşenleri ve bileşik pencere yöneticisine sahip bir grafik arayüzü ile sıfırdan yazılmış Unix benzeri bir işletim sistemi geliştiren ToaruOS 1.14 projesinin sürümü mevcuttur. Mevcut geliştirme aşamasında sistemin yetenekleri Python 3 ve GCC'yi çalıştırmak için yeterlidir. Proje kodu C dilinde yazılmıştır ve BSD lisansı altında dağıtılmaktadır. QEMU, VMware veya VirtualBox'ta test edilebilecek 14 MB boyutunda canlı görüntü indirilmek üzere hazırlandı.

ToaruOS 1.14 işletim sistemi ve Kuroko 1.1 programlama dilinin piyasaya sürülmesi

Proje 2010 yılında Illinois Üniversitesi'nde başladı ve başlangıçta yeni kompozit grafik arayüzler oluşturma alanında araştırma çalışması olarak geliştirildi. Geliştirme, 2012 yılından bu yana, başlangıçta bir öğrenci projesi olarak geliştirilen ve daha sonra proje etrafında oluşan topluluk tarafından benimsenen bir hafta sonu hobisine dönüşen ToaruOS işletim sistemine dönüştü. Mevcut haliyle sistem, bir kompozit pencere yöneticisi ile donatılmıştır; ELF formatında dinamik olarak bağlantılı yürütülebilir dosyaları, çoklu görevleri, grafikleri ve ağ yığınlarını destekler.

Paket, paket yöneticisi, grafik düzenleyici, PDF görüntüleyici, hesap makinesi ve basit oyunlar gibi ToaruOS'a özgü bazı grafik uygulamaların geliştirilmesinde kullanılan Python 3.6 programlama dilinin bir bağlantı noktasını içerir. ToaruOS'a taşınan üçüncü taraf programları arasında Vim, GCC, Binutils, FreeType, MuPDF, SDL, Kahire, Doom, Quake, Super Nintendo emülatörü, Bochs vb. yer alır.

ToaruOS, disk sürücüleri (PATA ve ATAPI), EXT2 ve ISO9660 dosya sistemleri, çerçeve arabelleği gibi mevcut aygıt sürücülerinin çoğunu oluşturan yüklenebilir modülleri kullanmak için monolitik bir çerçeve ve araçları birleştiren hibrit modüler bir mimari kullanan bir çekirdeğe dayanmaktadır. , klavyeler, fareler, ağ kartları (AMD PCnet FAST, Realtek RTL8139 ve Intel PRO/1000), ses yongaları (Intel AC'97) ve konuk sistemler için VirtualBox eklentileri.

Çekirdek tarafından sağlanan temel öğeler arasında Unix iş parçacıkları, TTY, sanal dosya sistemi, çoklu iş parçacığı, IPC, paylaşılan bellek, çoklu görev ve diğer standart özellikler bulunur. Dosya sistemi olarak ext2 kullanılır. Çekirdekle etkileşim kurmak için Linux'a benzetilerek oluşturulan sözde FS /proc uygulaması sağlanır.

2021 planları arasında 64 bit x86-64 mimarisi üzerinde çalışma (şimdilik montajlar yalnızca 32 bit x86 sistemler için oluşturuluyor) ve çok işlemcili sistemler (SMP) desteği yer alıyor. Diğer hedefler arasında sinyal işleme ve senkronizasyon yöntemleri alanında POSIX spesifikasyonlarıyla uyumluluğun artırılması, standart C kütüphanesinin Newlib düzeyine getirilmesi ve kendi C dili derleyicisi ve geliştirme araçlarının uygulanması yer alıyor.

Proje aynı zamanda sistem için yardımcı programlar ve özel uygulamalar geliştirirken Python'un yerini alacak şekilde tasarlanan kendi dinamik programlama dili Kuroko'yu da geliştiriyor. Dil bayt kodu derlemeyi ve yorumlamayı destekler, sözdizimi Python'a benzer (değişkenlerin açık tanımıyla Python'un kısaltılmış bir lehçesi olarak konumlandırılmıştır) ve çok kompakt bir uygulamaya sahiptir. Bayt kodu yorumlayıcısı bir çöp toplayıcı sağlar ve genel kilitlemeyi kullanmadan çoklu iş parçacığını destekler. Derleyici ve yorumlayıcı, küçük bir paylaşılan kitaplık (~500 KB) biçiminde derlenebilir, diğer programlarla entegre edilebilir ve C API aracılığıyla genişletilebilir. Dil, ToaruOS'un yanı sıra Linux, macOS ve Windows'ta da kullanılabilir ve WebAssembly'ı destekleyen tarayıcılarda çalıştırılabilir.

ToaruOS'un yeni sürümü, standart C kütüphanesinin ve Kuroko programlama dilinin geliştirilmesine odaklandı. Örneğin Quake oyununda aydınlatma parametrelerinin doğru hesaplanması için gerekli matematiksel fonksiyonlar libc'ye eklenmiştir. EFI modunda VirtualBox'a önyükleme yeteneği geliştirildi. Ram disk görüntüsünün sıkıştırılması kullanılarak iso görüntüsünün boyutu küçültüldü.

Kuroko 1.1 dilinin yeni sürümü, zaman uyumsuzluk ve bekleme desteği ekler, çoklu iş parçacığı uygular, Python 3 ile uyumluluğu geliştirir, çoklu değer atamalarını destekler, C dilinde işleyiciler yazma araçlarını genişletir, işlevler için tür açıklamaları desteği ekler, “yield” ve “yield from” anahtar kelimeleri, os, dis, fileio ve time modülleri entegre edildi, str, list, dict ve bytes'ta yeni yöntemler uygulandı, bytecode'a ön derleme desteği eklendi, lisans eklendi MIT olarak değiştirildi (daha önce MIT ve ISC'nin bir kombinasyonu vardı).

Kaynak: opennet.ru

Yorum ekle