내가 가장 하고 싶은 건 WASM Linux 엔진을 이용해 브라우저 안에서 가상 OS를 직접 돌리며 코딩 에이전트를 실행하는 것임
Claude Code나 Codex CLI처럼 Bash와 Linux 도구를 다룰 줄 아는 에이전트와 연결하면 정말 흥미로울 것 같음
브라우저는 최고의 샌드박스 환경이라 생각함. WebAssembly Linux 위에서 에이전트 루프를 돌릴 수 있다면 멋진 트릭이 될 것임
예전에 v86 데모를 가지고 실험했는데, 아직 에이전트 연결까진 못 갔음. 텍스트 입력창으로 Linux 명령을 보낼 수 있음
나는 에이전트를 별도의 Linux 사용자로 실행함. 자기 홈 디렉터리를 망가뜨릴 수는 있어도 내 건 안전함. 샌드박싱의 핵심이 바로 그거라 생각함
솔직히 요즘은 뭐든 Gen AI 얘기로 귀결되는 게 좀 피곤함
흥미로워서 M1 Mac Mini의 Chrome에서 x86_64, x86, riscv64 환경 각각에 대해 Primes 벤치마크를 돌려봤음
RISC-V가 x86보다 훨씬 에뮬레이션 효율이 좋았음 — 빌드도 빠르고 코드도 작고 실행도 빠름
다만 gcc 버전이 각각 달라서(15.2.0 vs 9.3.0 vs 7.3.0) 완전히 공정한 비교는 아님 참고 코드
실제로는 RISC-V가 빠르다고 단정하긴 어려움. 에뮬레이션 속도는 다른 요인들이 더 크게 작용함
gcc 버전 차이가 커서 비교가 완전히 동일 조건은 아님. 최신 gcc는 레지스터 할당 최적화가 훨씬 좋아졌음
MIPS는 RISC-V보다도 더 에뮬레이션하기 쉬움. 명령어 구조가 단순해서 즉시값 처리가 간단함
오프토픽이지만, Windows 2000 UI를 다시 보니 너무 반가움. 요즘 UI들은 정말 끔찍하다고 느껴짐
그 인터페이스는 집 같은 느낌임
Microsoft의 UI는 그 이후로 계속 하락세였음
win2000은 좋은 추억을 많이 떠올리게 함
근데 이게 JSLinux랑 관련이 있긴 한가 싶음
아쉽게도 64비트 x86 에뮬레이션 레이어 소스 코드나 빌드 설정이 공개되지 않았음
좀 더 오픈소스 버전을 원한다면 container2wasm을 참고할 만함
Hacker News 의견들
내가 가장 하고 싶은 건 WASM Linux 엔진을 이용해 브라우저 안에서 가상 OS를 직접 돌리며 코딩 에이전트를 실행하는 것임
Claude Code나 Codex CLI처럼 Bash와 Linux 도구를 다룰 줄 아는 에이전트와 연결하면 정말 흥미로울 것 같음
브라우저는 최고의 샌드박스 환경이라 생각함. WebAssembly Linux 위에서 에이전트 루프를 돌릴 수 있다면 멋진 트릭이 될 것임
예전에 v86 데모를 가지고 실험했는데, 아직 에이전트 연결까진 못 갔음. 텍스트 입력창으로 Linux 명령을 보낼 수 있음
다만 성능이 좀 부족해서 더 깊게 파보진 않았음
전체 스택 데모는 vitedemo.browserpod.io, 이전 작업은 webvm.io에서 볼 수 있음
흥미로워서 M1 Mac Mini의 Chrome에서 x86_64, x86, riscv64 환경 각각에 대해 Primes 벤치마크를 돌려봤음
RISC-V가 x86보다 훨씬 에뮬레이션 효율이 좋았음 — 빌드도 빠르고 코드도 작고 실행도 빠름
다만 gcc 버전이 각각 달라서(15.2.0 vs 9.3.0 vs 7.3.0) 완전히 공정한 비교는 아님
참고 코드
오프토픽이지만, Windows 2000 UI를 다시 보니 너무 반가움. 요즘 UI들은 정말 끔찍하다고 느껴짐
아쉽게도 64비트 x86 에뮬레이션 레이어 소스 코드나 빌드 설정이 공개되지 않았음
좀 더 오픈소스 버전을 원한다면 container2wasm을 참고할 만함
JSLinux가 여전히 인터프리터인지, 아니면 이제 JIT 컴파일을 하는지 궁금함
혹은 JS 엔진의 JIT이 워낙 좋아져서 그 구분이 의미 없어진 건지도 모르겠음
DNS에 문제가 있는 것 같음. 내가 뭔가 놓친 게 있는지 궁금함
AVX512까지 지원한다니 놀라움. QEMU에도 꼭 추가해보고 싶음
참고로 APX 관련 패치는 여기에 있음
Fabrice Bellard의 작업은 언제나 놀라움
x86_64 지원 덕분에 브라우저에서 최신 Linux 배포판을 돌릴 수 있는 가능성이 열림
지난달에 x86_64 JSLinux에서 TempleOS를 돌릴 수 있도록 수정했음 — ring0.holyc.xyz
내 데모보다 빠르게 돌아감. JIT도 없는데 진짜 마법 같음
Chrome에서 x86_64 Alpine JSLinux 이미지를 4시간 동안 써봤음
git으로 코드 내려받고, 대형 패키지 빌드하고, 테스트까지 돌렸는데 완전히 안정적이었음
네이티브보다 50배 느리지만, 브라우저 안에서 이렇게 견고한 VM이 돌아간다는 게 정말 놀라움