1P by neo 2달전 | favorite | 댓글 1개

Fusion OS

Fusion은 Nim으로 구현된 x86-64용 취미 운영체제임. 개발 과정은 https://0xc0ffee.netlify.app에서 문서화되고 있음.

스크린샷

  • UEFI 부트로더
  • GUI ( 참고: 이 스크린샷은 아직 작업 중인 graphics 브랜치에서 가져온 것임.)
  • Fusion 커널 부팅

기능

현재 구현된 기능:

  • UEFI 부트로더
  • 물리 메모리 관리자
  • 가상 메모리 관리자
  • 단일 주소 공간
  • 사용자 모드
  • 선점형 멀티태스킹
  • 시스템 호출
  • ELF 로더
  • 타이머 인터럽트

계획된 기능:

  • 수요 페이징
  • 프로세스 간 통신
  • 디스크 I/O
  • 파일 시스템
  • 키보드/마우스 입력
  • GUI
  • 네트워킹

빌드

Fusion을 빌드하려면 다음 종속성을 설치해야 함:

  • Nim
  • LLVM (clang 및 lld)
  • Just

다음 명령어로 Fusion을 빌드:

just build

실행

Fusion은 현재 QEMU에서 실행되므로 먼저 QEMU를 설치해야 함. 다음 명령어로 Fusion을 실행:

just run

라이선스

MIT

GN⁺의 정리

Fusion OS는 Nim으로 구현된 x86-64용 취미 운영체제로, 운영체제 개발 과정을 배우고자 하는 사람들에게 유용함. 현재 UEFI 부트로더, 물리 및 가상 메모리 관리자, 사용자 모드 등 기본적인 기능이 구현되어 있음. 앞으로 수요 페이징, 프로세스 간 통신, 파일 시스템 등 다양한 기능이 추가될 예정임. QEMU를 통해 쉽게 테스트할 수 있어 개발 및 학습에 적합함. 비슷한 프로젝트로는 xv6, OSDev 등이 있음.

Hacker News 의견
  • Author here. 질문에 답변할 준비가 되어 있음
  • Your blog/docs are excellent. 블로그와 문서가 훌륭함. 보여주기와 설명의 균형이 완벽함
  • Nice, I love to see stuff like this. 이런 프로젝트를 보는 것이 좋음. 몇 년 동안 Nim 생태계에 간헐적으로 참여해왔음. 이 작은 프로젝트가 계속 진행되는 것을 보는 것이 기쁨
  • Nifty! ELF 모듈을 쉽게 읽을 수 있어서 재미있음. 언젠가 Nim으로 RTOS를 작성하고 싶음. Nim으로 임베디드 프로그램을 작성하는 것을 즐기며, RTOS를 만드는 것도 재미있을 것 같음
  • What is Nim, and what is the overarching design goal for Fusion? Nim이 무엇인지, 그리고 Fusion의 전체적인 디자인 목표가 무엇인지 궁금함. 너무 기본적인 질문이 아니길 바라며, 이 주제에 대한 배경 지식이 전혀 없어서 누군가 설명해주길 바람
  • Development journal of Fusion’s author: Fusion의 저자의 개발 일지 링크를 공유함
  • How does this compare with TempleOS? TempleOS와 비교했을 때 어떤 점이 다른지 궁금함. 단일 주소 공간을 사용하는 점에서 비슷하게 들림
  • The problem that Nim have and many afraid to go Nim is case and style insensitivity. Nim의 문제점은 대소문자와 스타일에 민감하지 않다는 것임
    • 예: Is_land == island == IsLaND == is-land
    • 팀 환경이나 실제 프로젝트에서 문제가 됨
    • 현재 상황이 어떻게 진행되고 있는지 궁금함. 마지막으로 확인했을 때, 주요 개발자가 GitHub에서 인기 투표에 반대하는 조치를 취하지 않기로 했음
    • 그 외에는 Fusion OS 프로젝트와 문서가 훌륭함