Genode tabanlı yerli Phantom OS'nin prototipi yıl sonuna kadar hazır olacak

Dmitry Zavalishin, Phantom işletim sisteminin sanal makinesinin Genode mikro çekirdek işletim sistemi ortamında çalışacak şekilde taşınmasına yönelik bir projeden bahsetti. Röportajda Phantom'un ana versiyonunun halihazırda pilot projelere hazır olduğu, Genode tabanlı versiyonun ise yıl sonunda kullanıma hazır olacağı belirtiliyor. Aynı zamanda, stabilitesi ve işlevselliği endüstriyel kullanıma uygun bir seviyeye getirilmemiş, yalnızca uygulanabilir bir kavramsal prototip proje web sitesinde duyuruldu ve acil planlar arasında deneylere uygun bir alfa versiyonunun oluşturulması yer alıyor. üçüncü taraf geliştiriciler tarafından bahsediliyor.

Proje kodu LGPL lisansı altında dağıtılmaktadır ancak ana depodaki son değişiklik Kasım 2019 tarihlidir. Projeyle ilgili kamusal faaliyetler, Aralık 2020'den bu yana Innopolis Üniversitesi öğrencisi Anton Antonov tarafından sürdürülen Genode için çatallı bir depoda yoğunlaşıyor.

2000'li yılların başından beri Phantom işletim sistemi, Dmitry Zavalishin'in kişisel bir projesi olarak gelişiyor ve 2010'dan beri Dmitry tarafından oluşturulan Digital Zone şirketinin kanatları altına aktarılıyor. Sistem, yüksek güvenilirliğe odaklanması ve "her şey bir dosyadır" yerine "her şey bir nesnedir" kavramının kullanılmasıyla dikkat çekicidir; bu, hafıza durumunun korunması nedeniyle dosya kullanmadan yapmanıza olanak tanır ve sürekli bir iş döngüsü. Phantom'da uygulamalar sonlandırılmaz, yalnızca askıya alınır ve kesintiye uğrayan noktadan devam edilir. Tüm değişkenler ve veri yapıları, uygulamanın ihtiyaç duyduğu süre boyunca saklanabilir ve programcının verileri kaydetme konusunda özel olarak endişelenmesine gerek yoktur.

Phantom'daki uygulamalar, Java sanal makinesine benzer şekilde yığın tabanlı bir sanal makinede çalışan bayt kodu halinde derlenir. Sanal makine, uygulama belleğinin kalıcılığını sağlar; sistem, sanal makinenin durumunun anlık görüntülerini periyodik olarak kalıcı ortama sıfırlar. Kapanma veya çökme sonrasında, son kaydedilen bellek anlık görüntüsünden başlayarak çalışmaya devam edilebilir. Anlık görüntüler, eşzamansız modda ve sanal makinenin çalışması duraklatılmadan oluşturulur, ancak anlık görüntü, sanki sanal makine durdurulmuş, diske kaydedilmiş ve yeniden başlatılmış gibi tek seferlik bir dilim kaydeder.

Tüm uygulamalar ortak bir küresel adres alanında çalışır; bu, çekirdek ve uygulamalar arasındaki bağlam geçişlerine olan ihtiyacı ortadan kaldırır ve ayrıca referans geçişi yoluyla nesne alışverişi yapabilen sanal makinede çalışan uygulamalar arasındaki etkileşimi önemli ölçüde basitleştirir ve hızlandırır. Erişim ayrımı, referansları yalnızca uygun yöntemlerin çağrılması yoluyla elde edilebilen nesneler düzeyinde gerçekleştirilir (işaretçi aritmetiği yoktur). Sayısal değerler dahil tüm veriler ayrı nesneler olarak işlenir.

Uygulama için iş sürekli görünüyor ve işletim sisteminin yeniden başlatılmasına, çökmelerine ve bilgisayar kapanmalarına bağlı değil. Phantom'un programlama modeli, bir nesne programlama dili için hiç durmayan bir uygulama sunucusunu çalıştırmaya benzetilir. Java programlarını Phantom'a taşımak, Phantom sanal makinesinin JVM'ye benzerliğiyle kolaylaştırılan uygulama geliştirmenin ana yöntemlerinden biri olarak kabul edilir. Proje, Java dili için bayt kodu derleyicisine ek olarak Python ve C# için derleyiciler oluşturmanın yanı sıra WebAssembly ara kodundan bir çevirici uygulamayı planlıyor.

Video ve ses işleme gibi yüksek performans gerektiren işlemleri gerçekleştirmek için, yerel koda sahip ikili nesneleri ayrı iş parçacıklarında çalıştırmak mümkündür (LLVM, ikili nesneleri birleştirmek için kullanılır). Düşük seviyeli çekirdek hizmetlerine erişmek için bazı VM sınıfları (“dahili” sınıflar) işletim sistemi çekirdek düzeyinde uygulanır. Linux uygulamalarını çalıştırmak için, Unix işlemlerinin çalışması için gerekli çağrıları taklit eden bir POSIX katmanı sağlanır (POSIX katmanındaki uygulamalar için kalıcılık henüz sağlanmamıştır).

Genode tabanlı yerli Phantom OS'nin prototipi yıl sonuna kadar hazır olacak

Geleneksel Phantom OS, sanal makineye ek olarak, iş parçacıklarının uygulanmasıyla kendi çekirdeğini, bir bellek yöneticisini, bir çöp toplayıcıyı, senkronizasyon mekanizmalarını, bir giriş/çıkış sistemini ve donanımla çalışmak için sürücüleri içerir; bu da projenin getirilmesini önemli ölçüde zorlaştırır. yaygın kullanıma hazır hale getirilmesi. Ayrı olarak, bir ağ yığınına, bir grafik alt sistemine ve bir kullanıcı arayüzüne sahip bileşenler geliştirilmektedir. Grafik alt sisteminin ve pencere yöneticisinin çekirdek düzeyinde çalışması dikkat çekicidir.

Projenin kararlılığını, taşınabilirliğini ve güvenliğini artırmak için, Phantom sanal makinesini, geliştirmesi Alman Genode Labs şirketi tarafından denetlenen açık mikro çekirdek işletim sistemi Genode'un bileşenlerini kullanarak çalışacak şekilde taşıma girişiminde bulunuldu. Genode tabanlı Phantom'u denemek isteyenler için Docker tabanlı özel bir build ortamı hazırlandı.

Genode'u kullanmak, halihazırda kanıtlanmış mikro çekirdeklerin ve sürücülerin kullanılmasına ve sürücülerin kullanıcı alanına taşınmasına olanak tanıyacaktır (şu anki haliyle, sürücüler C dilinde yazılmış ve Phantom çekirdek düzeyinde yürütülmüştür). Özellikle, uygulamanın resmi dilde belirtilen spesifikasyonlara tam olarak uyduğunu doğrulayan, matematiksel güvenilirlik doğrulamasından geçen seL4 mikro çekirdeğinin kullanılması mümkün olacaktır. Phantom sanal makinesi için benzer bir güvenilirlik kanıtı hazırlama olasılığı değerlendiriliyor ve bu, tüm işletim sistemi ortamının doğrulanmasına olanak sağlayacak.

Genode tabanlı bağlantı noktasının ana uygulama alanı, çeşitli endüstriyel ve gömülü cihazlara yönelik uygulamaların geliştirilmesidir. Şu anda, sanal makine için bir dizi değişiklik zaten hazırlanmış ve çekirdek bileşenlerinin ve ana düşük seviyeli arayüzlerin kalıcılığını sağlamak için Genode üzerinde çalışan bağlamalar eklenmiştir. Phantom sanal makinesinin halihazırda 64-bit Genode ortamında çalışabildiği ancak yine de VM'yi kalıcı modda uygulamak, sürücü alt sistemini yeniden düzenlemek ve bileşenleri bir ağ yığını ve Genode için bir grafik alt sistemi ile uyarlamak gerektiği belirtiliyor.

Genode tabanlı yerli Phantom OS'nin prototipi yıl sonuna kadar hazır olacak
Genode tabanlı yerli Phantom OS'nin prototipi yıl sonuna kadar hazır olacak
Genode tabanlı yerli Phantom OS'nin prototipi yıl sonuna kadar hazır olacak


Kaynak: opennet.ru

Yorum ekle