Bochs
"오늘의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 관련 정보]에 관한 문서 | |
|---|---|
| 일반 정보 | |
![]() | |
| 개발 | |
| 개발자 | 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에서 종료되었다.
Bochs는 하드 드라이브, CD 드라이브, 플로피 드라이브를 포함하여 PC 운영 체제에 필요한 하드웨어를 에뮬레이트한다. CPU 가상화 기능을 활용하지 않으므로 대부분의 가상화보다 더 느린 편이다. 게스트 운영 체제를 하드웨어와 완전하게 분리시킴으로써 추가적인 보안을 제공한다. Bochs는 또한 광범위한 디버깅 기능을 제공한다. 코드 테스트를 위해 시스템 재시작을 할 필요가 줄어드므로 운영 체제 개발에 널리 사용된다.
Bochs는 PC 운영 체제에 필요한 하드 드라이브, CD 드라이브, 플로피 드라이브를 포함한 다양한 하드웨어를 에뮬레이트한다. Bochs는 호스트 CPU의 가상화 기능을 사용하지 않기 때문에 대부분의 가상화 소프트웨어보다 느리다. 하지만, 게스트 OS를 하드웨어로부터 완전히 격리하여 추가적인 보안을 제공한다.
3. 특징
"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는 코드 테스트를 위해 시스템을 지속적으로 재시작할 필요가 없기 때문에 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. 그래픽 카드
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 또는 SeaBIOS | ElTorito, 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
