Klompok peneliti saka Universitas Polytechnic Virginia (USA), Universitas Teknis Qualcomm lan Aachen Rhine-Westphalia (Jerman) lagi berkembang inti entheng Hermitux, cocog karo paradigma unikernel.
HermiTux yaiku dimaksudake kanggo ngidini mbukak aplikasi langsung ing hypervisor tanpa perlu lapisan tambahan, sing nyedhiyakake kompatibilitas binar karo aplikasi Linux ing level ABI.
Kode HermiTux Ditulis ing basa pamrograman C lan disebarake kanthi lisensi BSD.
HermiTux nyedhiyakake lingkungan sistem operasi minimal kanthi kernel dhewe (unikernel), sing nggunakake sumber daya luwih sithik tinimbang nalika nggawe lingkungan adhedhasar kernel Linux normal.
Kanthi iki ngidini sampeyan ngluncurake aplikasi kanthi cepet ing hypervisor: wektu wiwitan ora ngluwihi 0,1 detik.
Ing tes kinerja HermiTux, udakara 3% ketinggalan ing lingkungan kanthi kernel Linux biasa, amarga overhead I / O nerusake menyang sisih host.
Konsumsi memori ing lingkungan tes yaiku 9 MB, yaiku 10 kali kurang tinimbang nggunakake kernel Linux (Konsumsi Docker udakara 2MB amarga nggunakake kernel umum karo lingkungan host tanpa nggunakake virtualisasi lengkap).
Babagan HermiTux
Hermitux kapacak minangka tujuan kanggo duwe kemampuan mbukak aplikasi sing ora dimodifikasi digawe kanggo Linux, iki rampung liwat dhukungan kanggo format ELF, implementasi panggilan sistem Linux lan emulasi sistem file virtual.
Ing tahap pangembangan HermiTux saiki, iki ngetrapake 83 panggilan sistem. Secara total, kernel Linux nyedhiyakake luwih saka 350 panggilan sistem, nanging mung bagean cilik sing digunakake ing aplikasi nyata (kanggo nutupi 90% program distribusi reguler, cukup kanggo ngetrapake 200 panggilan sistem) .
Kanggo nyuda wektu tundha sajrone proses telpon sistem, mekanisme opsional dileksanakake kanggo redefine (nulis ulang) sistem supaya bisa nyebut fungsi kernel sing khas.
Kanggo aplikasi sing gegandhengan statis, sampeyan bisa ngganti pernyataan syscall kanthi telpon fungsi ing file sing bisa dieksekusi.
Kanggo aplikasi sing gegandhengan kanthi dinamis, panggantos ditindakake ing level perpustakaan standar.
Uga, alat wis siyap kanggo nganalisa panggilan sistem sing ana gandhengane karo file eksekusi sing ngidini sampeyan nglumpukake gambar minimal HermiTux sing mung kalebu kode sing dibutuhake kanggo proses mung panggilan sistem sing digunakake ing aplikasi kasebut.
Fitur HermiTux
Hermitux nggunakake hypervisor adhedhasar KVM sing entheng sing mbukak binar Linux bebarengan karo lapisan minimalis sistem operasi ing mesin virtual ruang alamat tunggal. Nalika runtime, sistem panggilan sing digawe dening aplikasi dijupuk dening keri HermiTux.
Opsional, HermiTux nyedhiyakake mekanisme kanggo nulis ulang invasi telpon sistem ing telpon fungsi kernel umum, nyuda latensi panggilan sistem.
Saka sudut perlindungan, ngandika modularity ngidini, eTinimbang nyaring, telpon sistem sing ora digunakake (contone, liwat seccomp) menyang ngilangi kabeh saka kernel.
Aplikasi kasebut mbukak ing ruang alamat sing dituduhake (HermiTux dirancang kanggo mbukak ndhuwur hypervisor aplikasi).
Dhukungan utas dhasar (Pthreads Embedded) diwenehake.
Minangka sistem file, MiniFS diusulake, ing endi file dilebokake ing RAM (RAM disk) lan sawetara elemen sistem file virtual (/ dev / zero, proc / cpuinfo, lsp.).
Tumpukan TCP / IP adhedhasar proyek LWIP, lan versi modhifikasi proyek Musl digunakake minangka perpustakaan C standar.
HermiTux ora mbutuhake kumpulan aplikasi maneh lan ngidini sampeyan mbukak file eksekusi sing disusun (sing gegandhengan karo statis lan dinamis) lan aplikasi ing basa sing diinterpretasi (Python, Lua, lsp.).
Dadi pisanan komentar