Genod
| genod | ||
|---|---|---|
|
| ||
|
Genode tabanlı Sculpt masaüstü sistemi | ||
| Genel bilgi | ||
| program türü | ücretsiz yazılım | |
| geliştirici | Genode Labs, et al. | |
| Geliştirme modeli | Açık kaynak | |
| Lisans | AGPLv3 | |
| Gerçek durum | Geliştirme aşamasında, kararlı sürüm | |
| Teknik Bilgiler | ||
| Zamanlanmış | C++ ve diğerleri | |
| çekirdek | NOVA, [ 1 ] Genode mikro çekirdek, [ 2 ] SeL4 , Linux , Fiasco OC , Fiasco , OkL4 , Fıstık | |
| çekirdek tipi | mikronükleus | |
| Desteklenen Platformlar | x86 , x86-64 , [ 3 ] KOL , RISC-V [ 4 ] | |
| Sürümler | ||
| En son kararlı sürüm | 08.19 ( bilgi ) ( 28 Ağustos 2019 (3 yıl, 1 ay ve 21 gün)) | |
| Bağlantılar | ||
Genode [ 5 ] [ 6 ] [ 7 ] , bir mikro çekirdek soyutlama katmanından ve bir kullanıcı alanı bileşenleri koleksiyonundan oluşan ücretsiz ve açık kaynaklı bir işletim sistemi ortamıdır. Proje, Unix gibi ticari bir sistemden ilham almayan birkaç açık kaynak işletim sisteminden biri olmasıyla dikkat çekiyor . Tasarımın arkasındaki felsefe, öncelikle, güvenlik odaklı bir işletim sisteminde küçük bir güvenilir bilgi işlem tabanının gerekli olduğudur.
Genode, masaüstü [ 8 ] [ 9 ] veya tablet [ 10 ] işletim sistemleri için bir temel olarak veya konuk işletim sistemleri için sanal makine monitörü olarak kullanılabilir. Çerçeve, x86 [ 11 ] ve ARM mimarileri için güvenli sanallaştırma sistemlerinin güvenilir bir bileşeni olarak kullanılmıştır . [ 12 ]
Kod tabanının küçük boyutu göz önüne alındığında , Genode daha karmaşık Unix tabanlı işletim sistemlerine esnek bir alternatiftir. Bu nedenle ortam, sanallaştırma, [ 13 ] süreçler arası iletişim , [ 14 ] IP yığın izolasyonu , [ 15 ] izleme [ 16 ] ve yazılım geliştirme gibi alanlarda araştırma için temel bir sistem olarak kullanılmıştır . [ 17 ] [ 18 ]
Tarih
Genode ilk olarak Dresden Teknik Üniversitesi'nde "Bastei" adlı işletim sistemi mimarisi üzerine bir araştırma raporunun parçası olarak geliştirildi. [ 19 ] Rapor, "yetenekler" dediğimiz şeye dayalı olarak güvenlik kullanan bileşen tabanlı bir işletim sisteminin uygulanabilirliğini belirlemeye odaklandı. Rapor, kısmen L4 mikro hipervizörler üzerine yapılan eşzamanlı araştırmalardan elde edilen bilgilerle motive edildi . [ 20 ] Daha önceki bir prototipin başarısı nedeniyle, raporun yazarları, Bastei'yi Genode OS Framework adı altında geliştirme hedefiyle Genode Labs şirketini kurdular.
Sürümler
Proje, Affero Genel Kamu Lisansı koşulları altında açık kaynak olarak geliştirilmiştir ve ticari kuruluş alternatif lisanslar sunabilmektedir. Sistem ABI ve API'lerinde yapılan değişiklikler ve ilerlemenin belgelenmesi için her üç ayda bir yeni sürümler yayınlanır . Ortam kaynak kodu biçiminde mevcuttur ve 18.02 sürümünden itibaren ikili dağıtım ile Sculpt adlı genel amaçlı bir türev de sağlanır.
Mimari özellikler
Genode, mikro çekirdeklerin genel felsefesine dayanmaktadır - kod ne kadar küçük ve basitse, güvenilirlik ve doğruluk açısından o kadar kolay doğrulanabilir. Genode, küçük bileşenlerden karmaşık uygulamalar oluşturarak bu felsefeyi kullanıcı alanına genişletiyor. Her bileşen, sıkı bir "ebeveyn-çocuk" ilişkileri hiyerarşisinde bulunur. Bir üst öğe olarak hareket eden herhangi bir bileşen, alt öğelerine bileşenler arası iletişim ve kaynak ilkeleri uygulayabilir. Bu hiyerarşik tasarım, ayrıcalıkların sezgisel olarak bölümlere ayrılmasını ve yükseltilmesinin azaltılmasını sağlar, çünkü uzmanlaşmış alt sistemler daha genel alt sistemler içinde yer alır ve merkezi veya süper kullanıcı politikalarına sahip sistemlerde yaygın olan "kafa karışık vekil sorunu" denen sorunu azaltır .
Eleştiri
C++
Genode, uygulama dili olarak C++ ' ı seçmesi nedeniyle sıklıkla eleştirilmiştir ( C++ kullanan diğer işletim sistemleri BeOS , Fuchsia , Ghost, [ 21 ] Haiku , IncludeOS, [ 22 ] OSv , Palm OS , ReactOS , Syllable ve ana dillerdir. navigasyon motorları). Bu eleştirmenler, C++'ın doğal karmaşıklığı ve kodun doğru çalışmasını sağlamak için analiz edilmesinin zorluğu nedeniyle, genellikle C++'ın sistem kitaplıkları ve API'leri uygulamak için akıllıca bir seçim olmadığını iddia eder. Genode, sistem kitaplığında birden çok kalıtım ve şablon kullanırken, C++ Standart Kitaplığının kullanımına izin verilmez ve iş parçacığı yerel depolama ve genel ayırıcı gibi örtük genel duruma dayanan özellikler dil ortamından kaldırılmıştır. . C++'ın tam bir statik analizini yapmak mümkün değildir, ancak Genode projesi ampirik analiz için birim testleri yayınlamaktadır.
XML
Genode bileşenleri , Unix türevlerinin düz metin modellerinin aksine, durumu XML serileştirilmiş yapılandırılmış veri olarak kullanır ve yayınlar. XML, karmaşık özellikleri, verimsiz gösterimi ve XML belgelerini manuel olarak düzenlemenin göreceli zorluğu nedeniyle eleştiriliyor. Genode ortamı, XML'i tüm bileşenlerinde etkin bir şekilde kullanır, çünkü program XML'i kolayca oluşturur ve yorumlar, ayrıca manuel olarak anlayabilir ve düzenleyebilir. Genode tarafından kullanılan lehçe, XML dilinin basit bir alt kümesidir, ancak yeni kullanıcılar genellikle XML'i düzenlemenin sıkıcı ve hataya açık olduğunu görür. Genode herhangi bir özel XML özelliğine bağlı olmadığından, Genode'un veri biçimlendirme dili JSON veya sexps gibi daha basit olanlarla değiştirilebilir . Ancak henüz bir göç planı açıklanmadı.
Yerel ad alanı
Genode'un global bir ad alanı yoktur. Global dosya sistemi ve işlem günlükleri veya işlemler arası iletişim terminalleri yoktur. Bu, her yerde bulunan bir dosya sistemine sahip olan ve bir kök bağlamın sistem içindeki herhangi bir işlemi keyfi olarak işlemesine izin veren UNIX gibi sistemlerin aksine. Bileşen yollarını ve izinlerini açıkça bildirmek, UNIX'e kıyasla daha fazla iş gerektiriyor gibi görünebilir. Bununla birlikte, yönetim bölümlendirmesi, alt sistemlerin, ortak bir izolasyon yöntemi olan sanallaştırmaya başvurmadan, aynı makine üzerinde karşılıklı olarak güvenilmez yöneticiler tarafından yönetilmesine olanak tanır.
Heykel
Genode projesi, günümüzün dizüstü bilgisayar kullanıcısına yönelik Sculpt adlı bir masaüstü işletim sistemi yayınlıyor. [ 23 ] Sculpt, otomatik cihaz algılama ve konfigürasyonu, bazı kontrol GUI'leri ve Genode paket yöneticisi için bir arayüz içeren küçük bir temel sistemdir. Sistem tam bir masaüstü ortamı içermez, bunun yerine kullanıcıların tam özellikli bir masaüstü elde etmek için geleneksel işletim sistemlerini barındıran sanal makineleri dağıtmasını gerektirir. Sculpt, statik politikalara sahip özel sistemlerin aksine, ayrıcalıklı kontrol bileşenleri kullanan dinamik yeniden yapılandırmaya büyük ölçüde dayanması bakımından Genode OS'den farklıdır.
Ayrıca
- QNX , bir mikro çekirdek tarafından barındırılan tescilli UNIX benzeri bir işletim sistemi.
- Qubes OS , sanallaştırma yoluyla güvenliği olan bir masaüstü işletim sistemi.
- En az ayrıcalık ilkesi .
Referanslar
- ^ "NOVA OS Sanallaştırma Mimarisi" .
- ↑ Stein, Martin. "Kütüphanede bir çekirdek, FOSDEM 2017" .
- ↑ Larabel, Michael. "Genode, Intel Grafik Donanımı İçin Bir GPU Çoklayıcı Geliştiriyor" . Phoronix .
- ^ "Genode OS, RISC-V desteği ekliyor" .
- ^ "Genode OS Çerçevesinin Tanıtımı" . arşiv.fosdem.org/2012 .
- ^ "L4 Tabanlı İşletim Sistemleri" . L4hq.org . 14 Haziran 2018 tarihinde kaynağından arşivlendi . 25 Şubat 2019'da alındı .
- ↑ Larabel, Michael. "Redox OS, MINIX, Hurd & Genode FOSDEM'de de Vakit Geçirdi" . Phoronix .
- ↑ Baader, Hans-Joachim. "Sculpt OS ile Genode 2018.2" . pro-linux.de .
- ↑ Larabel, Michael. "Sculpt, Genode'un Üzerine Kurulan Genel Amaçlı Bir İşletim Sistemi Olmayı Amaçlıyor" .
- ↑ Tarasikov, Alexander (11 Mayıs 2013). "Genode'u ticari donanıma taşıma" . allsoftwaresucks.blogspot.com .
- ^ "Muen - Yüksek Güvence için bir x86/64 Ayırma Çekirdeği" .
- ↑ Williams, John. "Güvenilir yürütme ortamınızın güvenliğinden gelen verileri denetleme" .
- ^ "Elçilikler: Web'i Kökten Yeniden Düzenlemek" . USENIX.
- ↑ Martin Wegner, Sönke Holthusen (11 Aralık 2014). «Sözleşme Şartname ve dil» . ccc-project.org . 27 Mart 2019 tarihinde kaynağından arşivlendi . 25 Şubat 2019'da alındı .
- ↑ Hammad, Mohammad (6 Ocak 2016). "CCC'nin Güvenli İletişim Modülü" . ccc-project.org . 23 Ocak 2019 tarihinde kaynağından arşivlendi . 25 Şubat 2019'da alındı .
- ↑ B.PRUTHIVIRAJ, GSMADHUSUTHUN, S.VIJAYASARATHY, K.CHAKRAPANI. "GENODE ÇERÇEVE KULLANILAN MİKROKERNEL TABANLI GÜVENLİ İŞLETİM SİSTEMİ" . jatit.org .
- ↑ Hähne, Ludwig. "SCons ve GNU Make'ın Ampirik Karşılaştırması" .
- ↑ Millo-Sánchez, Reinier & Paz Rodríguez, Waldo & Fajardo-Moya, Alexis. "Genode OS Framework, gömülü sistemlerin geliştirilmesi için bir çerçeve" . Araştırma Kapısı .
- ^ "TU Dresden teknik raporu TUD-FI06-07" .
- ^ "NOVA Mikrohipervizörü" .
- ^ "Ghost, Intel x86 platformu için bir hobi işletim sistemi" .
- ^ "IncludeOS, kitaplık olarak yazılmış bir işletim sistemi" .
- ^ "Sculpt, açık kaynaklı bir genel amaçlı işletim sistemi" .