# PatchworkOS - x86_64 아키텍처용 모듈형 비POSIX 운영체제

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25198](https://news.hada.io/topic?id=25198)
- GeekNews Markdown: [https://news.hada.io/topic/25198.md](https://news.hada.io/topic/25198.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-12-20T09:31:02+09:00
- Updated: 2025-12-20T09:31:02+09:00
- Original source: [github.com/KaiNorberg](https://github.com/KaiNorberg/PatchworkOS)
- Points: 9
- Comments: 0

## Summary

**PatchworkOS**는 Plan9의 *“everything is a file”* 철학을 현대적으로 재해석한 **비POSIX 모듈형 운영체제**입니다. C와 어셈블리로 완전 새로 작성되어, 파일 기반 IPC·디바이스 추상화·모듈 로딩 등 핵심 기능을 모두 파일 인터페이스로 통합합니다. EEVDF 스케줄러와 틱리스 커널 구조를 채택해 실험적이면서도 정교한 스레드·락 제어를 구현하며, xv6와 Linux 사이의 교육용 중간 단계로 설계되었습니다.

## Topic Body

- [Plan9](https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs)의 **“everything is a file” 철학**을 엄격히 따르는 실험적 운영체제  
- 교육적·실험적 목적의 OS 개발을 위해 **C와 어셈블리로 완전 새로 작성**  
- **EEVDF 스케줄러** 기반의 완전 선점형·틱리스 커널 구조. **SMP 및 멀티스레딩** 및 세밀한 락 제어 지원  
- **파일 기반 IPC 시스템** 제공 : 파이프, 공유 메모리, 소켓 및 Plan9 `signals` 스타일의 **notes 시스템** 포함  
- **파일 기반 디바이스 추상화 계층**으로 프레임버퍼·입력 장치 등 통합 관리  
- **동기화 프리미티브**로 mutex, rwlock, futex 등 지원  
- **모듈형 커널 설계**, 런타임에서 모듈 로드/언로드 가능  
- **파일 시스템**은 Unix 스타일 VFS 구조. 마운트포인트, 하드링크, 프로세스별 네임스페이스 지원  
- **사용자 공간**은 자체 C 표준 라이브러리와 시스템 라이브러리로 구성  
  - 공유 메모리 기반 **모듈형 데스크톱 환경** 제공  
- **POSIX와의 주요 차이점**  
  - `fork(), exec()` 대신 `spawn()` 사용  
  - 사용자 개념 제거, 비POSIX 표준 라이브러리 채택  
  - 파일 모드 대신 **파일 플래그**로 접근 제어  
- **현재 제약사항**  
  - RAM 디스크만 지원, x86_64 전용  
- **향후 계획**  
  - **LUA 포팅** 및 동적 시스템 설정  
  - **비동기 I/O 및 시스템콜** (io_uring 고려)  
  - **USB 지원** 추가 예정  
- **Shell 유틸리티**는 파일 플래그 시스템에 맞게 재설계  
  - `touch`, `cat`, `echo`, `ls`, `rm` 등 POSIX 유틸리티와 유사한 인터페이스 제공  
- **빌드 환경** : Linux, GCC, NASM, mtools, QEMU 필요  
- **Doxygen 기반 문서** 제공, 코드 주석과 참고문헌 포함  
- xv6와 Linux 사이의 **교육용 중간 단계 OS**로 설계

## Comments



_No public comments on this page._
