Linux có thể bao gồm một khung trình điều khiển trong Rust

RustLinux

Greg Kroah-Hartman, một trong những người giữ nhân Linux gần đây nhận được một đề xuất trong đó nó nói rằng có thể một khuôn khổ dành riêng cho việc phát triển trình điều khiển bằng ngôn ngữ Rust sẽ được chấp nhận trong lõi.

Mặc dù hiện tại không có gì cụ thể, nhưng đối với điều này, Greg Kroah-Hartman đưa ra hai điều kiện: Một trong số đó là framework sẽ không được kích hoạt theo mặc định trong trường hợp tích hợp của nó, điều này, để tránh việc người ta không cần Rust để biên dịch hạt nhân; thứ hai, cách tiếp cận được đề xuất có những lợi thế thực sự so với những cách tiếp cận bắt nguồn từ việc sử dụng ngôn ngữ C.

Được biết, Linux Kernel là sản phẩm của sự phát triển trong ngôn ngữ C và trên hết, đối với Linus Torvalds C là sản phẩm đầu tiên. Vì vậy, trong quá trình phát triển các trình điều khiển cho hệ thống, việc sử dụng C.

Cơ hội lớn được thỏa hiệp dành cho nhà phát triển cung cấp về mặt quản lý tài nguyên phần cứng của hệ thống máy tính bằng cách sử dụng Rust.

Và đó là ngày càng nhiều giọng nói được cất lên để gọi đoạn văn bằng ngôn ngữ Rust, một trong số đó được cho là sẽ thay thế C để kiểm soát vật liệu.

Và đó là trong Hội nghị thượng đỉnh về bảo mật Linux vừa qua, các nhà nghiên cứu bảo mật, cùng với những người khác, đã chỉ ra một trong những khiếm khuyết lớn nhất về ngôn ngữ C là các vấn đề liên quan đến quản lý bộ nhớ - tràn bộ đệm, cấp phát, truy cập vào vùng bộ nhớ không hợp lệ hoặc được giải phóng, v.v.

Theo số liệu được báo cáo bởi bộ đôi nhà nghiên cứu, kết quả của 65% lỗ hổng nhân Linux được xác định trong 6 tháng qua. Các số liệu về Lỗ hổng phổ biến và Mức độ phơi nhiễm (CVE) cũng tương tự: 15.9% trong số 2288 lỗ hổng đã ảnh hưởng đến Nhân Linux trong 20 năm có liên quan đến lỗi tràn bộ đệm.

Nhóm nghiên cứu không chỉ nói về những lợi ích mà Rust mang lại so với C. Ông cũng nhân cơ hội trình bày sáng kiến ​​phát triển một khuôn khổ dành riêng cho việc phát triển trình điều khiển Linux.

Nói một cách đơn giản, nỗ lực là làm việc với các API nhân Linux. Sự phát triển dành cho các kiến ​​trúc x86, arm / arm64, mips, POWERPC, RISC-V, s390 và SPARC.

Nhưng vấn đề lớn nhất là chỉ Linus Torvalds tin rằng không có gì tốt hơn ngôn ngữ C để lập trình hệ thống.

Tôi phải nói rằng tôi khá cổ hủ trong những vấn đề như thế này. Lý do tôi bắt đầu sử dụng Linux và các hệ điều hành nói chung là tôi thực sự thích phần cứng. Tôi thích khám phá khía cạnh vật chất.

Tôi không nói điều này để nhấn mạnh rằng tôi là một chuyên gia. Ý tôi là tôi thích tương tác với phần cứng từ phần mềm. Nhìn từ góc độ này, tôi chưa thấy một ngôn ngữ lập trình nào chỉ gần với ngôn ngữ C.

Tuyên bố này không chỉ vì C hữu ích để tạo mã tốt để xử lý phần cứng. Ngoài ra, việc sử dụng C có ý nghĩa đối với những người suy nghĩ như một chiếc máy tính. Tôi nghĩ lý do là những người thiết kế ngôn ngữ C đã làm như vậy vào thời điểm mà các trình biên dịch phải đơn giản; vào thời điểm mà ngôn ngữ phải thích ứng với đầu ra hoặc kết quả mong đợi.

Vì vậy, khi tôi đọc mã bằng ngôn ngữ C, tôi biết mã hợp ngữ sẽ trông như thế nào và đó là điều khiến tôi quan tâm, "ông nói cách đây 7 năm trong một bài phát biểu của mình tại hội nghị. Trung tâm Công nghệ Nguồn mở Intel.

Trước đây, bạn đã bỏ đề xuất tương tự để giới thiệu C ++ trong vòng tròn các ngôn ngữ dành riêng cho việc phát triển trình điều khiển cho Linux. Đặc biệt, nó làm nổi bật khả năng làm cho hướng đối tượng sạch hơn với C so với C ++.

Sáng kiến ​​của Alex Gaynor và Geoffrey Thomas tiếp tục là một dự án tuyệt vời trên nhiều trục. Ví dụ, nhóm nghiên cứu nhấn mạnh sự cần thiết phải tiếp tục phát triển trình điều khiển cho các hệ thống tệp và cho các loại thiết bị cụ thể.

Sau đó, chúng tôi sẽ phải xem nếu nội dung có thể thuyết phụcra các nhà bảo trì Linux.


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