Microsoft muốn mở rộng eBPF từ nhân Linux sang Windows

Sau Hệ thống con của Windows dành cho Linux (WSL), được nhiều người dùng hệ điều hành khác nhau đón nhận, Microsoft quyết định mượn một công nghệ quan trọng khác từ cộng đồng Linux, eBPF (Berkeley Extended Packet Filter) và đưa nó lên Windows.

Công ty cho biết nó sẽ không phải là một nhánh của eBPF, Có, điều này sẽ được sử dụng trong các dự án hiện có, bao gồm dự án IOVisor uBPF và trình xác minh PREVAIL, để chạy các API và chương trình eBPF trên hệ điều hành của riêng chúng, bao gồm Windows 10 và Windows Server 2016 (hoặc cao hơn).

Trong XNUMX năm qua, Microsoft, công ty vào đầu thiên niên kỷ này vẫn coi Linux là căn bệnh ung thư của ngành công nghiệp máy tính, đã trở thành một trong những công ty đóng góp lớn nhất cho sự phát triển của nhân.

Với WSL, ông đã mở đường cho nhiều ứng dụng trên Windows, cho phép các nhà phát triển và lập trình viên sử dụng các công cụ và dịch vụ Linux trực tiếp từ Windows mà không cần phải ảo hóa bất kỳ thứ gì khác hoặc xây dựng cơ sở hạ tầng phức tạp.

Bây giờ Microsoft chọn thêm eBPF vào Windows, như Đây là một công nghệ nổi tiếng về khả năng lập trình và sự nhanh nhẹn, đặc biệt là để mở rộng hạt nhân của hệ điều hành, cho các trường hợp sử dụng như bảo vệ chống lại các cuộc tấn công DoS và khả năng quan sát.

Nó là một máy ảo dựa trên sổ đăng ký được thiết kế để chạy trên kiến ​​trúc RISC tùy chỉnh 64-bit thông qua biên dịch JIT trên nhân Linux. Do đó, các chương trình eBPF đặc biệt thích hợp để gỡ lỗi và phân tích hệ thống, chẳng hạn như giám sát hệ thống tệp và các cuộc gọi nhật ký.

Mối quan hệ của eBPF với nhân Linux đã được so sánh với mối quan hệ của JavaScript với các trang web, cho phép sửa đổi hành vi của nhân Linux bằng cách tải một chương trình eBPF đang chạy, mà không cần sửa đổi mã nguồn của nhân hoặc tải một mô-đun nhân.

eBPF đại diện cho một trong những đổi mới nhân Linux lớn nhất trong thập kỷ qua. Và bởi vì có một số quan tâm đến việc thích ứng công nghệ này với các hệ điều hành khác, Microsoft đã quyết định dùng thử phần mềm Windows. Dự án, được gọi là ebpf-for-windows, là mã nguồn mở và có sẵn trên GitHub.

Dave Thaler giải thích trong một bài đăng trên blog hôm thứ Hai, Kỹ sư phần mềm Microsoft và Poorna Gaddehosur, Kỹ sư phần mềm cao cấp của Microsoft.

"Dựa trên công việc của những người khác, dự án này sử dụng một số dự án eBPF mã nguồn mở hiện có và thêm lớp giữa để chạy trên Windows."

Công ty không gọi nó là eBPF fork. Do đó, các nhà phát triển Windows sẽ có thể sử dụng các công cụ như clang để tạo mã bytecode.

eBPF của mã nguồn có thể được chèn vào bất kỳ ứng dụng nào hoặc được sử dụng với dòng lệnh netsh của Windows. Theo công ty, điều này được thực hiện thông qua một thư viện chia sẻ sử dụng các API Libbpf.

Thư viện chuyển mã byte EBPF thông qua PREVAIL trong môi trường bảo mật Windows cho phép một thành phần hạt nhân tin cậy một daemon chế độ người dùng được ký bằng một khóa đáng tin cậy.

Các kỹ sư của Microsoft cho biết dự án nhằm cung cấp hỗ trợ cho mã eBPF bằng cách sử dụng hook và helpers tồn tại trên cả Linux và Windows.

"Linux cung cấp nhiều liên kết và trình trợ giúp, một số trong số đó rất đặc trưng cho Linux (ví dụ: sử dụng cấu trúc dữ liệu nội bộ Linux) sẽ không thể áp dụng cho các nền tảng khác", họ nói.

Cuối cùng Nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây. Mặc dù đối với những người quan tâm đến việc có thể xem qua kho eBPF trên GitHub, họ có thể làm như vậy từ liên kết sau.


Nội dung bài viết tuân thủ các nguyên tắc của chúng tôi về đạo đức biên tập. Để báo lỗi, hãy nhấp vào đây.

Hãy là người đầu tiên nhận xét

Để 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.