Hacker News 의견
  • 메모리 안전성이 보장되는 언어 사용, x86_64 기반에 Arm 지원도 계획, 자체 네트워킹 스택 보유, CD 및 multiboot로 부팅 가능, 내 취미 프로젝트가 DOS를 압도하는 경험 제공
    • DOS와 경쟁하려면 Doom과 BASIC 실행 지원 필수, 이게 공식적으로 DOS 스타일의 기준선 역할
    • Rust와 x86 어셈블리 조합, 그래서 메모리 안전성 추구라면 과연 실용적 가치가 있냐는 생각, 오늘날 Rust는 한때 3D 프린팅처럼 과도하게 마케팅되는 느낌, 대중화 과정에서 실질적인 이득은 제한적이고 프로젝트도 구식 소프트웨어와 호환성 있으면 좋지만, 그렇지 않으면 교육용이나 매니아성 프로젝트에 가까움, 실사용까지는 갈 길이 멀게 느껴짐
  • 네트워킹 스택에서 SLIP과 slattach(1) 사용하는 점이 정말 마음에 듦, 직접 간단한 TCP/IP 스택을 만들 때도 Linux에서 pty로 SLIP 연결해 커널과 연동한 적 있음, macOS에도 예전에 slattach(1)이 존재했지만 지금은 제거된 걸로 보임, 혹시 macOS에서 SLIP 써서 크로스플랫폼 네트워킹 API 만든 분 있는지 궁금, 대안으로는 Linux에서는 tun/tap, macOS에서는 utun이 있지만 SLIP이 훨씬 간단함
  • 왜 x86을 선택한 건지 궁금, 리소스가 많아서인지, 독특한 명령어 포맷 때문인지, 부트 시퀀스의 복잡성 때문인지, 혹시 DOS를 그대로 따라하려는 전략인지, ARM 아키텍처도 곧 지원 예정이라고 했는데, DOS 자체가 하드웨어와 소프트웨어가 긴밀하게 연결되어 있는데도 여러 아키텍처로 지원하는 방식이 궁금
    • 이 프로젝트를 직접 보지는 않았지만 내 예상은, x86 플랫폼은 역사적으로 레거시 호환성 덕분에 정말 다양한 인터페이스가 내장되어 있어서 아주 얇고 심플한 ‘DOS류 OS’ 구현이 쉬움, 디바이스 트리 파싱, MMU 셋업, PCI(e) 같은 복잡한 버스 처리 등이 필요 없어 단순하게 시작 가능, ARM은 부트스트랩 자체가 어려워 심플함을 유지하려면 더 제약을 감수해야 하고, MMU 없이 할 수 있는 것이 제한적이고, 바이오스 인터페이스도 없어서 x86처럼 간단하게 섹터 읽기, 키 입력 대기가 어려움
    • x86을 선택한 이유는 이 시스템이 Turbo C에서 BIOS 인터럽트와 인라인 어셈블리를 기반으로 만든 첫 번째 버전에서 파생되었기 때문, MS-DOS만을 모방하려는 건 아니고 영감을 많이 받았음, 여러 아키텍처 지원은 Rust 컴파일러가 타겟 아키텍처 지정 기능 덕분에 가능성 있음, 빌드 전에 타겟만 정해주면 빌드 과정에서 바로 적용 가능
  • 현재의 UEFI 환경과 셸 대신 이렇게 FLOSS 기반 64비트 DOS 형식 솔루션이 더 좋았을 것 같음, 복고풍 부트 매니저나 시스템 진단 도구로 멋질 듯, 이게 efi 시스템 파티션에서 실행 가능할지 궁금, fat12 지원은 확인되는데 gpt 지원은 어떤지, 비디오 하드웨어를 곧장 제어하는 방식인지 아니면 터미널 형태 출력인지 궁금
    • 아직 EFI 시스템 파티션에서의 부팅은 테스트 전, FAT12 파일시스템만 공식 지원 중이고(메모리 디스크 기능은 있으나 현재 동작 안 함), gpt는 현재 미지원, FAT32 지원을 우선순위로 고려 중(보통 플래시 디스크는 FAT32 사용), 마지막 질문에 대해선 OS가 VGA 메모리 버퍼에 직접 쓰는 방식, GRUB에서 80x25 해상도 제공
  • 이번 프로젝트 멋지게 생각, “그냥 취미일 뿐, Linux처럼 크고 전문적으로 되지는 않을 거예요”라는 명대사를 놓친 게 아쉬움
  • 체코어 발음 부호 지원 계획이 있는지 궁금
    • 이번 버전에서는 영어만 지원 계획, 첫 번째 버전은 처음에 체코어로 만들어졌었음
  • Rust로 완전히 새로 만든 VGA 드라이버 사용 여부 궁금
  • DOS 스타일이지만 DOS와 호환성은 없는 게 맞는지 질문
    • 맞는 분석, 첫 번째 버전은 16비트로 MS-DOS와 거의 호환되게 설계, 그리고 간단한 디스크 I/O만 처리 가능하면 넓은 의미에서 DOS 시스템에 포함시킬 수도 있다 봄
    • 즉 MS-DOS 호환성, Alley Cat이나 Dune 2, Doom 실행 지원이 되는 수준 의미
  • 비동기 런타임 지원을 위해 이벤트 큐 필요 의견
    • 완성도 있는 이벤트 루프 구현은 어떤지 의견
  • Crysis 실행 가능성에 대한 유쾌한 질문