# 리눅스 커널에서의 Rust 지원을 위한 RFC

> Clean Markdown view of GeekNews topic #4080. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4080](https://news.hada.io/topic?id=4080)
- GeekNews Markdown: [https://news.hada.io/topic/4080.md](https://news.hada.io/topic/4080.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-04-16T09:29:53+09:00
- Updated: 2021-04-16T09:29:53+09:00
- Original source: [lkml.org](https://lkml.org/lkml/2021/4/14/1023)
- Points: 10
- Comments: 3

## Topic Body

- 커널의 두 번째 언어로 Rust를 사용해야 하는 이유를 정리

- 코어나 주요 커널 하위시스템을 다시 작성하는게 아닌, 드라이버 및 그와 비슷한 "Leaf" 모듈들을 Rust로 작성할 수 있도록 하기 위함

Rust를 리눅스 커널에서 사용하면

- 언어적 속성 때문에 메모리 세이프티 버그, 데이터 경합 및 논리 버그의 위험이 줄어듬

- 메인테이너가 Rust의 안전함 때문에 모듈을 리팩토링하고 패치하는데 더 자신있게 할 수 있음

- 최신 언어 기능 및 상세한 문서화 덕분에 새 드라이버와 모듈을 쉽게 작성 가능

- 더 많은 사람들이 최신 언어를 사용하여 커널개발에 전반적으로 참여 가능

"Why Rust?"

- Linux 커널의 컨텍스트상, C에 비해 몇가지 주요 이점을 제공

ㅤ→ (언어적 장점은 생략..)

"Why not?"

- Linux 커널의 컨텍스트상, C에 비해 이런 단점이 있음

ㅤ→ 컴파일러 플러그인, Sanitizer 등을 포함한 C 기반 툴링에 노력을 기울여왔음. 이건 시간이 지나면서 Rust 사용이 증가하면 개선 될 것

ㅤ→ LLVM 기반의 단일 구현체. GCC 프론트엔드, Cranelift 기반의 'ructc' 백엔드, 부트스트래핑 체인을 줄이기 위한 'mrustc' 와 같은 노력이 진행중

ㅤ→ 아직 표준화 되지 않음. 표준화가 커널에 도움이 될지는 확실하진 않지만..

ㅤ→ 현재 컴파일러의 복잡한 기능과 제한으로 인해서 컴파일 속도가 느림

ㅤ→ 현재로서는 Nightly 빌드에 있는 기능이 필요. 안정 버전을 사용 불가. 1년 내에 이 제한을 없애는걸 목표

ㅤ→ 'core' 및 'alloc' Rust 표준 라이브러리에 있는 기능이 다 사용되지 않아서 현재 필요한 부분보다 큼

- 이러한 단점의 대부분은 Rust 가 아직 젊고 덜 사용되는 언어라는 사실에서 발생

- 지난 수십년 동안 C가 그랬던 것처럼 Rust 가 시스템 프로그래밍의 중요한 부분이 될 것이라고 믿고 있음

## Comments



### Comment 4902

- Author: octopuset
- Created: 2021-04-17T18:32:12+09:00
- Points: 1

https://lkml.org/lkml/2021/4/14/1099

"So I replied with my reactions to a couple of the individual patches, but on the whole I don't hate it."

와 함께 HOWEVER 뒤에 딸려오는 글을 보면

실제로 추가 되는데에는 꽤 시간이 걸릴지도 모르겠네요

### Comment 4881

- Author: xguru
- Created: 2021-04-16T09:30:12+09:00
- Points: 3

이 RFC에 대해서 Linus Torvalds옹이 답변을 달았습니다 https://lkml.org/lkml/2021/4/14/1099

"So I replied with my reactions to a couple of the individual patches, but on the whole I don't hate it."

전반적으로는 싫어하지 않는다고 하셔서 잘 흘러가지 않을까 기대해봅니다.

검색해 보니 긱뉴스에 Rust 관련 뉴스가 정말 많이 올라왔었네요. 이젠 정말 시대의 대세라고 봅니다.

- https://news.hada.io/search?q=Rust

- Rust 프로그래밍 언어 [한국어판] https://news.hada.io/topic?id=1152

- Rust - 높은 성능와 신뢰를 확보하기 위한 언어 '러스트의 멋짐을 모르는 당신은 불쌍해요' https://news.hada.io/topic?id=991

### Comment 4903

- Author: ffdd270
- Created: 2021-04-18T02:13:09+09:00
- Points: 1
- Parent comment: 4881
- Depth: 1

점진적으로 C와 공존하다가, 어느순간 대체되어있지 않을까... 라는 생각을 품어봅니다. 오히려 모질라로부터 독립한 게 더 좋은 선택이었던 것 같기도 해요.
