Phát hành trình ảo hóa Bareflank 3.0

Trình ảo hóa Bareflank 3.0 đã được phát hành, cung cấp bộ công cụ để phát triển nhanh chóng các trình ảo hóa chuyên dụng. Bareflank được viết bằng C++ và hỗ trợ C++ STL. Kiến trúc mô-đun của Bareflank giúp dễ dàng mở rộng các khả năng của bộ ảo hóa hiện có và tạo các tùy chọn bộ ảo hóa của riêng bạn, cả hai đều chạy trên phần cứng (như Xen) và chạy trong môi trường phần mềm hiện có (như VirtualBox). Có thể chạy hệ điều hành của môi trường máy chủ trong một máy ảo riêng biệt. Mã dự án được phân phối theo giấy phép LGPL 2.1.

Bareflank cung cấp hỗ trợ cho Linux, Windows và UEFI trên CPU Intel và AMD 64-bit. Công nghệ Intel VT-x được sử dụng để phân vùng phần cứng tài nguyên máy ảo. Hỗ trợ cho hệ thống macOS và BSD được lên kế hoạch cho tương lai cũng như khả năng hoạt động trên nền tảng ARM64. Ngoài ra, dự án còn phát triển trình điều khiển riêng để tải VMM (Trình quản lý máy ảo), trình tải ELF để tải các mô-đun VVM và ứng dụng bfm để điều khiển bộ ảo hóa từ không gian người dùng. Bộ công cụ được cung cấp để viết các phần mở rộng sử dụng các phần tử được xác định trong thông số kỹ thuật C++ 11/14, thư viện giải phóng ngăn xếp ngoại lệ (thư giãn), cũng như thư viện thời gian chạy của riêng nó để hỗ trợ việc sử dụng hàm tạo/hàm hủy và đăng ký trình xử lý ngoại lệ.

Trên cơ sở Bareflank, hệ thống ảo hóa Boxy đang được phát triển, hỗ trợ khởi chạy hệ thống khách và cho phép sử dụng các máy ảo nhẹ với Linux và Unikernel để chạy các dịch vụ hoặc ứng dụng chuyên dụng. Ở dạng dịch vụ biệt lập, bạn có thể chạy cả dịch vụ web thông thường và ứng dụng có yêu cầu đặc biệt về độ tin cậy và bảo mật, không bị ảnh hưởng bởi môi trường máy chủ (môi trường máy chủ được cách ly trong một máy ảo riêng biệt). Bareflank cũng là trung tâm của bộ ảo hóa MicroV, được thiết kế để chạy các máy ảo tối giản (máy ảo ứng dụng đơn) triển khai API KVM và phù hợp để xây dựng các hệ thống quan trọng.

Những cải tiến chính của Bareflank 3.0:

  • Chuyển sang sử dụng khái niệm vi hạt nhân. Trước đây, hypervisor có kiến ​​trúc nguyên khối, trong đó, để mở rộng chức năng, cần sử dụng API đặc biệt để đăng ký lệnh gọi lại, điều này gây khó khăn cho việc phát triển tiện ích mở rộng do bị ràng buộc với ngôn ngữ C++ và nội bộ . Kiến trúc dựa trên vi nhân mới chia bộ ảo hóa thành các thành phần hạt nhân chạy trên vòng bảo vệ số XNUMX và các phần mở rộng chạy trên vòng thứ ba (không gian người dùng). Cả hai phần đều chạy ở chế độ gốc VMX và mọi thứ khác, bao gồm cả môi trường máy chủ, ở chế độ VMX không phải root. Tiện ích mở rộng không gian người dùng triển khai chức năng Trình quản lý máy ảo (VMM) và tương tác với nhân bộ ảo hóa thông qua các lệnh gọi hệ thống tương thích ngược. Tiện ích mở rộng có thể được tạo bằng bất kỳ ngôn ngữ lập trình nào, bao gồm cả việc sử dụng ngôn ngữ Rust.
  • Chúng tôi đã chuyển sang sử dụng thư viện BSL của riêng mình với sự hỗ trợ cho Rust và C++, thay thế các thư viện bên ngoài libc++ và newlib. Việc loại bỏ các phần phụ thuộc bên ngoài cho phép Bareflank triển khai hỗ trợ biên dịch Windows gốc để đơn giản hóa việc phát triển trên nền tảng này.
  • Đã thêm hỗ trợ cho bộ xử lý AMD. Hơn nữa, việc phát triển Bareflank hiện được thực hiện trên hệ thống có CPU AMD và sau đó chỉ được chuyển sang CPU Intel.
  • Hỗ trợ cho kiến ​​trúc ARMv8 đã được thêm vào bộ tải khởi động, việc điều chỉnh bộ ảo hóa sẽ được hoàn thành trong một trong các bản phát hành tiếp theo.
  • Tuân thủ các yêu cầu phát triển hệ thống quan trọng của AUTOSAR và MISRA.

Nguồn: opennet.ru

Thêm một lời nhận xét