1P by GN⁺ 1일전 | ★ favorite | 댓글 1개
  • SkiftOS는 C/C++ 언어로 처음부터 설계 및 개발된 오픈소스 운영체제
  • ARM, x86, RISC-V와 같은 여러 아키텍처에서 실행 가능하도록 만들어짐
  • 주류 운영체제와 다른 간결함사용의 즐거움을 추구하는 특징을 가짐
  • 실험, 학습, 운영체제 구조 연구 및 개인적 용도로 초보자 및 개발자 모두에게 적합
  • 모든 소스 코드는 GitHub에서 확인 가능

프로젝트의 중요성 및 차별점

  • SkiftOS는 메이저 배포판과 달리 소규모 팀이 신선한 시각으로 개발
  • C/C++ 베이스의 설계로 로우레벨 시스템 이해 및 알고리듬 학습에 유용
  • 다양한 하드웨어 플랫폼 지원을 통해 폭넓은 실험 및 확장 가능성 제공
  • 커뮤니티 중심으로 누구나 프로젝트에 기여하거나 피드백 전달 가능
Hacker News 의견
  • 6년 만에 한 사람이 매우 잘 설계된 마이크로커널뿐 아니라 빌드 시스템, UEFI 부트로더, 그래픽 셸, UI 프레임워크, 브라우저 엔진까지 만들어냄에 감탄함, 10x 개발자의 이야기가 과장이 아니라 실제보다 더 저평가된 것임을 느낌
    • 비슷한 프로젝트와 달리 이 사람은 신의 계시 없이 이런 성과를 이뤄내 더욱 인상적임을 언급함
    • SerentiyOS 개발 일지를 읽어보라며 https://serenityos.org/ 추천함
    • 정말 놀랍고 대단한 것 같음
  • 예상치 못하게 내 프로젝트가 오늘 메인 페이지에 올라왔음, 현재는 빌드가 깨져서 전체 OS를 테스트할 수 없지만, 리눅스나 macOS에서 개별 앱을 실행할 수 있음, 사용 방법은 ./skift.sh run --release <app-name> 임, 사용 가능한 앱은 ls ./src/apps 명령으로 확인할 수 있음
    • 브라우저(vaev-browser)는 별도의 명령(./skift.sh run --release vaev-browser -- <url-or-file>)이 필요함, HTTP 스택이 매우 최소화돼 있어서 http://만 지원함(HTTPS X), 내 사이트에서는 작동하지만 다른 사이트에서는 결과가 다를 수 있음, 지금까지 대부분의 시간은 네트워킹이 아니라 스타일링과 레이아웃 엔진 작업에 투입함
    • "내 마이크로커널은 Zircon의 영향을 받았다"고 언급했는데, sel4, Minix, openQNX와 같은 다른 구조도 공부했는지, 그리고 마이크로커널 설계에서 중요하게 본 디자인 선택이 무엇인지 궁금함, 이에 대해 더 자세한 문서가 있는지, 벤치마크 등 성능 측정도 했는지, 어떤 마이크로커널과 성능이 비슷한지 궁금함
    • UNIX 외의 다른 방식을 탐구한 점이 인상적임을 이야기함
    • Skift, Karm, Hjert, Opstart 등의 이름을 언급하며, 노르웨이인으로서 시스템 명칭이 덴마크어 또는 덴마크 스타일에서 온 것 같다고 느낌을 말함
    • monax에게 프로젝트를 시작하게 된 과정을 듣고 싶음, 본인도 마이크로커널을 만들며 OS 기본기를 배우려고 하는데 무엇부터 시작해야 할지 모르겠음, 첫 단계에서 무엇을 중점적으로 해야 하는지 궁금함
  • 코드가 매우 잘 작성됐고 이해하기 쉽고 현대적임을 칭찬함, 궁금한 점은 방금 컴파일한 앱이 어떻게 macOS에서 동작하는지 물음
    • 프레임워크가 OS 추상화 계층을 가지고 있고, 윈도우 생성과 사용자 입력을 받는 데 SDL을 사용한다고 설명함
  • 이런 프로젝트라면 이력서가 단 두 줄이어도(이메일, 프로젝트 사이트) 많은 곳에서 채용될 수 있을 것이라고 언급함
  • 이런 것을 어떻게 평범한 시간 제약 내에 만들 수 있는지 궁금함, 일반 개발자로서 9 to 5로 일하며 이 정도의 프로젝트를 해내기는 어렵다고 느낌
    • 사실 이런 건 할 수 없음, 내 대부분의 코딩은 거의 사회 생활이 없었던 시기에 작성하게 됨을 솔직하게 밝힘
    • 본인도 똑같이 궁금함
  • 혼자서 이것을 만들었다니 정말 놀라움, C/C++ 개발자로서 OS를 만드는 법은 알지만 아이디어만 떠올릴 뿐, 이 정도의 결과물을 혼자 작성했다니 말이 안 나옴
    • 브라우저 엔진 부분은 도움을 받았다고 언급함
  • 보안 측면에서 어떤 아이디어를 사용했는지 궁금함, 앱이 메모리나 하드웨어에 완전 접속하는지, 권한 시스템이 있는지 궁금함, 마이크로커널에 익숙하지 않아서 물어봄
    • 앱은 메모리나 하드웨어에 완전히 접근할 수 없음, 커널은 허가된 부분만 맵핑 해주며, 드라이버는 유저스페이스에서 동작함, 앱은 capability(핸들)을 통해 드라이버와 통신함, 사전에 권한을 받은 경우에만 접근 가능함
  • 대단해 보임, 궁금해서 물어보는데 코드 작성 시 AI를 얼마나 활용했는지 묻는 질문
  • 프로젝트가 정말 멋져 보이고, 브라우저 엔진까지 직접 쓴 점에 경탄함, 혹시 비디오 데모가 있는지 궁금함
    • 비디오 데모가 있으면 정말 좋을 것 같음
  • 정말 많은 작업량이 투입된 것으로 보이고, 커스텀 빌드 시스템을 만든 점이 놀라움, 현재의 C++ 빌드 시스템 상황을 보면 이해는 감, OS 개발자가 브라우저를 만드는 것에 집착하는 이유가 궁금함, 브라우저는 OS에 별로 의존적이지 않은 것 같은데라는 생각과 UI가 예쁘다는 의견을 함께 전함
    • 브라우저는 그냥 애플리케이션 런타임이라고 생각함