5P by xguru 13시간전 | ★ favorite | 댓글과 토론
  • Plan9“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로 설계