This Month in Redox - August 2026
Redox 2026년 8월 소식 — I/O 14~15배 향상, ARM64 멀티코어 지원
Rust로 개발하는 마이크로커널 운영체제 Redox가 8월 한 달간 진행한 개발 내용을 공개했습니다. 링 버퍼 기반 I/O로 NVMe·파일시스템 성능을 벤치마크에서 14~15배 높였고, 커널 메모리 누수를 고쳐 GCC 테스트 빌드 시간을 10시간에서 약 30분으로 줄였습니다.
- 주제
에디터 노트
14~15배라는 숫자부터 정확히 읽어야 합니다. 원문 벤치마크는 RedoxFS를 우회한 순수 NVMe 측정이라 파일시스템 전체 스택의 체감 속도와는 거리가 있거든요. 그래도 의미는 있습니다. 마이크로커널의 고질적 약점이 IPC 오버헤드인데, Linux의 io_uring과 동등한 링 버퍼 API(Redox Rings)로 정면 돌파했다는 점이죠. 검증된 해법을 가져와 자기 아키텍처에 이식하는 건 Redox가 오래 써온 방식입니다. 진짜 이야기는 숫자보다 문화에 있습니다. 커널 메모리 누수 하나를 고쳐 GCC 빌드가 10시간에서 30분으로 줄었다는 걸 공개 리포트에 버젓이 적는 프로젝트는 흔치 않거든요. 다만 Lobsters의 반응이 현주소를 보여줍니다. 달린 댓글은 기술 논쟁이 아니라 "실제로 daily driver로 쓰는 사람 있나요?"라는 질문 하나뿐이고, NUMA 지원도 QEMU 테스트 단계라 실제 하드웨어 검증을 구하고 있습니다. 듀얼부팅 지원과 데일리 이미지로 진입장벽을 낮추고 있지만, 흥미로운 실험과 쓰는 OS 사이의 간극은 아직 그대로입니다.
AI 요약
Redox OS는 Rust로 작성하는 Unix 계열 범용 마이크로커널 운영체제입니다. 8월에는 I/O 병렬 처리, 메모리 관리, 스케줄러를 개선했고 ARM64 멀티코어와 NUMA 지원도 추가했습니다. 개발팀은 실제 하드웨어 테스트를 요청했으며, 변경 사항은 서버·데스크톱 일일 이미지나 소스 빌드로 확인할 수 있습니다.
I/O와 빌드 성능
Ibuki Omatsu와 Anhad Singh은 Linux의 io_uring 시스템 호출 API와 비슷한 링 버퍼 통신 API인 Redox Rings를 구현했습니다. 지원 드라이버에서 I/O 성능을 높이는 방식이며, NVMe 드라이버와 RedoxFS, RAMFS에 적용했습니다. RedoxFS를 거치지 않고 NVMe 읽기·쓰기를 측정한 벤치마크에서는 동기식 시스템 호출 방식보다 14~15배 빠른 결과를 기록했습니다.
Wildan Mubarok은 GCC 컴파일 성능이 점차 떨어지던 원인을 조사해 커널 메모리 누수를 고쳤습니다. 이 누수 탓에 QEMU에서 os-test 테스트 모음을 컴파일하는 시간이 2시간에서 최대 10시간까지 늘었고, 메모리 부족(OOM) 오류도 발생했습니다. 수정 후 빌드 시간은 약 30분으로 줄었습니다.
아키텍처와 스케줄러
lbecher는 AArch64·ARM64 멀티코어 지원을 구현했습니다. 성능 개선 폭을 확인하려면 추가 테스트가 필요합니다. Aadarsh는 NUMA 메모리 관리 초기 지원과 기본 로컬 노드 할당, NUMA 할당 정책을 바꾸는 libredox API를 추가했습니다. 현재 QEMU로 NUMA 동작을 시험하고 있어 실제 장비 검증을 요청했습니다.
Akshit Gaur는 프로세스 우선순위와 시스템 우선순위 조정 기능을 구현했습니다. 스케줄러 개선 프로젝트에서는 EEVDF와 작업 훔치기(work stealing)도 손봐 전반적인 성능을 개선했습니다. 커널 IPC 오버헤드는 5% 줄었고, x86-64 이미지에서는 도달하지 않는 DTB 코드를 제거해 바이너리 크기를 2.2% 줄였습니다.
가상화와 설치
팀은 QEMU가 Redox에서 작동하는 것을 확인했습니다. 서버 버전은 터미널 모드에서, 데스크톱 버전은 GTK 프런트엔드에서 시험했습니다. 다만 Redox에는 KVM과 같은 가상 머신 가속 기능이 없어 실행 속도가 크게 느릴 수 있습니다. 설치 프로그램도 개선해 Linux에서 Redox를 듀얼 부팅으로 설치할 수 있게 했으며, 새 GUI 설치 옵션과 패키지 추출 진행 상태를 추가했습니다.
보안과 호환성
Ibuki Omatsu는 contain 샌드박스 관리 도구를 새 네임스페이스 관리 체계에 맞게 다시 구현했습니다. 프로세스마다 네임스페이스 파일 디스크립터를 담은 필터 scheme을 만들고, 프로그램의 openat 호출을 파일 디스크립터 필터로 중재합니다. fullchroot 구현은 아직 진행 중입니다. Redox는 네임스페이스와 capability 기반 보안을 사용해 파일 경로 접근을 관리하며, 관련 설계에서는 openat 경로 해석에 네임스페이스 관리자가 관여하는 구조를 설명합니다.
re lib c에서는 안전성 원칙과 목표를 문서화했습니다. POSIX/C 표준 라이브러리의 unsafe 코드를 주로 leaf function에 모아 검토를 쉽게 하고, 내부 오류 처리에는 더 많은 정보를 담도록 Rust식 방식을 적용하는 방향입니다. 그 밖에 CA 인증서를 갱신해 GnuTLS 문제를 고쳤고, 파일 잠금 오류 수정으로 SQLite와 libsoup도 도움을 받았습니다. TLS·ELF 처리, 소켓, epoll, 동적 링크 디버깅 등 라이브러리 호환성 개선도 이어졌습니다.
그 밖의 변경과 테스트
커널에서는 스레드 잠금을 줄여 메모리 해제 성능을 개선하고, 프로세스 종료 때 좀비 프로세스가 생길 수 있는 문제와 FUTEX_WAIT64 패닉 등을 수정했습니다. 드라이버에는 PCI 다중 벡터 MSI-X 지원과 VirtIO 완료 이벤트 유실 수정이 들어갔습니다. 테스트 이미지 검증 시간은 약 25분에서 7분으로 단축했고, CI에서 Clippy 검사도 시작했습니다.
변경 사항은 서버 또는 데스크톱 일일 이미지로 시험합니다. 가상 머신에는 harddrive 이미지, 실제 장비에는 livedisk 이미지를 사용합니다. 애플리케이션과 라이브러리는 sudo pkg install package-name 명령으로 설치할 수 있습니다.
원문: Redox OS / 번역·요약: Trawling