xv6와 같은 옛날 Unix(1975년 버전, Lion book 참고)과 풀 Linux 커널 사이의 중간 지점에 해당하는 흥미로운 프로젝트임을 느낌, LicheeRV Nano라는 $9짜리 RISC-V 보드(1.0GHz 64비트 CPU(C906), MMU, FPU, 128비트 벡터 유닛, 256MB DDR3 탑재)에서 동작하는 모습을 보고 반가움을 느낌, 이 보드는 펜티엄 III 중기나 PowerPC G4와 비슷한 성능임, 같은 SoC를 사용하는 Milk-V Duo 256M이나 Duo S, 혹은 Duo(64MB RAM, $5과 같은 모델)로의 포팅도 매우 쉬울 것 같음, 현재 네트워크나 블록 디바이스, 멀티코어 지원은 없는 상태임
네트워크와 멀티코어 지원이 없는 Linux는 상상이 되지만, 블록 디바이스까지 없는 OS는 낯섦, 캐릭터 디바이스만 의미하는 것인지 궁금함, FAT 드라이버는 어떻게 동작하는 것인지 궁금함
Altivec를 탑재한 G4는 멀티미디어에서 SSE2를 가진 PIV와 거의 비슷한 수준의 성능을 냄
몇 달마다 하드웨어 추상화 없이 VM에서만 동작하는 새로운 OS 커널이 등장하는 모습을 봄, Tilck은 그런 종류가 아님, Tilck은 진짜 운영체제임, 실제 하드웨어에서 동작함, 전자의 영역은 이미 포화상태인데 반해 Tilck은 예전부터 거의 채워지지 않았던 틈새를 잘 채워주는 느낌임
영상이 짧고 핵심적임, Vim 실행 모습도 보여주는데, 여러 Linux syscall의 일부만으로 Vim 같은 대형 소프트웨어까지 컴파일해서 돌리는 것은 꽤 인상적임
Tilck이 "교육용"이라고 표시된 것은 확인했지만, 부트로더만 교체한다면 소형 임베디드 기기에서도 쓸만한지 궁금함
Tilck의 README 파일이 예상외로 길고 재미있어서 OS 개발자라면 꼭 읽어볼 만함
Minix와 함께 교육용으로 자라온 나 같은 사람들에게 Tilck이 얼마나 유용할지 궁금함
Tilck은 매우 작고 결정론적인 모노커널임, 현재 약 100여 개의 Linux syscall을 리눅스 호환 형태로 구현함, 교육적 도구로도 좋지만 장기적으로는 리눅스 호환 RTOS 커널을 지향함, 현재는 musl로 정적으로 링크된 바이너리만 지원하고 부팅 및 구동에 약 3MB RAM만 소요됨, 코드베이스가 작고 단순해서 교육적 목적에 맞으며, 궁극적으로는 임베디드 시스템의 실제 프로덕션 환경에서도 쓰이는 것이 목표임
Tilck이 흥미롭지만 멀티유저 지원이 없는 점이 아쉬움, 최소한 chmod/chgrp 등 파일 소유자와 그룹 변경 정도만 지원하면 NFS 서버 같은 곳에도 활용도가 커질 것 같아서, 멀티유저 지원을 개발자가 다시 고려해줬으면 하는 바람임
Tilck의 파일시스템 호환성이 그보다 더 큰 문제임, 사실 내 용도라면 신뢰성이 검증된 플랫폼이 낫고, Tilck은 교육용에 맞춰져 있어서 정보보안이나 데이터 견고성 측면에서는 적합하지 않음
user:group 값을 파일시스템에 기록만 해두고 런타임에서는 클라이언트를 서비스할 때만 반영하는 방법도 생각 가능함, 예를 들어 리눅스 파일서버가 루트로 동작하면 자체 사용자 변경 없이도 권한 체크와 소유권 관리를 할 수 있음, 또 한 세션마다 포크해서 해당 클라이언트 유저로 전환하면 커널이 강제로 권한을 부여해줘서 파일 권한 처리도 자동으로 해결됨
이 프로젝트는 정말 인상적임, 예전 3.5인치 플로피로 NAT 방화벽용 Linux를 돌리던 시절이 떠오름
Hacker News 의견
xv6와 같은 옛날 Unix(1975년 버전, Lion book 참고)과 풀 Linux 커널 사이의 중간 지점에 해당하는 흥미로운 프로젝트임을 느낌, LicheeRV Nano라는 $9짜리 RISC-V 보드(1.0GHz 64비트 CPU(C906), MMU, FPU, 128비트 벡터 유닛, 256MB DDR3 탑재)에서 동작하는 모습을 보고 반가움을 느낌, 이 보드는 펜티엄 III 중기나 PowerPC G4와 비슷한 성능임, 같은 SoC를 사용하는 Milk-V Duo 256M이나 Duo S, 혹은 Duo(64MB RAM, $5과 같은 모델)로의 포팅도 매우 쉬울 것 같음, 현재 네트워크나 블록 디바이스, 멀티코어 지원은 없는 상태임
Altivec를 탑재한 G4는 멀티미디어에서 SSE2를 가진 PIV와 거의 비슷한 수준의 성능을 냄
몇 달마다 하드웨어 추상화 없이 VM에서만 동작하는 새로운 OS 커널이 등장하는 모습을 봄, Tilck은 그런 종류가 아님, Tilck은 진짜 운영체제임, 실제 하드웨어에서 동작함, 전자의 영역은 이미 포화상태인데 반해 Tilck은 예전부터 거의 채워지지 않았던 틈새를 잘 채워주는 느낌임
Tilck이 부팅 속도가 매우 빠르고 doom도 framebuffer로 구동하는 모습이 인상적임, https://www.youtube.com/watch?v=Ce1pMlZO_mI 링크에서 볼 수 있음, 개발자가 유튜브에서 CS 지망생의 질문에 직접 친절하게 답변하는 모습도 보기 좋았음
Tilck이 "교육용"이라고 표시된 것은 확인했지만, 부트로더만 교체한다면 소형 임베디드 기기에서도 쓸만한지 궁금함
Tilck의 README 파일이 예상외로 길고 재미있어서 OS 개발자라면 꼭 읽어볼 만함
Minix와 함께 교육용으로 자라온 나 같은 사람들에게 Tilck이 얼마나 유용할지 궁금함
Tilck 관련한 과거 HN 토론 링크를 공유함:
Tilck이 흥미롭지만 멀티유저 지원이 없는 점이 아쉬움, 최소한 chmod/chgrp 등 파일 소유자와 그룹 변경 정도만 지원하면 NFS 서버 같은 곳에도 활용도가 커질 것 같아서, 멀티유저 지원을 개발자가 다시 고려해줬으면 하는 바람임
Tilck의 파일시스템 호환성이 그보다 더 큰 문제임, 사실 내 용도라면 신뢰성이 검증된 플랫폼이 낫고, Tilck은 교육용에 맞춰져 있어서 정보보안이나 데이터 견고성 측면에서는 적합하지 않음
user:group 값을 파일시스템에 기록만 해두고 런타임에서는 클라이언트를 서비스할 때만 반영하는 방법도 생각 가능함, 예를 들어 리눅스 파일서버가 루트로 동작하면 자체 사용자 변경 없이도 권한 체크와 소유권 관리를 할 수 있음, 또 한 세션마다 포크해서 해당 클라이언트 유저로 전환하면 커널이 강제로 권한을 부여해줘서 파일 권한 처리도 자동으로 해결됨
이 프로젝트는 정말 인상적임, 예전 3.5인치 플로피로 NAT 방화벽용 Linux를 돌리던 시절이 떠오름