bochs用户手册-1简介

原文链接

1、 Introduction to BochsBochs简介

1.1.什么是Bochs?

Bochs is a program that simulates a complete Intel x86 computer. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Bochs interprets every instruction from power-up to reboot, and has device models for all of the standard PC peripherals: keyboard, mouse, VGA card/monitor, disks, timer chips, network card, etc. Because Bochs simulates the whole PC environment, the software running in the simulation “believes” it is running on a real machine. This approach allows Bochs to run a wide variety of software with no modification, include most popular x86 operating systems: Windows 95/98/NT/2000/XP and Vista, all Linux flavors, all BSD flavors, and more.

\qquad Bochs是一个模拟完整的英特尔x86计算机的程序。它包括Intel x86 CPU的仿真、常见I/O设备和自定义BIOS。Bochs可以被编译来模拟许多不同的x86 CPU,从早期的386到最新的x86-64 Intel和AMD处理器,这些处理器甚至可能还没有进入市场。Bochs解释从通电到重新启动的每一条指令,并为所有标准PC外围设备提供了设备型号:键盘、鼠标、VGA卡/显示器、磁盘、定时器芯片、网卡等。因为Bochs模拟整个PC环境,所以在模拟中运行的软件“相信”它是在真实的机器上运行的。这种方法允许Bochs在不进行修改的情况下运行各种各样的软件,包括最流行的x86操作系统:Windows 95/98/NT/2000/XP和Vista,所有Linux版本,所有BSD版本,等等。


Bochs is written in the C++ programming language, and is designed to run on many different host platforms[1], including x86, PPC, Alpha, Sun, and MIPS. No matter what the host platform is, Bochs still simulates x86 hardware. In other words, it does not depend on the native instructions of the host machine at all. This is both a strength and a weakness, and it’s the major difference between Bochs and many other x86 emulation software such as VirtualBox, VMware, etc. Because Bochs uses software simulation for every single x86 instruction, it can simulate a Windows application on an Alpha or Sun workstation. However, the downside of Bochs’ approach is simulation performance. To model the processor accurately, Bochs must run many instructions for every simulated x86 instruction, and this makes the simulated machine many times slower than the physical machine. Commercial PC emulators (VMware, Connectix, etc.) can achieve much high emulation speed using a technique called virtualization[2], but they are neither portable to non-x86 platforms nor open source.

\qquad Bochs是用C++编程语言编写的,设计用于在许多不同的主机平台[1]上运行,包括x86、PPC、Alpha、Sun和MIPS。无论主机平台是什么,Bochs仍然模拟x86硬件。换句话说,它根本不依赖于主机的本机指令。这既是优势也是劣势,也是Bochs与许多其他x86仿真软件(如VirtualBox、VMware等)之间的主要区别。因为Bochs对每一条x86指令都使用软件模拟,所以它可以在Alpha或Sun工作站上模拟Windows应用程序。然而,Bochs方法的缺点是模拟性能。为了准确地对处理器建模,Bochs必须为每个模拟的x86指令运行许多指令,这使得模拟机器比物理机器慢很多倍。商用PC模拟器(VMware、Connectix等)可以使用一种名为虚拟化的技术实现高得多的模拟速度[2],但它们既不能移植到非x86平台,也不能开源。


To do anything interesting in the simulated machine, Bochs needs to interact with the operating system on the host platform (the host OS). When you press a key in the Bochs display window, a key event goes into the device model for the keyboard. When the simulated machine needs to read from the simulated hard disk, Bochs reads from a disk image file on the host machine. When the simulated machine sends a network packet to the local network, Bochs uses the host platform’s network card to send the packet out into the real world. These interactions between Bochs and the host operating system can be complicated, and in some cases they are host platform specific. Sending a network packet in FreeBSD requires different code than sending the packet in Windows XP, for example. For this reason, certain features are supported on some host platforms and not others. On GNU/Linux, Bochs can simulate a network card that communicates with the world, but on MacOSX the simulated network card may not work because the communication code between the device model and the MacOSX operating system has not been written.

\qquad 为了在模拟机器中做任何有趣的事情,Bochs需要与主机平台上的操作系统(主机操作系统)进行交互。当您按下Bochs显示窗口中的某个键时,键事件会进入键盘的设备型号。当模拟机器需要从模拟硬盘读取时,Bochs会从主机上的磁盘映像文件中读取。当模拟机器向本地网络发送网络数据包时,Bochs使用主机平台的网卡将数据包发送到现实世界。Bochs和主机操作系统之间的这些交互可能很复杂,在某些情况下,它们是特定于主机平台的。例如,在FreeBSD中发送网络数据包需要与在WindowsXP中发送数据包不同的代码。因此,某些主机平台支持某些功能,而其他主机平台则不支持。在GNU/Linux上,Bochs可以模拟与世界通信的网卡,但在MacOSX上,模拟的网卡可能无法工作,因为设备型号和MacOSX操作系统之间的通信代码尚未编写。


Bochs was written by Kevin Lawton starting in 1994. It started as a program with a commercial license, at the price of 25 USD, for use as-is. If a user needed to link it to other software, that user would have to negotiate a special license. [3] Finally, in March 2000, MandrakeSoft (2005 to 2015 called Mandriva) bought Bochs and made it open source under the GNU LGPL. In March 2001, Kevin helped a few developers to move all Bochs activities from bochs.com to a new site at http://bochs.sourceforge.net. Since then the Bochs project has settled into its new home, and around release times has even hit #1 most active project of the week at SourceForge.

\qquad 《Bochs》由凯文·劳顿于1994年开始创作。它最初是一个拥有商业许可证的程序,价格为25美元,可按原样使用。如果用户需要将其链接到其他软件,则该用户必须协商一个特殊的许可证。[3] 最后,在2000年3月,MandrakeSoft(2005年至2015年称为Mandriva)收购了Bochs,并在GNULGPL下将其开源。2001年3月,Kevin帮助一些开发商将Bochs的所有活动从Bochs.com转移到了一个新的网站http://bochs.sourceforge.net.从那时起,Bochs项目就进入了它的新家,大约在发布时间,它甚至成为SourceForge本周最活跃的项目之一。

1.2. Who uses Bochs?谁使用Bochs?

It is hard to estimate how many people have tried Bochs or use it on a regular basis, but a few statistics give an indication. The bochs-developers mailing list, which is the primary source of news on bugs and releases, has over 400 subscribers. The latest version has been downloaded over 150,000 times from SourceForge, not counting any mirror website or SVN users.

\qquad 很难估计有多少人尝试过Bochs或定期使用它,但一些统计数据表明了这一点。bochs开发者邮件列表是关于bug和发布的主要新闻来源,拥有400多名订阅者。最新版本已从SourceForge下载超过150000次,这还不包括任何镜像网站或SVN用户。


Bochs has many possible uses, and different people use it for different things. Many people use it to run applications in a second operating system without needing two different computers or dual-booting. Running Windows software on a non-x86 workstation or on an x86 Unix box are common uses. Also, because every hardware instruction and every line of simulator code is accessible, Bochs is used extensively for debugging new operating systems. If you were writing boot code for your home-brewed x86 operating system and it didn’t work right, booting it in Bochs could give you great visibility into what is really going on. The Bochs debugger lets you simulate quickly or slowly, pausing whenever you want to look at the contents of memory or the CPU registers. Or, if you wanted to study which parts of a program take the most time, you could use Bochs to measure how often certain pieces of the code were executed.

\qquad Bochs有很多可能的用途,不同的人用它做不同的事情。许多人使用它在第二个操作系统中运行应用程序,而不需要两台不同的计算机或双重启动。在非x86工作站或x86 Unix机箱上运行Windows软件是常见的用途。此外,由于每一条硬件指令和每一行模拟器代码都是可访问的,因此Bochs被广泛用于调试新的操作系统。如果你正在为自制的x86操作系统编写启动代码,但它运行不正常,那么在Bochs中启动它可以让你很好地了解实际情况。Bochs调试器可以让你快速或缓慢地进行模拟,每当你想查看内存或CPU寄存器的内容时都会暂停。或者,如果您想研究程序的哪些部分花费的时间最多,可以使用Bochs来衡量某些代码的执行频率。


Bochs has been used as a teaching tool in Operating Systems classes, in which students used and modified it to learn how the PC hardware works. As a final project the students had to add a new peripheral device, so they had to learn all about I/O ports, interrupts, and device drivers. In industry, it is used to support legacy applications on modern hardware, and as a reference model when testing new x86-compatible hardware.

\qquad Bochs已被用作操作系统课程的教学工具,学生们在课堂上使用和修改它来学习PC硬件的工作原理。作为最后一个项目,学生们必须添加一个新的外围设备,因此他们必须学习I/O端口、中断和设备驱动程序的所有知识。在工业上,它用于支持现代硬件上的遗留应用程序,并在测试新的x86兼容硬件时作为参考模型。


There may be as many uses of Bochs as there are users. Do you want to run your old DOS games? Or learn how to program under GNU/Linux, without leaving your Windows desktop? Or reverse engineer your printer driver? You decide.

\qquad Bochs的用途可能和用户的数量一样多。你想运行你以前的DOS游戏吗?或者学习如何在GNU/Linux下编程,而不离开您的Windows桌面?或者对你的打印机驱动程序进行逆向工程?你决定。


1.3. Is Bochs right for me?Bochs适合我吗?

Bochs is very useful for some applications, and not well suited to others. This section tries to answer the question, “Is Bochs right for me?”

\qquad Bochs对于某些应用非常有用,而对于其他应用则不太适用。本节试图回答这样一个问题:“Bochs适合我吗?”


Bochs may or may not be right for you, depending on what it is you want to do. Perhaps all you want to do is run one or two applications native to Microsoft Windows on GNU/Linux, or vice-versa. Perhaps your biggest concern is speed and performance. Maybe you don’t mind tweaking a few files here and there when you want another application to work in that setting. In cases where the objective is to simulate x86 hardware on an x86, VirtualBox, Wine, and VMware might be your best options.

\qquad Bochs可能适合你,也可能不适合你,这取决于你想做什么。也许你只想在GNU/Linux上运行一两个Microsoft Windows本机应用程序,反之亦然。也许你最关心的是速度和性能。当你想让另一个应用程序在这种设置下工作时,也许你不介意在这里或那里调整一些文件。如果目标是在x86上模拟x86硬件,那么VirtualBox、Wine和VMware可能是您的最佳选择。


On the other hand, perhaps you have a vital application running on an older operating system that only runs well on old hardware. You are concerned that the life cycle of this hardware is coming to an end, and your backup and restoration hardware and tools no longer suffice for the amount of data that you have. You need to transfer backup disk images over a network, and want to use modern procedures for hardware maintenance. Perhaps the application is important enough to run on a larger computer, such as a 64-bit machine, or even a mainframe. Bochs would be an excellent option in such a scenario.

\qquad 另一方面,也许您有一个重要的应用程序在旧的操作系统上运行,而该操作系统只能在旧的硬件上运行良好。您担心此硬件的生命周期即将结束,您的备份和恢复硬件及工具不再足以满足您所拥有的数据量。您需要通过网络传输备份磁盘映像,并希望使用现代程序进行硬件维护。也许应用程序足够重要,可以在更大的计算机上运行,例如64位机器,甚至大型机。在这种情况下,Bochs将是一个很好的选择。


Perhaps your objective is to debug software or hardware drivers. Bochs offers a controlled environment that can better assist you in determining cause and effect relationships. You can take snapshots that show you what is going on behind the scenes. You can isolate the line that caused that crash. You can have multiple images and compare them under a microscope. In these situation, Bochs could save you time and resources.

\qquad 也许您的目标是调试软件或硬件驱动程序。Bochs提供了一个可控的环境,可以更好地帮助您确定因果关系。您可以拍摄快照,向您展示幕后发生的事情。您可以隔离导致崩溃的线路。你可以有多个图像,并在显微镜下进行比较。在这种情况下,Bochs可以为您节省时间和资源。


Information Technology changes faster than any other field. It is very easy to forget transitional software that came and went. But history is important to all fields, and to build on the future, it is important to understand the past. Computer programmers, however, do not have the same advantage as an architect, who can, for example, take a trip to Greece and touch a pillar. Much of the history of Computer Science is left on corroding floppies and malfunctioning hardware. Bochs gives you the benefit of having one or more complete environments where you can understand firsthand the behavior of operating systems and programs. This cannot be achieved with an “emulator” such as Wine.

\qquad 信息技术的变化比任何其他领域都快。人们很容易忘记来来往往的过渡软件。但历史对所有领域都很重要,要在未来的基础上发展,了解过去很重要。然而,计算机程序员没有建筑师那样的优势,例如,建筑师可以去希腊旅行,触摸一根柱子。计算机科学的大部分历史都是由腐蚀的浮萍和故障的硬件留下的。Bochs为您提供了一个或多个完整的环境,让您可以直接了解操作系统和程序的行为。这是用Wine这样的“模拟器”无法实现的。


1.4. Will it work for me?这对我有用吗?

Whether Bochs works for you depends on your host hardware, host operating system, guest operating system, guest software, and your ability to work in a command-line environment using documentation. There is no wizard to help you through the setup process. You do not get a recovery or installation disk to assist you in the process of installing a guest operating system. Bochs only provides you with the “virtual hardware”, and it is up to you to do the rest.

\qquad Bochs是否适合您取决于您的主机硬件、主机操作系统、来宾操作系统、访客软件,以及您使用文档在命令行环境中工作的能力。没有向导可以帮助您完成安装过程。您没有恢复或安装磁盘来帮助您安装来宾操作系统。Bochs只为您提供“虚拟硬件”,其余的由您来完成。


Bochs will run on Windows, GNU/Linux, FreeBSD, OpenBSD, or MacOSX. If you are running on x86 hardware, you have a range of choices. Check the installation section for your host platform to see what options Bochs supports on your platform. If the most important factor is speed, you may want to try a virtualization product instead of Bochs (VMware, VirtualBox, QEMU).

\qquad Bochs将在Windows、GNU/Linux、FreeBSD、OpenBSD或MacOSX上运行。如果您在x86硬件上运行,那么您有一系列的选择。查看主机平台的安装部分,了解Bochs在您的平台上支持哪些选项。如果最重要的因素是速度,那么您可能希望尝试虚拟化产品(VMware、VirtualBox、QEMU),而不是Bochs。


If you are using a non-x86 machine, then Bochs is one of the few choices for running x86 software. Bochs has been known to work on Solaris (Sparc), GNU/Linux (PowerPC/Alpha), MacOS (PowerPC), IRIX (MIPS), Digital Unix (Alpha), and AIX (PowerPC).

\qquad 如果您使用的是非x86机器,那么Bochs是运行x86软件的少数选择之一。众所周知,Bochs可以在Solaris(Sparc)、GNU/Linux(PowerPC/Alpha)、MacOS(PowerPC)、IRIX(MIPS)、Digital Unix(Alpha)和AIX(PowerPC)。


You can also find more detailed testing information on the testing status page on the Bochs web site.

\qquad 您也可以在Bochs网站的测试状态页面上找到更详细的测试信息。


1.5. Bochs License Bochs许可证

Bochs is copyrighted by “The Bochs Project” team and distributed under the GNU Lesser General Public License[1]. The following text appears at the top of every source code file released under the LGPL in the Bochs distribution: [2]

\qquad Bochs的版权归“Bochs项目”团队所有,并根据GNU宽松通用公共许可证[1]进行分发。以下文本出现在Bochs发行版LGPL下发布的每个源代码文件的顶部:[2]
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA


1.6. Third Party Software Licensing and Temporary Files 第三方软件许可和临时文件

Before you install or use any Operating System, BIOS, or other software package within the Bochs PC emulation environment, make sure you are and will be in compliance with all the software licenses pertaining to the software you wish to install. It is completely your responsibility to provide licenses and records on all software that you install and/or use. It is also completely your responsibility to maintain total compliance with all software licenses involved.

\qquad 在Bochs PC仿真环境中安装或使用任何操作系统、BIOS或其他软件包之前,请确保您现在和将来都遵守与要安装的软件相关的所有软件许可证。您完全有责任提供您安装和/或使用的所有软件的许可证和记录。您还完全有责任维护对所有相关软件许可证的完全遵守。


In the process of installing Software within the Bochs PC emulation environment, it may be helpful or necessary to copy or convert files from the original distribution format to a second format to facilitate the installation. You should delete the intermediate files after installation, making certain that only the original distribution files remain.

\qquad 在Bochs PC仿真环境中安装软件的过程中,将文件从原始分发格式复制或转换为第二种格式可能会有所帮助或必要,以便于安装。您应该在安装后删除中间文件,确保只保留原始分发文件。


1.7. Features 特点

下表显示了Bochs的功能以及它们当前使用的平台。

表1-1 Bochs功能

特点支持?描述
configure scriptYesBochs使用GNU autoconf来配置Makefile和头文件。Autoconf帮助Bochs在各种各样的平台上进行编译。
386,486,Pentium EmulationYesBochs可以配置为模拟几个Intel硬件系列中的一个。奔腾的某些功能不完整,例如SMM(系统管理模式)。
P6 and later CPU EmulationYesBochs可以配置为仿真任何P6系列处理器,包括可选的MMX和SSEx指令。
x86-64 Extensions EmulationYes可以将Bochs配置为使用许多最新的Intel和AMD扩展来仿真x86-64。
Command Line DebuggerYes功能强大的命令行调试器(可选),允许您停止执行并检查寄存器和内存、设置断点等。
GUI DebuggerYesChourdakis Michael和Bruce Ewing为Bochs内部调试器贡献了非常强大的GUI前端。Win32和GTK2/GTK3主机支持GUI调试器前端。
Floating PointYes使用基于SoftFloat浮点仿真库的软件浮点引擎。
Enhanced BIOSYes实现ElTorito、EDD v3.0、基本APM功能、PCIBIOS功能和PCI中断路由表。最新版本的Bochs BIOS有一个用于ACPI、SMM和SMP的32位init。Bochs也可以使用最近的SeaBIOS映像。
VGAYes在窗口中模拟VGA彩色图形。
VBE (VESA) SupportYes目前支持高达2560x1600x32pp的分辨率。您必须使用VGA扩展选项启用VBE,并使用LGPL的VGABIOS。有关更多信息,请参见第9.18节。
Cirrus Logic video cardYesCirrus LogicCL-GD5430ISA或CL-GD5446PCI视频卡支持。有关更多信息,请参见第9.19节。
3D video cardYes现在支持一些3dfx Voodoo图形适配器型号。该代码仍处于实验阶段,但至少已知Voodoo1和Voodoo Banshee PCI可以工作。有关更多信息,请参见第9.20节。
Plug&play monitorYes所有兼容VGA的显示适配器现在都支持VESA DDC。LGPL的VGABIOS已经更新,将此功能用于Bochs VBE、Voodoo Banshee和Cirrus版本。该界面报告一个名为“Bochs Screen”的即插即用显示器。
Floppy diskYes支持所有平台上的软盘映像:2.88M 3.5“、1.44M 3.5”、1.2M 5.25“、720K 3.5”和360K 5.25“。在Unix和Windows NT/2000/XP上,Bochs可以访问物理软盘驱动器。也可以使用本地目录作为VFAT介质(仅1.44M)。
Multiple ATA channelsYes模拟最多4个ATA通道。最多可以连接8个ATA/ATAPI模拟设备,每个ATA通道两个。所以你可以有八个硬盘或七个硬盘和一个CD-ROM或四个硬盘和四个CD-ROM,或一个硬盘和七个CD-ROM,等等。。。
Hard diskYes通过图像文件模拟ATA-6/IDE硬盘。某些体系结构支持物理硬盘访问,但不建议访问,主要是出于安全原因。通过LBA48支持,在任何支持大文件访问的平台上都支持高达255TB的硬盘。也可以使用本地目录作为VFAT驱动器。
CD-ROMYes模拟ATAPI-4/IDE CD-ROM。CD-ROM可以从任何平台上的ISO磁盘映像中读取。在Windows(NT/2000/XP/Vista)、Linux、SunOS、FreeBSD、NetBSD、OpenBSD、Amiga/MorphOS和MacOSX上,Bochs可以从物理CD-ROM驱动器中读取。Bochs BIOS支持从第一个CD-ROM驱动器启动。
KeyboardYes模拟具有北美键映射的PS/2键盘。提供可选键盘布局重映射文件,以支持X11(12种布局,例如法语、德语、意大利语、俄语、西班牙语、英国)和SDL/SDL2(德语)中的本地化键盘。
MouseYes模拟串行、PS/2、总线或USB鼠标,带有3个按钮+可选的鼠标滚轮支持。还有一个USB平板电脑模拟可用。
Sound cardYes模拟Sound Blaster 16卡(ISA,无即插即用)或ES1370 PCI卡。SB16仿真提供波形输入/输出、OPL3芯片、外部MIDI端口以及波形和FM的音量控制。ES1370提供波形输入和输出、MIDI UART端口以及波形输出的音量控制。在Windows、Linux、FreeBSD、MacOS9、MacOSX和SDL支持的所有平台上,输出可以发送到主机的音响系统。有关SB16的详细信息,请参阅开发人员文档。
Network cardYes模拟NE2000兼容网卡(ISA/PCI)或Intel(R)82540EM千兆以太网适配器(PCI)。在Windows NT/2000、Linux、FreeBSD和NetBSD上,Bochs会将数据包转发到操作系统和从操作系统转发数据包,以便来宾操作系统可以在物理网络上进行通信。不幸的是,在某些平台上,来宾操作系统可以与网络上的任何机器进行通信,但不能与主机进行通信。在Windows和允许TAP或TUN/TAP接口的系统上,没有这样的限制。通常,主机可以被配置为使得客户操作系统可以访问互联网。在MacOSX上,您可以从以下位置下载TUN驱动程序:http://chrisp.de/en/projects/tunnel.html
Parallel PortYesVolker Ruppert为Bochs 1.3添加了并行端口仿真。客户操作系统发送到并行端口的数据可以保存到文件中,也可以直接发送到并行口设备中(仅限于Unix)。
Serial PortYes串行端口(16550A UART仿真)可用,在GNU/Linux、NetBSD、OpenBSD、FreeBSD和MacOSX上作为主机和来宾。在其他操作系统上,存在仿真,但尚未实现与主机的硬件或软件的连接。最多可提供4个端口。
GameportYes模拟标准PC游戏端口。目前只有Linux和win32支持连接到真正的游戏杆。
PCIYes模拟大部分i430FX、i440FX或i440BX PCI芯片组。主机到PCI桥接器、PCI到ISA桥接器和PCI IDE控制器(PIIX3/PIIX4)可用。对于PCI卡,支持5个PCI插槽。还提供ACPI和HPET功能。i440BX芯片组基本支持AGP。
USBYes四种类型的主机控制器(UHCI、OHCI、EHCI和xHCI)和设备“鼠标”、“平板电脑”、“键盘”、“磁盘”、“光盘”、“软盘”、“集线器”和“打印机”可用。可以在运行时插入和移除设备。尚未实现对真实硬件的访问。
PluginsYes在Linux、MacOS X、Solaris、Cygwin、MinGW/MSYS、MSVC nmake和VS2019 IDE(提供工作空间)上支持将设备、gui和驱动程序编译为网络、声音和磁盘图像格式的插件。
PICYes主和从可编程中断控制器。
CMOS functionsYes有实时时钟(RTC)和CMOS RAM可用
Dynamic Translation/VirtualizationNo因为Bochs被设计为可移植的,所以它不尝试进行任何动态代码翻译或虚拟化。详见第1.1节。
Simulate a MultiprocessorYesBochs可以配置为模拟多达254个处理器线程。这个功能仍然是实验性的,但它可以引导几个支持SMP的Linux或Windows来宾。请注意,这并不意味着Bochs可以在物理SMP机器上运行得更快。
利用您的SMP盒Minimal目前,Bochs仅在某些GUI中使用线程,在低级别声音输出代码和Voodoo图形适配器代码中使用线程。模拟核心本身只使用一个线程,因此它在多处理器硬件上不会运行得更快。
Copy and PasteYes根据主机平台的不同,文本模式屏幕文本可以导出到剪贴板。剪贴板中的文本也可以通过Bochs粘贴到来宾操作系统,作为模拟按键。

1.8. Supported Platforms 支持的平台

The following table shows the supported platforms with a small description and the available display libraries on these platforms. The display library is the code that displays the Bochs VGA screen and handles keyboard and mouse events.

\qquad 下表显示了受支持的平台以及这些平台上可用的显示库。显示库是显示Bochs VGA屏幕并处理键盘和鼠标事件的代码。
表1-2 支持的平台

Platform DescriptionDisplay Libraries
Unix/X11Xwindows一直受到很好的支持,因为它是Kevin Lawton的主要开发平台。Bryce Denney现在维护Unix/X11平台。大多数功能和修复程序(并非全部)首先在Unix中尝试,然后移植到其他系统;有关编译说明,请参见第3.4节。x、sdl、sdl2、wx、term、rfb、vncsrv
Win32这个端口由David Ross完成,现在由Don Becker维护。您可以使用Microsoft Visual C++进行编译,有关编译说明,请参阅第3.4.4节;或者Cygwin,请参阅“第3.4.5节”。win32、sdl、sdl2、wx、rfb
MacOS XEmmanuel Mailliard使用Carbon API将Macintosh代码移植到MacOS X。Jeremy Parsons(Br’fin)自2002年3月以来一直在维护MacOS X港口;有关编译说明,请参见第3.4.7节。carbon、x、rfb、sdl、sdl2
PowerPC-MacintoshDavid Batterham将Bochs移植到Mac。他使用CodeWarrior Pro R1(CW12)进行编译,但自2000年初以来就没有时间维护Mac端口。如果你有Mac开发工具并想贡献力量,请联系bochs开发者邮件列表;有关编译说明,请参阅第3.4.6节。macOS
Amiga/MorphOS此端口由Nicholai Benalal编写和维护,有关编译说明,请参阅第3.4.8节。

1.9. FAQ

1.9.1.Bochs是开源的吗?

Yes! Bochs is released under the GNU LGPL.

对Bochs是根据GNU LGPL发布的。

1.9.2.“Bochs”怎么发音?

Phonetically the same as the English word “box”. It’s just a play on the word “box”, since techies like to call their machines a “Linux box”, “Windows box”, … Bochs emulates a box inside a box.

\qquad 语音上与英语单词“box”相同。这只是一个“盒子”这个词的游戏,因为技术人员喜欢把他们的机器称为“Linux盒子”、“Windows盒子”。。。Bochs在盒子里模仿盒子。

1.9.3.谁是Bochs作者?

Kevin Lawton is the primary author of Bochs. There have been bug fixes, enhancements, and code contributions from some few hundred people, so it is not possible to list them all. Later, Kevin had been working on a PC virtualization project called plex86. In Fall 2002, he made contributed some major CPU speedups and helped with integration and debugging of the x86-64 emulation code.

\qquad 凯文·劳顿是《Bochs》的主要作者。已经有几百人对错误进行了修复、增强和代码贡献,所以不可能全部列出。后来,Kevin一直致力于一个名为plex86的PC虚拟化项目。2002年秋季,他贡献了一些主要的CPU加速,并帮助x86-64仿真代码的集成和调试。

1.9.4.现在谁维护Bochs?

With Kevin’s help, in April 2001, the members of the bochs-developers mailing list set up a new official Bochs site hosted by Source Forge. The admins on this project are Greg Alexander, Don Becker, Christophe Bothamy, Bryce Denney, Volker Ruppert and Stanislav Shwartsman.

\qquad 在Kevin的帮助下,2001年4月,bochs开发者邮件列表的成员建立了一个新的官方bochs网站,由Source Forge托管。该项目的管理员是Greg Alexander、Don Becker、Christophe Bothamy、Bryce Denney、Volker Ruppert和Stanislav Shwartsman。

1.9.5.告诉我运行Bochs时的性能。

Because Bochs emulates every x86 instruction and all the devices in a PC system, it does not reach high emulation speeds. Users who have an x86 processor and want the highest emulation speeds may want to consider PC virtualization software such as Vmware or VirtualBox (free software). Another related project is QEMU.

\qquad 因为Bochs模拟PC系统中的每一条x86指令和所有设备,所以它不能达到很高的模拟速度。拥有x86处理器并希望获得最高仿真速度的用户可能会考虑使用PC虚拟化软件,如Vmware或VirtualBox(免费软件)。另一个相关项目是QEMU。

1.9.6.Bochs是否使用磁盘分区来安装操作系统?

No. It uses a disk image file, which is simply a large file, like any other file, on your platform’s disk.

\qquad 不可以。它使用磁盘映像文件,这只是平台磁盘上的一个大文件,与其他任何文件一样。

1.9.7.为什么我不能在当前的WinXP安装中使用Bochs?

Think about this. If you had two different PC’s, they would require different hardware drivers. So you may not be able to safely move a disk drive with WinXP on it, from one to the other. Bochs is no different. It emulates a certain set of hardware devices, and requires each OS be configured for those devices.

\qquad 想想这个。如果你有两台不同的电脑,它们需要不同的硬件驱动程序。因此,您可能无法安全地将装有WinXP的磁盘驱动器从一个移动到另一个。bochs也不例外。它模拟一组特定的硬件设备,并要求为这些设备配置每个操作系统。

1.9.8.是否有Bochs的开发人员电子邮件列表?

Yes. For instructions on joining, refer to Section 7.2.

对有关连接的说明,请参阅第7.2节。

1.9.9.Bochs有IRC频道吗?

Yes. You will usually find Bochs developers and users on IRC at irc.freenode.net:6667, channel #bochs.

\qquad 对你通常会在IRC.freenode.net:6667频道#Bochs上找到Bochs的开发者和用户。

1.9.10.你知道Bochs运行Windows的快照吗?

Yes! Look for “Screen Shots” on bochs.sourceforge.net or on other Bochs sites.

对在bochs.sourceforge.net或其他bochs网站上查找“屏幕截图”。

1.9.11.Bochs支持CD-ROM吗?

Yes, the CD-ROM emulation and accessing ISO files is always available. Reading from host CD-ROM media is supported in Linux, Windows, and most BSDs. The CD-ROM drivers for Bochs allow the guest operating system to access the host operating system’s CD-ROM data directly.

\qquad 是的,CD-ROM模拟和访问ISO文件始终可用。Linux、Windows和大多数BSD都支持从主机CD-ROM介质中读取。Bochs的CD-ROM驱动程序允许客户操作系统直接访问主机操作系统的CD-ROM数据。

1.9.12.Bochs支持声音设备吗?

Yes, Bochs emulates a Sound Blaster 16 card (ISA, no plug&play) or an ES1370 PCI. Output to the host sound system is implemented for some platforms. See Section 1.7 for details.

是的,Bochs模拟Sound Blaster 16卡(ISA,无即插即用)或ES1370 PCI。某些平台实现了对主机音响系统的输出。详见第1.7节。

###v 1.9.13.Bochs支持网卡吗?
Yes. Bochs emulates an NE2000 compatible network card (ISA / PCI) or an Intel® 82540EM Gigabit Ethernet adapter (PCI). Using the host’s network capabilities is not supported on all platforms. See Section 1.7 for details.

\qquad 对Bochs模拟NE2000兼容网卡(ISA/PCI)或Intel(R)82540EM千兆以太网适配器(PCI)。并非所有平台都支持使用主机的网络功能。详见第1.7节。

1.9.14.已知哪些应用程序在Bochs内部运行?

Well, lot’s of different OS’s run inside of Bochs, so thousands. I’m assuming you are asking about Windows programs. To give you a few, the following ones from the Winstone’98 tests worked: Access 97, CorelDRAW! 7, Excel 97, Lotus 1-2-3 97, Word 97, PowerPoint 97, Quattro Pro 7, WordPerfect 7.

\qquad 好吧,很多不同的操作系统在Bochs内部运行,成千上万。我想你是在问Windows程序。举几个例子,Winstone’98测试中的以下测试有效:Access 97,CorelDRAW!7、Excel 97、Lotus 1-2-3 97、Word 97、PowerPoint 97、Quattro Pro 7、WordPerfect 7。
Also, I’ve compiled an entire OS kernel inside Bochs before. Not to mention, running DOOM, though at then-pathetic speeds.
\qquad 此外,我以前在Bochs中编译过整个操作系统内核。更不用说,运行DOOM,尽管当时的速度很慢。

1.9.15.我是Bochs新手,如何开始?

You should read Chapter 4 first. Next, you can check Chapter 10 if there specific instructions on how to install your (guest) OS inside of Bochs.

\qquad 你应该先读第四章。接下来,如果有关于如何在Bochs内部安装(来宾)操作系统的具体说明,您可以查看第10章。

1.9.16.Bochs在我的移动设备上运行吗?

Bochs has now minimal support for the Android platform using a special version of the SDL library. There are some external projects that use the offical sources with some modifications. They also offer a gui for easy Bochs configuration. Other mobile platforms are not officially supported yet.

\qquad Bochs现在使用SDL库的特殊版本对Android平台的支持微乎其微。有些外部项目使用经过一些修改的官方来源。他们还提供了一个图形用户界面,以便轻松配置Bochs。其他移动平台尚未得到官方支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值