맨위로가기

Bochs

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Bochs는 x86 PC 아키텍처를 에뮬레이션하는 오픈 소스 소프트웨어이다. 하드 드라이브, CD 드라이브, 플로피 드라이브를 포함한 PC 하드웨어를 에뮬레이션하며, 다양한 운영 체제 및 플랫폼에서 실행 가능하다. Bochs는 상용 소프트웨어로 시작되었으나, 2000년 GNU LGPL로 출시되어 자유롭게 사용 및 배포될 수 있게 되었다. CPU 가상화 기능을 사용하지 않아 다른 가상화 방식보다 속도가 느리지만, 디버깅 기능이 뛰어나 운영 체제 개발에 활용된다. Bochs는 CPU, 그래픽 카드, 사운드 카드, 네트워크 카드, 칩셋, USB, BIOS 등 다양한 하드웨어를 에뮬레이션하며, 플레이스테이션 2로도 포팅되었다.

더 읽어볼만한 페이지

  • 자유 에뮬레이션 소프트웨어 - 커널 기반 가상 머신
    커널 기반 가상 머신(KVM)은 리눅스 커널의 가상화 확장 기능으로, CPU와 메모리 가상화를 지원하며 QEMU와 함께 완전한 가상화 솔루션을 구성하고 다양한 관리 도구를 제공한다.
  • 자유 에뮬레이션 소프트웨어 - 버추얼박스
    버추얼박스(VirtualBox)는 오라클이 개발한 가상화 소프트웨어로, 단일 운영 체제 내에서 여러 게스트 운영 체제를 실행할 수 있으며, 핵심 패키지는 자유 소프트웨어로 제공된다.
  • 에뮬레이션 소프트웨어 - 에뮬레이터
    에뮬레이터는 다른 프로그램이나 장치를 모방하는 컴퓨터 프로그램 또는 전자기기의 능력으로, 하드웨어 및 소프트웨어 모방을 포함하며 디지털 아카이빙과 뉴 미디어 아트 분야에서 중요한 역할을 한다.
  • 에뮬레이션 소프트웨어 - 시그윈
    Cygwin은 윈도우에서 유닉스 시스템과 유사한 환경을 제공하는 소프트웨어로, POSIX API 구현 및 다양한 개발 도구를 통해 유닉스 기반 소프트웨어의 개발, 빌드, 실행을 지원한다.
Bochs - [IT 관련 정보]에 관한 문서
일반 정보
Bochs 로고
Bochs
개발
개발자Kevin Lawton
개발 주체커뮤니티 기반; Mandriva 소유
최초 배포1994년
소프트웨어 정보
최신 버전2.8
최신 버전 배포일2024년 3월 10일
프로그래밍 언어C++
운영체제리눅스
BSD (FreeBSD, NetBSD, OpenBSD, Darwin OS, macOS)
Windows
Windows CE 와 그 파생물
OS/2
BeOS
MorphOS
AmigaOS
Android OS
PlayStation 2
플랫폼IA-32
x64
언어영어
장르에뮬레이터
라이선스GNU 약소 일반 공중 사용 허가서
웹사이트Bochs 공식 웹사이트

2. 역사

Bochs는 처음에 25USD 가격의 상용 라이선스를 가진 프로그램으로 시작되었으며, 현 상태 그대로 사용하도록 제공되었다. 다른 소프트웨어와 연결해야 하는 사용자는 특별 라이선스를 협상해야 했다.[1] 2000년 3월 22일, 당시 Mandrakesoft(이후 Mandriva)가 주 개발자인 케빈 로튼(Kevin Lawton)으로부터 Bochs를 구매하여 GNU LGPL에 따라 리눅스용으로 배포하면서 상황이 바뀌었다.[1][8] 윈도우 XP에서의 지원은 버전 2.6.10에서 종료되었다.

3. 특징

Bochs는 하드 드라이브, CD 드라이브, 플로피 드라이브를 포함하여 PC 운영 체제에 필요한 하드웨어를 에뮬레이트한다. CPU 가상화 기능을 활용하지 않으므로 대부분의 가상화보다 더 느린 편이다. 게스트 운영 체제를 하드웨어와 완전하게 분리시킴으로써 추가적인 보안을 제공한다. Bochs는 또한 광범위한 디버깅 기능을 제공한다. 코드 테스트를 위해 시스템 재시작을 할 필요가 줄어드므로 운영 체제 개발에 널리 사용된다.

"Graphical Debugger Interface for the Bochs PC Emulator"로 기술되는 BFE는 Bochs PC 에뮬레이터 내의 디버거를 위한 그래픽 인터페이스로서, 명령 단위, 레지스터 레벨로 단계별로 소프트웨어를 디버그할 수 있게 해주며 이는 마치 볼랜드의 터보 디버거와 유사하다.[10]

BIOS 등을 제외한 대부분은 표준 C++(C++)로 구현되어 있어 이식성이 뛰어나다. x86 프로세서의 명령 실행을 에뮬레이트하기 위해, x86 이외의 컴퓨터에서도 PC/AT 호환기 에뮬레이션을 실현할 수 있다. 따라서 리눅스(Linux), FreeBSD, macOS, Windows용 등 x86 환경을 포함한 다양한 플랫폼용 버전이 존재한다.

QEMU도 유사한 에뮬레이션 기법을 채택하고 있으며, 둘 다 실행 환경 및 에뮬레이션 대상을 유연하게 선택할 수 있기 때문에 OS 개발 및 동작 테스트에 유용하다. 그에 반해, VMware나 Xen 등 사용자 모드 명령을 그대로 프로세서에 실행시키는 방식에 비해 실행 속도가 느리므로, 가상 머신 환경을 서비스로 이용하기에는 적합하지 않다.

4. 에뮬레이트하는 하드웨어

Bochs는 PC 운영 체제에 필요한 하드 드라이브, CD 드라이브, 플로피 드라이브를 포함한 다양한 하드웨어를 에뮬레이트한다. Bochs는 호스트 CPU의 가상화 기능을 사용하지 않기 때문에 대부분의 가상화 소프트웨어보다 느리다. 하지만, 게스트 OS를 하드웨어로부터 완전히 격리하여 추가적인 보안을 제공한다.

Bochs는 코드 테스트를 위해 시스템을 지속적으로 재시작할 필요가 없기 때문에 OS 개발에 널리 사용된다. "Bochs PC 에뮬레이터용 그래픽 디버거 인터페이스"로 설명되는 BFE는 Bochs PC 에뮬레이터 내의 디버거를 위한 그래픽 인터페이스로, 터보 디버거와 마찬가지로 명령 및 레지스터 수준에서 소프트웨어를 단계별로 디버깅할 수 있게 해준다.[5]

Bochs가 에뮬레이트하는 기타 하드웨어는 다음과 같다.

유형장치
하드 디스크 드라이브IDE
CD-ROM/DVD-ROM 드라이브ATAPI
플로피 디스크 드라이브


4. 1. CPU

표준 구성에서, Bochs는 인텔 펜티엄 III 상당의 유니프로세서를 에뮬레이트한다. 컴파일 옵션을 변경하면, 386, 486, 펜티엄, 펜티엄 II, 또는 펜티엄 4 프로세서나, 최대 8개의 프로세서를 갖춘 멀티프로세서 환경을 에뮬레이트할 수 있다.[10]

4. 2. 그래픽 카드

유형장치
그래픽 카드시러스 로직 CL-GD5430 ISA
시러스 로직 CL-GD5446 PCI
3dfx 인터랙티브 Voodoo Banshee / Voodoo3


4. 3. 사운드 카드

사운드 블라스터 16 (ISA, 플러그 앤 플레이 지원 안 함)을 에뮬레이트한다.[11]

4. 4. 네트워크 카드

NE2000 이더넷 네트워크 카드 또는 인텔(R) 82540EM 기가비트 이더넷 어댑터(PCI)를 에뮬레이트한다.[6][7][11]

4. 5. 칩셋

Bochs는 인텔 440FX PCI 칩셋을 에뮬레이트한다. 여기에는 호스트 투 PCI 브리지 (PMC/DBX), PCI 투 ISA 브리지, PCI IDE 컨트롤러 (PIIX3)가 포함되며, PCI 카드를 위한 5개의 PCI 슬롯이 있다.[10]

4. 6. USB

USB 루트 허브 및 장치 마우스 (선택 사항), 태블릿, 키패드 (기본값), 디스크를 지원한다.[10]

4. 7. BIOS

Bochs는 ElTorito, EDD v3.0, APM, PCIBIOS, PCI 인터럽트 라우팅 테이블 등 강화된 BIOS 기능을 제공한다. ACPI, SMM, SMP를 위한 32비트 초기화도 지원한다.[11]

4. 8. 기타 하드웨어

Bochs는 하드 드라이브, CD 드라이브, 플로피 드라이브 등 PC 운영 체제에 필요한 다양한 하드웨어를 에뮬레이트한다. CPU 가상화 기능을 사용하지 않아 대부분의 가상화보다 속도가 느리지만, 게스트 운영 체제를 하드웨어와 완전히 분리하여 보안을 강화한다. 또한, Bochs는 코드 테스트 시 시스템 재시작을 줄여 운영 체제 개발에 유용하게 사용되는 디버깅 기능을 제공한다.

BFE는 Bochs PC 에뮬레이터의 디버거를 위한 그래픽 인터페이스로, 터보 디버거와 유사하게 명령 단위, 레지스터 레벨에서 소프트웨어를 단계별로 디버그할 수 있게 해준다.[10]

Bochs에서 에뮬레이트하는 기타 하드웨어는 다음과 같다.

유형장치
그래픽 카드시러스 로직 CL-GD5430 ISA
시러스 로직 CL-GD5446 PCI
3dfx 인터랙티브 Voodoo Banshee / Voodoo3
사운드 카드사운드 블라스터 16 (ISA, 플러그 앤 플레이 미지원), ES1370 (PCI), 기본 사운드 장치
네트워크 카드NE2000 (ISA/PCI) 이더넷 또는 Intel(R) 82540EM 기가비트 이더넷 어댑터 (PCI)[6]
칩셋인텔 430FX PCI, 인텔 440FX PCI 및 인텔 440BX AGP 노스브리지, PIIX3 및 PIIX4 사우스브리지 (PCI 카드용 5개의 PCI 슬롯)
USB루트 허브 및 장치 마우스 (선택 사항), 태블릿, 키패드 (기본값), 디스크
SMP최대 8개의 CPU 시뮬레이션
향상된 BIOS 또는 SeaBIOSElTorito, EDD, APM, PCIBIOS, PCI 인터럽트 라우팅 테이블, PnP, ACPI, SMM, MPS 및 VBE


5. 플레이스테이션 2 포트

KarasQ가 Bochs를 플레이스테이션 2로 포팅하였다.[1]

참조

[1] 웹사이트 MandrakeSoft buys Bochs for Linux and commits it to Open Source https://lwn.net/2000[...] 2000-03-23
[2] Webarchive Thinking inside and outside the Bochs with Kevin Lawton https://www.zdnet.co[...] 2011-08-25
[3] Webarchive Bochs was written by Kevin Lawton starting in 1994. https://bochs.source[...]
[4] 웹사이트 Features https://bochs.source[...] 2016-10-20
[5] 웹사이트 BFE : about http://bfe.sourcefor[...] 2016-12-27
[6] 웹사이트 Bochs User Manual - Features https://bochs.source[...] 2016-04-06
[7] 웹사이트 Bochs User Manual - Features https://bochs.source[...] 2016-04-06
[8] 웹인용 MandrakeSoft buys Bochs for Linux and commits it to Open Source https://lwn.net/2000[...] 2000-03-23
[9] 뉴스 Thinking inside and outside the Bochs with Kevin Lawton http://www.zdnet.com[...] 2011-08-25
[10] 웹인용 BFE : about http://bfe.sourcefor[...] 2016-12-27
[11] 웹인용 Features http://bochs.sourcef[...] 090427 bochs.sourceforge.net



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com