Airyx

Airyx, x86-64 sistemlerde macOS ile benzer bir deneyim ve bir noktaya kadar uyumluluk sağlamayı amaçlayan yeni bir açık kaynaklı işletim sistemi projesi. Airyx, FreeBSD'nin sağlam temelleri, aynı alandaki mevcut açık kaynak yazılımlar ve boşlukları doldurmak için yazılan yeni kodlar üzerine kuruludur.

Airyx'in ana tasarım hedefleri aşağıdaki gibi listelenebilir:

  • macOS uygulamalarıyla kaynak uyumluluğu (yani Airyx'te bir Mac uygulamasını derleyip çalıştırabilir)
  • Benzer Grafik Kullanıcı Arayüzü metaforları ve tanıdık kullanıcı deneyimi (dosya yöneticisi, uygulama başlatıcısı, açık uygulamayı yansıtan üst menü çubuğu vb.)
  • macOS dosya sistemleri (HFS+ ve APFS) ve klasör düzenleri (/Library, /System, /Users, /Volumes, vb.) ile uyumluluk
  • Klasörlerde veya tek bir dosyada yer alan bağımsız uygulamalar ve /Applications için çoğunlukla yükleyicisiz bir deneyim
  • Çoğunlukla FreeBSD temel sistemi ve iç yapısında standart bir Unix ortamı olan X11 ile uyumluluk
  • FreeBSD'nin Linux desteği aracılığıyla Linux ikili dosyalarıyla uyumluluk
  • x86-64 macOS ikili dosyaları (Mach-O) ve kütüphaneleriyle uyumluluk
  • Kullanımı hoş, güvenli, kararlı ve beklenildiği gibi çalışan bir ortam
Projenin GitHub proje sayfasına baktığımızda şimdilik üç aktif kod katkıcısının olduğu görülmekte:

  • @mszoek (Zoë Knox)
  • @iddan (Iddan Aaronsohn)
  • @mjoork (Mark Pokhil)
BSD, macOS'a Linux'tan daha yakın olduğu için FreeBSD üzerinde Mac kodu inşa etmek daha kolay olacağından Airyx'te Linux değil, BSD kullanılmış. Ayrıca FreeBSD'nin çekirdeği Mach sistem çağrılarını taklit etmeyi kolaylaştıran ve Darling'in Linux'ta yaptığı gibi BSD sistem çağrılarını taklit etme ihtiyacını ortadan kaldıran bir yabancı sistem çağrı arayüzünü de desteklediğinden işleri kolaylaştırmakta.

Darwin yerine BSD'nin tercih edilmesinin kısa cevabı da: donanım desteği. Airyx'in FreeBSD'nin çok kararlı ve performanslı sürücülerini kullanan çoğu x86-64 donanımında çalışması hedeflendiği için böyle bir tercih yapılmış. Projenin geliştiricileri tarafından xnu kullanmanın veya proje için özel Mach/BSD kombinasyonu bir çekirdek oluşturmanın, projenin büyüklüğü de göz önüne alındığında yürütülebilirliği etkileyeceğinden, yeni sürücüler yazmayı ve bunların bakımını yapmayı zorlaştıracağından ve ihtiyaç duyulabilecek herhangi bir Mach sistem çağrısı gerektiğinde emüle edilebileceğinden proje için gerçek bir avantaj sağlayacağı düşünülmüyor.

Airyx'in diğer projelerle ilişkisi de şu şekilde açıklanmış:
  • helloSystem: Airyx ve helloSystem benzer ama aynı olmayan hedeflere sahip. İki proje teknoloji paylaşımı yapıp mantıklı olduğu yerde işbirliği yapıyor, ancak tamamen aynı şey değiller. Airyx 0.2.2, OS X Framework'lerini destekleyen değiştirilmiş bir derleyici ve bağlayıcıya, Cocoa'nın kısmi bir gerçeklemesine ve onu farklı kılan diğer birkaç eklemeye sahiptir.
  • elementaryOS: Şu an elementaryOS'tan bazı simgeler ve temalar kullanıyor. Bununla birlikte, tüm diğer olasılıklar açık olsa da tercih edilen yazılım yığınları (GTK - Qt/Cocoa) farklı olduğu için bu, işleri zorlaştırıyor.
  • PureDarwin: Airyx, Darwin'e dayanmıyor, ancak aynı temel parçaların çoğunu kullanır.
  • Darling: Airyx, Linux veya Mach-O üzerine kurulu değildir, ancak aynı temel parçaların çoğunu kullanır. Darling'in Cocoa gerçeklemesi, Airyx'inkiyle aynı kaynaktan geliyor. İleride ikili uyumluluk için Darling'ten yararlanılabilir.
  • GNUstep: GNUstep'ten libobjc2 çalışma zamanı kullanılıyor. Ancak, GNUstep'te Linux, GS* uzantı sınıfları ve diğer çeşitli şeyler için yapılan değişiklikler, onu Airyx için daha az ideal yapıyor.
Yukarıdaki bilgiler projenin kendi sitelerinden derlenmiştir. Daha çok bilgi için Hacker News'e ve birkaç ekran görüntüsü için Imgur'a bakabilirsiniz.

Airyx'i henüz denemedim ama gelişimini sürdürürse ileride göz atmak isteyeceğim bir proje. Benden bu kadar, mesai saatlerimde Windows, mesai dışında Linux ile devam şimdilik.

Yorumlar

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h