부팅과 메모리
CPU가 커널을 실행할 때까지
OpenSBI와 U-Boot를 거쳐 커널을 시작하고, UART 출력으로 실행 상태를 확인합니다. 사용자 모드와 트랩, Sv39 페이지 테이블을 구성합니다.
- 커널 진입점과 초기 스택
- 트랩·시스템콜 처리
- 가상 주소와 물리 프레임 매핑
MMOS · RISC-V · Rust
MMOS는 RISC-V와 Rust로 운영체제를 구현하고 실제 실행 결과를 확인하는 프로젝트입니다. 제1권 『직접 만들며 배우는 RISC-V 운영체제』는 커널 부팅에서 시작해 파일시스템의 사용자 프로그램을 실행하고 셸에서 명령을 입력하기까지 다룹니다.
momo operating system
부팅, 트랩, 주소 변환, 파일 읽기, 프로세스 실행을 차례로 구현합니다. 새 기능을 추가할 때마다 테스트와 QEMU 실행 결과로 동작을 확인하고, 다음 단계에 필요한 기능을 살펴봅니다.
Foundation OS · Volume 01
부팅과 메모리
OpenSBI와 U-Boot를 거쳐 커널을 시작하고, UART 출력으로 실행 상태를 확인합니다. 사용자 모드와 트랩, Sv39 페이지 테이블을 구성합니다.
장치와 프로세스
블록 장치와 VFS·ext4로 파일을 읽고, 파일 디스크립터와 콘솔 입출력을 연결합니다. 스케줄링, 주소 공간 전환, 프로세스 생성과 종료도 다룹니다.
/sbin/init 읽기사용자 프로그램
ELF 로더와 execve로 프로그램 이미지를 바꾸고, CRT·최소 libc·stdio를 구성합니다. 콘솔 입력을 사용자 프로그램에 전달해 최소 셸을 실행합니다.
Read the code
PDF에서는 절과 연결된 태그를 꼬릿말에, EPUB에서는 절 제목 아래에 표시합니다. 태그를 따라 해당 시점의 실습 코드를 열 수 있습니다.
p08c48s02n018부 48장 2절의 첫 번째 코드 체크포인트
실습 저장소에서 태그를 받은 뒤 해당 체크포인트로 이동합니다. 같은 절에 여러 체크포인트가 있으면 끝 번호가 n02, n03으로 이어집니다.
git fetch --tags
git switch --detach p08c48s02n01mmos-practice 저장소 열기 MMOS book series
제1권에서 작은 운영체제를 만들고, 제2권에서 이를 실행할 가상 디바이스 플랫폼을 다룹니다. 이후 마이크로커널과 용도별 프로파일은 설계·기획 단계입니다.
Foundation · 원고 완성
부팅, 메모리, 파일시스템, 프로세스, 사용자 셸까지 구현합니다.
Platform · 원고 완성
OS 이미지를 패키지로 묶고 가상 디바이스에서 실행합니다.
Reference · 설계 예정
커널의 역할을 줄이고 서비스와의 통신·자원 접근 방식을 설계합니다.
Generic · 계획
일반적인 앱 실행에 필요한 파일시스템, 네트워크, 화면 서비스를 계획합니다.
Agentic · 계획
에이전트의 도구 사용을 권한과 기록으로 통제하는 방식을 계획합니다.
Safety · 계획
정해진 자원과 실행 시간 안에서 안전 요구를 검증하는 구성을 계획합니다.
Mixed · 계획
서로 다른 안전 요구를 가진 작업 사이의 간섭을 다루는 구성을 계획합니다.
Who this is for
Continue with MMOS
책은 알라딘과 북큐브에서 구매할 수 있습니다. 다른 온라인 서점의 구매 링크도 등록되는 대로 추가하겠습니다. 실습 코드는 GitHub에서 확인하고, 책과 MMOS 프로젝트에 관한 질문과 의견은 포럼에 남길 수 있습니다.