Rust의 Redox OS는 Linux에 몇 가지 새로운 트릭을 보여줄 수 있습니다.

Mozilla의 Rust 언어는 전체 운영 체제를 포함하여 여러 종류의 소프트웨어를 빠르고 안전하게 작성할 수있는 옵션으로 디자이너에 의해 고안되었습니다.

지난 몇 달 동안 개발자 팀은 정확히 그렇게 바빴습니다. Rust를 사용하여 Linux 접근 방식을 근본적으로 재검토하기 위해 설계된 본격적인 Unix와 유사한 운영 체제 인 Redox를 만들었습니다.

깨끗한 슬레이트

Redox는 커널 수준 코드에 Rust를 사용하여 C가 기본적으로 허용하는 것보다 더 많은 메모리 안전 고려 사항을 제공합니다. 그러나이 프로젝트는 단순히 새로운 언어로 Linux를 재 작성하는 것이 아닙니다. Redox는 Linux 버전의 Unix 전통을 유지하는만큼 많이 버립니다.

프로젝트의 위키 및 디자인 문서에서 설명했듯이 Redox는 레거시 팽창을 방지하기 위해 Linux가 지원하는 것보다 의도적으로 작은 하위 집합 인 최소한의 시스템 호출 집합을 사용합니다. OS는 또한 Linux의 모 놀리 식 커널과 달리 슬림을 유지하기 위해 마이크로 커널 디자인을 사용합니다.

많은 OS의 내부 동작도 재검토되었습니다. Unix와 Linux는 모두 모든 항목의 개념을 파일로 사용합니다. Redox는 한 단계 더 나아가 모든 것을 URL처럼 취급하므로 이벤트 처리기를 등록하는 것이 간단하고 다른 종류의 추상화를 수행하는 일관된 방식을 제공합니다.

//github.com/redox-os/redox

그러나 계획은 Linux를 대체하는 것이 아니라 적시에 Linux 소프트웨어를있는 그대로 실행할 수있는 유용한 대안을 제공하는 것입니다. 이미 몇 가지 힌트가 있습니다. 많은 일반적인 Unix (및 Linux) 명령이 지원되며 ZFS 파일 시스템의 작업 진행 포트가 있습니다.

Linux에서 또 다른 급진적 단절은 소프트웨어가 아니라 라이센스에 있습니다. 전체 프로젝트는 GPL이 아니라 MIT 라이센스입니다. 근거는 MIT 라이센스가 GPL보다 훨씬 더 쉽게 다운 스트림 채택을 장려한다는 것입니다. "다운 스트림이 실제로 중요한 것은 사용자 기반, 커뮤니티, 가용성이기 때문입니다."

앞으로의 긴 길

Redox의 ISO를 다운로드하고 부팅 할 수 있지만 곧 프로덕션에서 Redox 용 Linux를 버릴 가능성은 없습니다.

우선, Redox는 많은 누락 된 기능과 많은 불완전한 기능으로 테스트되지 않았습니다. Redox의 개발자는 또한 "완전한 1 : 1 Posix 호환성"(OS가 많은 Unix 시스템 호출을 생략하기 때문에)을 설정할 수 없다는 점을 인정합니다. 따라서 기존 Linux 소프트웨어를 실행하려면 Redox에 지원 계층이 필요할 것입니다. 그것의 채택.

Linux의 레거시 코드 기반도 쉽게 떨쳐지지 않을 것입니다. 수십 년의 개발과 수천 년에 걸친 작업이 C 언어 개발 환경에 투자되었습니다. 대조적으로 Rust 언어는 몇 년 동안 존재 해 왔으며 대부분의 사람들이 대규모의 야심 찬 프로젝트를 구축하기에 충분한 안정성 상태에 도달했습니다.

그래도 Redox와 같은 프로젝트는 가치가 있습니다. Redox가 설계 상 더 안전하다는 약속을 이행 할 수 있다면 현재 Linux를 대상으로하는 많은 임베디드 장치 시나리오가 Redox에서 더 잘 제공 될 수 있습니다. Mozilla는 이미 사물 인터넷 장치의 언어로 Rust에 대해 이야기 했으므로 이것은 자연스러운 확장이 될 것입니다.

Redox는 또한 운영 체제 문제에 다르게 접근하여 Linux에 장기적인 진화 압력을 가하는 예가 될 수 있습니다. Linux가 아무데도 가지 않으면 (모든 징후가 그렇지 않다는 것을 보여줍니다) Linux를 더 좋게 만드는 방법을 찾는 것이 가장 좋습니다.