Repolode
copy

copy/v86

실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다.

스타
23,609
포크
1,924
열린 이슈
116
마지막 커밋
3일 전

어떤 프로젝트인가요?

v86은 x86 호환 CPU와 VGA 카드, PS/2 키보드 및 마우스, IDE 및 플로피 컨트롤러, PCI 버스, NE2000 및 virtio 네트워크 장치, SoundBlaster 16 사운드 카드 등 여러 PC 하드웨어를 에뮬레이션합니다. 브라우저 탭에서 적절한 성능을 내기 위해 런타임에 기계어를 WebAssembly 모듈로 변환합니다.

이 프로젝트는 오래된 운영체제와 취미로 개발된 운영체제를 브라우저에서 실행하는 데 초점을 둡니다. 프로젝트 문서에는 여러 Linux 배포판, FreeDOS, MS-DOS, Windows 95부터 2000까지, ReactOS, Haiku, FreeBSD 등 작동이 확인된 게스트가 나와 있습니다. Windows XP 및 이후 버전은 일부 조건에서만 작동합니다. 디스크 이미지는 URL에서 불러오며, libv86.js 또는 v86 npm 패키지를 통해 웹 페이지에 에뮬레이터를 삽입할 수 있습니다.

에뮬레이터에는 직렬 콘솔 제어, 상태 저장 및 복원, 인스턴스 간 네트워킹 연결을 위한 JavaScript API가 있습니다. Rust와 Make를 사용해 로컬에서 빌드할 수도 있으며, 디버그 빌드와 최적화 빌드를 지원합니다.

핵심 기능

  • 01대략 Pentium 4급 성능과 SSE3을 지원하는 x86 CPU를 에뮬레이션합니다
  • 02런타임에 기계어를 WebAssembly로 변환합니다
  • 03SVGA 및 Bochs VBE 확장을 지원하는 VGA와 PS/2 키보드 및 마우스를 제공합니다
  • 04virtio, NE2000 및 전화 접속 모뎀 네트워크 옵션을 제공합니다
  • 05에뮬레이터 상태를 저장하고 복원할 수 있습니다
  • 06libv86.js 또는 npm 패키지를 통해 삽입할 수 있습니다

활용 사례

  • 웹 페이지에서 Windows 95나 MS-DOS 같은 레트로 운영체제를 실행합니다
  • PC와 x86 부팅 과정의 작동 방식을 시연하거나 가르칩니다
  • 브라우저 기반 도구에 샌드박스 Linux 또는 DOS 환경을 삽입합니다
  • CPU 에뮬레이션과 WebAssembly 동적 바이너리 변환을 연구합니다

빠른 시작

  1. 1

    npm 패키지를 설치합니다

    npm install v86
  2. 2

    README의 API 예제에 나온 것처럼 V86 생성자를 사용해 에뮬레이터를 웹페이지에 삽입합니다

사용 전 알아둘 점

  • 64비트 게스트 운영체제는 지원되지 않습니다.
  • 멀티코어 에뮬레이션은 지원되지 않습니다.
  • 소스에서 빌드하려면 Rust, clang, Java, Node.js 및 기타 도구가 필요합니다.
  • Plan 9 및 OS/2와 같은 일부 운영체제는 작동하지 않습니다.

토픽

자주 묻는 질문

v86은(는) 무엇인가요?
실제 운영체제를 부팅할 수 있도록 런타임에 기계어를 WebAssembly로 변환해 브라우저에서 실행하는 x86 PC 에뮬레이터입니다. v86은 x86 호환 CPU와 VGA 카드, PS/2 키보드 및 마우스, IDE 및 플로피 컨트롤러, PCI 버스, NE2000 및 virtio 네트워크 장치, SoundBlaster 16 사운드 카드 등 여러 PC 하드웨어를 에뮬레이션합니다. 브라우저 탭에서 적절한 성능을 내기 위해 런타임에 기계어를 WebAssembly 모듈로 변환합니다.
v86은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
v86은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
v86은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. v86의 마지막 커밋은 2026년 10월 18일입니다.
v86은(는) 어디에 사용할 수 있나요?
웹 페이지에서 Windows 95나 MS-DOS 같은 레트로 운영체제를 실행합니다 PC와 x86 부팅 과정의 작동 방식을 시연하거나 가르칩니다 브라우저 기반 도구에 샌드박스 Linux 또는 DOS 환경을 삽입합니다 CPU 에뮬레이션과 WebAssembly 동적 바이너리 변환을 연구합니다
v86는 어떻게 설치하나요?
npm 패키지를 설치합니다: npm install v86 README의 API 예제에 나온 것처럼 V86 생성자를 사용해 에뮬레이터를 웹페이지에 삽입합니다
v86은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/copy/v86

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트