雅虎香港 搜尋

搜尋結果

  1. en.wikipedia.org › wiki › BochsBochs - Wikipedia

    Bochs (pronounced "box") is a portable IA-32 and x86-64 IBM PC compatible emulator and debugger mostly written in C++ and distributed as free software under the GNU Lesser General Public License. It supports emulation of the processor (s) (including protected mode), memory, disks, display, Ethernet, BIOS and common hardware peripherals of PCs.

    • 概览
    • 软件特点
    • 支持平台
    • 调试手段
    • 易用性
    • 总结

    最近有同学问我:为什么你的《从0写x86 Linux操作系统课程》选择了bochs,而不是qemu?他认为bochs更加好用,很多资料上都写了用该软件。其实我也是经过不断地对比和尝试后,选择使用qemu。

    Bochs和QEMU是两个著名的模拟器,均可用于模拟x86计算机,网上有很多写如何开发操作系统的资料用到了其中一个。在这里我对这两个软件的特点、支持的平台、调试手段和易用性等方面进行详细介绍。

    Bochs是一个用C++编写的开源模拟器,仅可模拟x86计算机硬件环境,包括CPU、内存、硬盘、显示器、网卡等。能够运行各种不同的操作系统,如DOS、Windows、Linux、BSD等。还支持许多外部设备,如键盘、鼠标、串口、并口等。此外,Bochs还支持多种调试方式,如断点、单步执行、内存监视等。

    QEMU是一个快速的开源模拟器和虚拟机管理器,能够模拟x86、ARM、PowerPC、SPARC等多种CPU架构。相比bochs,其特点在于它的快速性,能够运行本机代码,实现在模拟器中运行的虚拟机与物理机的速度相当。QEMU还支持各种外部设备,如USB设备、串口、网卡等。此外,QEMU还能够通过GDB、VNC等多种调试方式进行调试。

    Bochs可以运行在多种操作系统平台上,包括Windows、Linux、macOS等,可以模拟各种不同的操作系统。但是在有些平台上,可能需要重新编译源码才能获得可执行的程序。

    QEMU也支持多种操作系统平台,包括Windows、Linux、macOS等。QEMU的特点在于它能够在多种不同的CPU架构之间进行模拟,例如在x86主机上模拟ARM架构的操作系统。

    当谈到操作系统开发时,调试是至关重要的。Bochs和QEMU都提供了各种调试手段,以帮助用户诊断和调试操作系统。不过,从我的使用经验来说,使用qemu进行操作系统开发时,可以提供相比bochs更为丰富的调试手段。

    虽然bochs提供了许多内置的调试命令,如break、step、registers等,可以让用户在模拟器中单步执行和检查CPU寄存器的值。但是这些命令仅限于命令行的交互模式下使用,而在这种模式下,只能进行指令级调试,无法进行源码级调试,使用起来非常不方便。所以,我觉得更适合于调试汇编代码。

    当然,Bochs也支持GDB调试,但是需要重新编译源码生成带GDB支持的bochs,非常麻烦。而且在GDB模式下,内置的调试命令将无法使用。

    而QEMU也提供了许多调试功能,例如单步执行、断点和CPU寄存器查看等,这些命令在monitor窗口中可直接使用。如下图所示,在进入该窗口后,可以直接输入各种命令,实现bochs同样的命令的功能。这些命令,可以有效的帮助同学分析开发过程中的各种问题。

    与此同时,还支持GDB调试器,可以结合vscode直接进行源码级调试,如内存查看、寄存器修改等。这个是非常非常重要的一项功能!我之所以选择qemu,最大的原因也在于此。qemu直接内置了GDB的支持,不需要像bochs那样还要重新编译源码。我在对vscode的工程中进行了配置,可以直接一键源码级调试boot、loader、kernel,还有应用程序,非常地方便。通过这样的配合,可以使得同学在课程的学习中将关注点完全集中在操作系统实现本身的学习上,而不用关注工具的使用。

    因此,在调试手段上,我认为QEMU似乎是一个更好的选择,尤其对于那些希望更快地上手和入门的初学者。

    相对bochs来说,我觉得QEMU更为易于使用。

    对于初学者来说,QEMU可能会更容易使用,因为它的命令行参数和配置文件更简单,也更直观。在课程提供的工程中,我为qemu添加了一个启动脚本,只需要通过命令行参数就可以完成虚拟机的各项配置,非常简单。

    综合考虑以上因素,我最终选择的是QEMU,因为其在操作系统开发中更加适合初学者。这个软件提供了更好的易用性和灵活性,以及对于调试手段的支持。

  2. Bochs (發音:box)是以 GNU較寬鬆公共許可證 發放的 開放原始碼 x86 、 x86-64 IBM PC相容機 模擬器 和 除錯工具,支援處理器(包括 保護模式)、主記憶體、硬碟、顯示器、 乙太網路 、 BIOS 、 IBM PC相容機 的常見硬體外設的仿真。. 許多客戶 作業系統 能通過該 ...

  3. Bochs is a portable IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. 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 (sometimes even pre-market) x86-64 Intel and AMD processors.

  4. bochs安装配置搭建小型操作系统运行环境. VizXu. 程序猿,攻城狮,挨踢人士. 最近迷上了操作系统内核的研究和开发,以至于对早期的Linux内核的编译和运行很感兴趣,但是我手头又没有能运行Linux 0.12版本image的机器,只能使用软件模拟的方法来做这件事,一翻 ...

    • What is Bochs?1
    • What is Bochs?2
    • What is Bochs?3
    • What is Bochs?4
    • What is Bochs?5
  5. Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS.

  6. 2023年8月2日 · Bochs (发音:box)是以 GNU宽通用公共许可证 发放的 开放源代码 x86 、 x86-64 IBM PC兼容机 模拟器 调试工具,支持处理器(包括 保护模式)、内存、硬盘、显示器、 以太网 、 BIOS 、 IBM PC兼容机 的常见硬件外设的仿真。. 许多客户 操作系统 能通过该 ...