Linux 커널이 Rust를 사용하지 않는 이유는 무엇입니까?

Linux 커널이 Rust를 사용하지 않는 이유는 무엇입니까?

Linux 커널은 Rust를 사용한다고 들었습니다. 저는 이 프로그래밍 언어에 대해 잘 모릅니다. 단, C보다 빠르게 실행될 가능성이 있다는 점만 빼면요.

웹사이트에 따르면 Rust는 컴파일 과정에서 오류를 감지하고 몇 가지 제한 사항을 부과하기 때문에 C보다 안전합니다. 그러나 컴파일된 코드가 이러한 지침을 따르지 않는 경우. C와 비슷하지만 C는 아닌 안전하지 않은 모드에서 Rust를 컴파일할 수 있습니다.

그런데 리눅스가 Rust를 사용하는지 찾아보니 웹사이트에서는 C가 Rust를 사용한다고 나와 있었습니다. GitHub에서 Linux Kernel을 확인했는데 저장소나 프로젝트에 사용된 코드의 비율을 명시하는 저장소나 프로젝트에 장소가 있지만 Rust에 대한 언급은 없기 때문에 거짓말을 하고 있습니다.

Rust와 C에 관해 제가 받은 정보에 따르면, 어떤 경우에는 Rust가 C보다 더 안전하고 빠르기 때문에 Rust가 훨씬 나은 것 같습니다. 그렇다면 Rust는 왜 Linux 커널을 사용하지 않습니까?

Rust와 C에 대해 제가 틀렸다면 정정해 주십시오. 저는 코딩을 해본 적이 없지만 어떤 언어가 가장 좋은지 비교하는 것을 좋아합니다. 또한 Linux 커널이 Rust를 사용하지 않는 유일한 이유가 모든 Linux 개발자가 새로운 언어를 배우거나 해고되어야 하기 때문이라면 그렇게 하십시오.

답변1

몇 주만 기다리면 됩니다. 몇 번의 지연 후에는버전 6.1 커널에는 Rust 코드가 포함되어야 합니다.. 넌 이미 볼 수 있어존재하다linux-next(5.19 준비 이후부터 사용 가능)

커널이 일반적으로 Rust를 사용하지 않는 이유는 여러 가지가 있습니다. 첫 번째는 관성입니다. 커널에는 현재 2,200만 줄이 넘는 실제 C 코드(주석 제외)가 포함되어 있으며, 그 중 상당 부분을 다른 언어로 변경하면 반드시 시간이 오래 걸립니다. Rust가 커널에 잘 맞지 않거나 실제로 변화를 만들기 위해 많은 코드를 Rust로 다시 작성해야 하는 영역도 많이 있습니다. Rust의 주요 강점 중 하나는 탈출 분석입니다. 그 성능. 언어 경계를 넘는 코드에서는 제대로 작동하지 않습니다.

한동안 추구되어 온 접근 방식 중 하나는 장치 드라이버에 Rust를 사용하는 것입니다. 바라보다Rust를 사용한 커널 개발소개를 하고,국경의 녹슨 동물들커널의 Rust 상태에 대한 최신 정보를 얻으세요.

당신은 또한 찾을 수 있습니다Paul E. McKenney의 시리즈 "Linux 커널을 손상시키시겠습니까?"흥미로운.

관련 정보