HermiTux: một unikernel nhị phân tương thích với các ứng dụng Linux

Hermitux

Một nhóm các nhà nghiên cứu từ Đại học Bách khoa Virginia (HOA KỲ), Qualcomm và Đại học Kỹ thuật Aachen Rhine-Westphalia (Nước Đức) họ đang phát triển lõi nhẹ Hermitux, tương ứng với mô hình unikernel.

HermiTux là nhằm cho phép chạy các ứng dụng trực tiếp trên hypervisor mà không cần các lớp bổ sung, cung cấp khả năng tương thích nhị phân với các ứng dụng Linux ở cấp ABI.

Mã HermiTux Nó được viết bằng ngôn ngữ lập trình C và nó được phân phối theo giấy phép BSD.

HermiTux cung cấp một môi trường hệ điều hành tối thiểu với nhân riêng của nó (unikernel), tiêu thụ ít tài nguyên hơn nhiều so với khi tạo môi trường dựa trên nhân Linux bình thường.

Với nó cái này cho phép bạn nhanh chóng khởi chạy các ứng dụng trên hypervisor: thời gian bắt đầu không quá 0,1 giây.

Trong các bài kiểm tra hiệu suất của HermiTux, bị trễ khoảng 3% trong môi trường có nhân Linux thông thường, do chi phí chuyển tiếp I / O tới phía máy chủ.

Mức tiêu thụ bộ nhớ trong môi trường thử nghiệm là 9 MB, ít hơn 10 lần so với khi sử dụng nhân Linux (Docker tiêu thụ khoảng 2MB do sử dụng nhân chung với môi trường máy chủ mà không sử dụng ảo hóa hoàn toàn).

Về HermiTux

Hermitux nổi bật là có khả năng chạy các ứng dụng chưa được sửa đổi được tạo cho Linux, cái này được thực hiện thông qua hỗ trợ cho định dạng ELF, việc thực hiện các lệnh gọi hệ thống Linux và mô phỏng các hệ thống tệp ảo.

Ở giai đoạn phát triển HermiTux hiện tại, thực hiện 83 cuộc gọi hệ thống. Tổng cộng, nhân Linux cung cấp hơn 350 lệnh gọi hệ thống, nhưng chỉ một phần nhỏ trong số đó được sử dụng trong các ứng dụng thực (để bao phủ 90% chương trình của các bản phân phối thông thường, đủ để thực hiện 200 lệnh gọi hệ thống).

Để giảm độ trễ trong quá trình xử lý các lệnh gọi hệ thống, một cơ chế tùy chọn được thực hiện để xác định lại (viết lại) các lệnh gọi hệ thống để gọi các chức năng hạt nhân điển hình.

Đối với các ứng dụng liên quan đến tĩnh, có thể thay thế các câu lệnh syscall bằng các lệnh gọi hàm trong một tệp thực thi.

Đối với các ứng dụng liên quan đến động, việc thay thế được thực hiện ở cấp thư viện tiêu chuẩn.

Bên cạnh đó, các công cụ đã được chuẩn bị để phân tích các lệnh gọi hệ thống liên quan đến các tệp thực thi cho phép bạn thu thập một hình ảnh HermiTux tối thiểu chỉ bao gồm mã cần thiết để chỉ xử lý các lệnh gọi hệ thống được sử dụng trong ứng dụng.

Hermitux

Tính năng của HermiTux

Hermitux sử dụng trình siêu giám sát dựa trên KVM nhẹ tải tệp nhị phân Linux cùng với một lớp tối thiểu của hệ điều hành trong một máy ảo không gian địa chỉ duy nhất. Trong thời gian chạy, các lệnh gọi hệ thống do ứng dụng thực hiện sẽ được nhân HermiTux ghi lại.

Tùy chọn, HermiTux cung cấp một cơ chế để viết lại lời gọi hệ thống trên các lệnh gọi hàm nhân thông thường, giảm đáng kể độ trễ cuộc gọi hệ thống.

Từ quan điểm bảo vệ, cho biết mô-đun cho phépThay vì lọc, các cuộc gọi hệ thống không sử dụng (ví dụ: qua seccomp) để loại trừ chúng hoàn toàn khỏi hạt nhân.

Ứng dụng chạy trong không gian địa chỉ chia sẻ (HermiTux được thiết kế để chạy trên một siêu giám sát ứng dụng duy nhất).

Hỗ trợ phân luồng cơ bản (Pthreads Embedded) được cung cấp.

Là hệ thống tệp, MiniFS được đề xuất, trong đó các tệp được đặt trong RAM (đĩa RAM) và một số phần tử của hệ thống tệp ảo (/ dev / zero, proc / cpuinfo, v.v.) được mô phỏng.

Ngăn xếp TCP / IP dựa trên dự án LWIP và phiên bản sửa đổi của dự án Musl được sử dụng làm thư viện C tiêu chuẩn.

HermiTux không yêu cầu bất kỳ tập hợp lại ứng dụng nào và cho phép bạn chạy cả tệp thực thi được biên dịch (liên quan tĩnh và động) và các ứng dụng bằng ngôn ngữ thông dịch (Python, Lua, v.v.).

Liên kết dự án.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.