Linux 0.11 rewritten in idiomatic Rust, boots in QEMU
Rust로 재작성된 리눅스 0.11 커널 프로젝트인 linux-0.11-rs가 i386 환경에서 QEMU를 통해 부팅할 수 있도록 구현되었습니다. 이 프로젝트는 리눅스 0.11 커널의 핵심 기능을 유지하면서 더 강력한 타입 시스템과 명확한 모듈 경계를 적용하여 코드를 재구성한 것이 특징입니다.
커널은 프로세스, 수요 기반 가상 메모리(CoW fork), Minix v1 파일 시스템, ATA 디스크 드라이버, TTY 계층, 시그널 등 리눅스 0.11의 주요 구성 요소를 포함하고 있습니다. 또한, 사용자 공간에는 `std` 모듈을 모방하는 `user_lib`을 구현하여 Rust 개발자들이 일반적인 Rust처럼 코드를 읽고 작성할 수 있도록 했습니다.
개발 편의성을 위해 80개 이상의 코어유틸리티와 파이프라인을 지원하는 셸(`sh`)을 포함하며, MBR 및 Minix v1 이미지 처리를 위한 `mbrkit` 및 `miniximg`와 같은 도구를 제공합니다. 사용자는 `tools/build-disk.sh` 스크립트를 통해 모든 사용자 프로그램을 컴파일하고 부팅 가능한 디스크 이미지를 생성할 수 있으며, 개발 환경 구축을 위한 Devcontainer도 제공됩니다.
커널은 프로세스, 수요 기반 가상 메모리(CoW fork), Minix v1 파일 시스템, ATA 디스크 드라이버, TTY 계층, 시그널 등 리눅스 0.11의 주요 구성 요소를 포함하고 있습니다. 또한, 사용자 공간에는 `std` 모듈을 모방하는 `user_lib`을 구현하여 Rust 개발자들이 일반적인 Rust처럼 코드를 읽고 작성할 수 있도록 했습니다.
개발 편의성을 위해 80개 이상의 코어유틸리티와 파이프라인을 지원하는 셸(`sh`)을 포함하며, MBR 및 Minix v1 이미지 처리를 위한 `mbrkit` 및 `miniximg`와 같은 도구를 제공합니다. 사용자는 `tools/build-disk.sh` 스크립트를 통해 모든 사용자 프로그램을 컴파일하고 부팅 가능한 디스크 이미지를 생성할 수 있으며, 개발 환경 구축을 위한 Devcontainer도 제공됩니다.