Rilis hypervisor Bareflank 3.0

Hypervisor Bareflank 3.0 dirilis, menyediakan alat untuk pengembangan pesat hypervisor khusus. Bareflank ditulis dalam C++ dan mendukung C++ STL. Arsitektur modular Bareflank akan memungkinkan Anda dengan mudah memperluas kemampuan hypervisor yang ada dan membuat versi hypervisor Anda sendiri, baik yang berjalan di atas perangkat keras (seperti Xen) dan berjalan di lingkungan perangkat lunak yang ada (seperti VirtualBox). Dimungkinkan untuk menjalankan sistem operasi lingkungan host di mesin virtual terpisah. Kode proyek didistribusikan di bawah lisensi LGPL 2.1.

Bareflank mendukung Linux, Windows dan UEFI pada CPU Intel dan AMD 64-bit. Teknologi Intel VT-x digunakan untuk berbagi perangkat keras sumber daya mesin virtual. Dukungan untuk sistem macOS dan BSD direncanakan untuk masa depan, serta kemampuan untuk bekerja pada platform ARM64. Selain itu, proyek ini mengembangkan drivernya sendiri untuk memuat VMM (Virtual Machine Manager), pemuat ELF untuk memuat modul VVM, dan aplikasi bfm untuk mengendalikan hypervisor dari ruang pengguna. Ini menyediakan alat untuk menulis ekstensi menggunakan elemen yang ditentukan dalam spesifikasi C++11/14, perpustakaan untuk melepas tumpukan pengecualian (unwind), serta perpustakaan runtime sendiri untuk mendukung penggunaan konstruktor/destruktor dan mendaftarkan penangan pengecualian.

Berdasarkan Bareflank, sistem virtualisasi Boxy sedang dikembangkan, yang mendukung pengoperasian sistem tamu dan memungkinkan penggunaan mesin virtual ringan dengan Linux dan Unikernel untuk menjalankan layanan atau aplikasi khusus. Dalam bentuk layanan terisolasi, Anda dapat menjalankan layanan web biasa dan aplikasi yang memiliki persyaratan khusus untuk keandalan dan keamanan, bebas dari pengaruh lingkungan host (lingkungan host diisolasi dalam mesin virtual terpisah). Bareflank juga merupakan dasar dari hypervisor MicroV, yang dirancang untuk menjalankan mesin virtual minimalis (mesin virtual aplikasi tunggal), mengimplementasikan API KVM dan cocok untuk membuat sistem yang sangat penting.

Inovasi utama Bareflank 3.0:

  • Transisi menggunakan konsep mikrokernel. Sebelumnya, hypervisor memiliki arsitektur monolitik, di mana, untuk memperluas fungsionalitas, perlu menggunakan API khusus untuk mendaftarkan panggilan panggilan balik, yang mempersulit pengembangan ekstensi karena terikat pada bahasa C++ dan struktur internal. Arsitektur berbasis mikrokernel baru melibatkan pembagian hypervisor menjadi komponen kernel yang berjalan pada ring nol perlindungan dan ekstensi yang berjalan pada ring tiga (ruang pengguna). Kedua bagian berjalan dalam mode root VMX, dan yang lainnya, termasuk lingkungan host, berjalan dalam mode non-root VMX. Ekstensi ruang pengguna mengimplementasikan fungsionalitas Virtual Machine Manager (VMM) dan berinteraksi dengan inti hypervisor melalui panggilan sistem yang kompatibel ke belakang. Ekstensi dapat dibuat dalam bahasa pemrograman apa pun, termasuk Rust.
  • Transisi telah dilakukan untuk menggunakan perpustakaan BSL kami sendiri dengan dukungan untuk Rust dan C++, yang menggantikan perpustakaan eksternal libc++ dan newlib. Dengan menghilangkan ketergantungan eksternal, Bareflank menyediakan dukungan kompilasi Windows asli untuk menyederhanakan pengembangan pada platform tersebut.
  • Menambahkan dukungan untuk prosesor AMD. Apalagi pengembangan Bareflank kini dilakukan pada sistem dengan CPU AMD dan baru kemudian di-porting ke CPU Intel.
  • Bootloader telah menambahkan dukungan untuk arsitektur ARMv8, adaptasi hypervisor yang akan diselesaikan pada salah satu rilis berikutnya.
  • Memastikan kepatuhan terhadap persyaratan untuk pengembangan sistem kritis yang dirumuskan oleh organisasi AUTOSAR dan MISRA.

Sumber: opennet.ru

Tambah komentar