Hacker News 의견
  • 비슷한 작업을 "Operating System in 1000 Lines of Code"에서 '패키지' 형태로 경험할 수 있음, 나는 예전에 Zig로 따라했는데(C 코드 스니펫을 Zig로 변환하면서 진행함) 매우 재미있었음, 내 코드와 VOD는 여기에 있음 https://github.com/kristoff-it/kristos/

    • Zig에 대해 어느 정도 알고 있어야 이 연습을 할 수 있을지 궁금함, 혹시 Zig을 한 번도 다뤄보지 않은 상태에서 현실적으로 어떻게 시도해볼 수 있을지, C++ 배경 지식이 있다는 가정에서 조언을 듣고 싶음
  • 글 작성자가 별도로 제출한 내용임 https://news.ycombinator.com/item?id=45236479, 글쓴이 본인이 직접 Tiny OS Kernel을 다시 제작했으며, 특정하게 RISC-V와 OpenSBI 환경에서 실험을 해보고 싶었고, 전통적인 C 대신 Zig를 사용했음, 사실 C 또는 Rust로도 쉽게 따라할 수 있을 거라고 생각함, 전체 과정이 다소 투박하지만 OS Kernel 개발과 컴퓨터 아키텍처를 배우는 첫걸음을 위한 실험과 입문용임, 주말에 재미있게 실험해볼 만한 프로젝트라고 생각함, 전체 워크스루와 Github 링크는 위에서 확인 가능함

  • 이런 프로젝트는 정말 인상적임, 리눅스 역시 결국 커널 하나에 불과하지만, 그 작업이 오픈소스 유닉스를 수십억 대 기기에 설치할 수 있도록 길을 열어줬음, 정말 멋진 일이라고 생각함

    • 더 재밌는 점은 맨 처음 리눅스 배포 당시 Torvalds가 "그냥 취미로 하는 거고, GNU처럼 크고 프로페셔널하진 않을 것"이라고 메일에 적었단 사실임 https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/SwRavCzVE7gJ

    • 나는 이런 프로젝트가 <i>엄청나게</i> 인상적이라고는 생각하지 않음, 미니멀한 멀티태스킹 커널을 만드는 법은 이미 수십년 전에 다 알려진 경로임, 부팅하고 간단한 작업만 하는 커널을 만드는 건 어느 정도의 똑똑함과 꾸준함만 있으면 되는 일임, RISC-V에서 하면 x86 보다 약간 복잡하긴 하지만, 하드웨어 초기화 정보는 쉽게 구할 수 있음 (https://wiki.osdev.org/RISC-V_Meaty_Skeleton_with_QEMU_virt_board 참고), 이 프로젝트도 그런 점에서 저자가 "운영체제 수업에서 했던 연습을 다시 한 것"이라고 직접 밝혔음, 소프트웨어 공학 학위를 가진 사람이면 다 해낼 수 있을 만한 수준이라고 생각함, 물론 버그나 미완성 부분은 있겠지만, 멀티프로세스 혹은 MMU로 프로세스 격리하는 것 자체는 이제 어렵지 않은 일임

    • 리눅스만큼, 1984년에 Stallman이 C 컴파일러와 유닉스 유틸리티를 만들기 시작한 것도 수십억 대 머신에 오픈소스 유닉스를 설치하는 길을 연 셈임

  • Zig는 운영체제 개발에 정말 좋음, RISC-V도 마찬가지임, 나도 똑같은 과제를 x86으로 시작했다가 레거시 보일러플레이트가 너무 많아서 금방 지침, RISC-V 쪽은 그런 게 거의 없음, 개발을 시작하기 훨씬 수월해짐 https://github.com/Fingel/aeros-v

    • x86에서 시작하면 부트로더만 잘 쓰면 보일러플레이트가 많지 않다고 생각함, 멀티부트 로더는 보통 리얼 모드에 남겨주고, 대부분의 사람들은 프로텍티드 모드를 원하기 때문에 일부 테이블 셋업하고 점프만 하면 됨, 레거시 인터럽트 컨트롤러를 끄고 싶으면 추가로 손댈 게 있지만 데스크톱 PC에서 부팅해볼 수 있다는 이점이 있음 (콘솔 인터페이스 관련 주의 필요), 내 하비용 OS는 BIOS 부트와 몇 가지 VGA 기능을 쓰다가 호환성이 나빠서 고생했는데, 시리얼 콘솔이 훨씬 쉽지만 요새 컴퓨터는 시리얼 포트가 없는 경우가 많음

    • 사실상 Object Pascal이나 Modula-2의 안전성을 다시 꺼내와 C 문법으로 재포장한 셈임, C는 UNIX의 라이선스 덕분에 널리 퍼진 것 외에 특별한 점이 있었던 건 아님

    • 나도 직접 해보고 싶은데, RISC-V 커널을 어떤 환경에서 실행하고 있는지 궁금함, Qemu만 사용하는지, 아니면 실제 하드웨어 중에 추천하는 게 있는지 알려주면 좋겠음

  • RISC-V ISA가 정말 접근성이 뛰어나다고 생각함, 문서도 훌륭하고, 예제도 정말 많고, 에뮬레이터도 상당히 많음, 언코프레스트된 머신코드도 읽기 쉬움, 나는 내 딸을 위해 직접 책을 쓰며 Forth와 타임셰어링이 있는 작은 OS를 만들고 있음 https://punkx.org/projekt0/book/part1/os.html, x86이었다면 아예 시도하지 못했을 거라고 생각함, 과정을 통해 Forth와 RISC-V 어셈블리를 동시에 배우고 있는데 정말 즐거움, 장난감 OS를 처음부터 만들고 싶다면 지금이 딱 좋은 시기라고 말하고 싶음 (1980년대만큼 흥미로움) 저렴한 RISC-V 보드(rp2350 등)를 구하고, 관련 매뉴얼 섹션을 Claude 같은 AI에 업로드하면 막힐 때 큰 도움 받음

    • 내 나라에서 보드 가격을 방금 검색해봤는데 생각보다 훨씬 저렴해서 놀랐음, 단순히 재미로 하나 사서 만져볼까 90% 고민 중임
  • 이런 시도는 언제나 재미있고 흥미로움, 자기만의 암호화나 어려운 것도 시도해보라고 격려하고 싶음, “자체 암호화 구현하지 말라”는 조언은 실전에 검증되지 않은 걸 쓰지 말라는 뜻임, 실험/연구용으로는 위험하지 않으니 마음껏 시도해도 됨, 우리는 더 많은 운영체제와 선택지가 필요함

  • (스페인 판결문 인용) 일단 http 차단은 그럴 수 있는데 이건 너무함...

    • 스페인에서 Cloudflare(그리고 아마 다른 곳도)가 축구 중계 관련 문제로 실수로 차단된다는 얘길 들음, 이런 문제를 어떻게 우회하고 있는지 궁금함, VPN 쓰는 걸까? 중요한 IP가 막히면 업무도 영향 받을 텐데

    • (판결문에서) 스페인 프로축구협회와 Telefónica Audiovisual Digital이 시작했다는 부분을 보고 이런 사람들은 범죄자라고 생각함

    • ...뭐지? 스페인 축구 단체가 국가 전체의 인터넷 접근을 제한할 권한이 있다는 거임?

  • 저렴한 RISC 하드웨어는 어떻게 구할 수 있는지 궁금함

    • 알리익스프레스에서 Milk-V Duo S라는 보드를 10달러에 판매함, 최근 추천 목록에 자주 등장함, 주요 사양은 업그레이드된 SG2000 마스터와 512MB RAM, 더 넓은 IO, 일부 모델에 WI-FI6/BT5(512M-Basic/eMMC 모델 제외), USB 2.0 호스트 포트, PoE 지원 100Mbps 이더넷, 듀얼 MIPI CSI, RISC-V와 ARM 부트 전환 스위치 지원 등임 https://aliexpress.com/w/wholesale-Milk%2525252dV-Duo-S.html

    • 이미 여러 보드가 있지만 내가 흥미롭게 생각해서 펀딩한 건 VisionFive 2 Lite임 https://www.kickstarter.com/projects/starfive/visionfive-2-lite-unlock-risc-v-sbc-at-199/description, 1세대 VisionFive2는 없지만, 평이 좋고 생태계가 점점 커진다고 함, 아직 미완성 부분이 있지만 곧 배송되길 기대함, 내가 개인적으로 쓰는 건 PolarFire SoC Discovery Kit임, 쿼드코어 RISC-V에 FPGA 들어간 보드이고, 다소 비싸고(130달러) 모두에게 맞진 않지만, 재밌는 점은 보드가 칩 자체보다 싸다는 점임 https://www.microchip.com/en-us/development-tool/MPFS-DISCO-KIT, 마이크로칩 관련 문서나 툴체인은 구식이고 썩 좋진 않지만, 익숙해지면 bare-metal RISC-V 코드 돌리는 게 정말 쉬움, 리눅스/베어메탈 예제가 친절함

    • 당장 실제 하드웨어 없이도 x86이나 애플 머신에서 에뮬레이터로 돌려보는 게 좋다고 제안함, 실제 보드보다 개발 속도가 빠르고, QEMU 같은 걸 쓰면 바로 해볼 수 있음 https://www.qemu.org/docs/master/system/target-riscv.html

    • 라즈베리파이 피코2도 RISC-V 지원해서 괜찮음 https://www.raspberrypi.com/products/raspberry-pi-pico-2/

    • 여러 사람의 답변에 감사함, 질문에 비추 준 사람들은 고마울 이유가 없다고 생각함