正如我对模拟器的理解(以简单的方式),它们确实将使用系统 X 的函数的程序的函数调用转换或替换为正在运行程序的系统 Y 使用的函数。Wine项目声称 Wine 不是模拟器,因为:
Wine 不会像虚拟机或模拟器那样模拟内部 Windows 逻辑,而是将 Windows API 调用即时转换为 POSIX 调用,从而消除其他方法的性能和内存损失,并允许您将 Windows 应用程序干净地集成到桌面中。
那么,模拟器和虚拟机如何在主机非 Windows 系统上模拟内部 Windows 逻辑?那不是通过将Windows系统调用转换为主机自己的相应调用吗?模拟器和非模拟器(如 Wine)之间的区别是模拟器模拟整个操作系统,然后应用程序在不知道它正在与模拟器通信的情况下使用该系统 API,而非模拟器直接将应用程序的调用转换为主机的(应用程序也可能不知道)?额外的间接级别是模拟器和 Wine 之间的唯一区别吗?
只是想知道安装 Wine 是否会为 Windows 病毒世界打开一个相当可靠的 Linux 桌面。有没有相关证实的报道?
那么您会在 Wine 下安装 Windows 防病毒产品吗?
处理器是否需要 MMU(内存管理单元)芯片才能支持虚拟内存?
是否可以在软件中模拟 MMU 功能?(我知道它可能会对性能产生很大影响)。
memory hardware hardware-compatibility emulation virtual-memory
我一直在使用PlayOnLinux
在 Linux 上运行 Windows 程序。
PlayOnLinux
为每个安装的程序创建一个虚拟驱动器,每个 VD 代表不同的 Windows XP 计算机。
程序所做的任何更改仅保留在其自己的 VD 中。所以如果我运行一个带有病毒的程序,我可以简单地删除该程序的 VD,一切都很好。
有没有类似的程序可以让 Linux 程序在虚拟驱动器中运行?即我想要PlayOnLinux
/Wine
减去 Windows 仿真。
我正在我的项目中使用蓝牙 LE 设备,我想在没有实际蓝牙设备的情况下测试与蓝牙相关的主机代码。
目前,我有一台 BT 加密狗作为主机和 BTLE 传感器的 Linux 机器。在 Linux 机器上,我正在运行一个 Python 代码,它使用名为bluepy 的库与 BTLE 传感器进行通信。
问题是:是否有可能在 Linux 中创建一个模拟的 HCI 接口,以便 bluepy 会认为它与我笔记本电脑上的真实 BT 模块进行通信,但实际上 - 该模块将是完全虚拟的,它将允许 Python 代码与我编写的虚拟 BTLE 传感器通信。
我已经用模拟 RS232 设备做了类似的事情。当时我创建了伪 TTY 来表示 RS232 设备,我的模拟代码监听来自主代码的命令,并以与真实设备响应的方式完全相同的方式进行响应。
所以我想用蓝牙传感器有类似的解决方案。这是如何实现的?
更新: 似乎 bluez 为您提供了一个名为“btvirt”的工具。有了它,您可以创建一对(或更多)虚拟 hci 接口。而且似乎这个工具不是很受欢迎,因为除了 github repo 中的源代码本身之外,我找不到任何关于它的文档。
Fedora 17 是否有任何 8086 模拟器(免费或付费)?我正在使用 AT&T 风格学习汇编语言。
I'm writing a program for controlling USB storage device connections (this is a classic subject). All it's ok with my program, but now, I want to write some tests. So in order to do that, I realized I'll need some way of simulate USB connections.
不仅是连接,我还需要能够设置设备属性:容量、格式等......
我有一小部分用于 SGI MIPS 上的 IRIX 的旧的自定义程序,其中一些我需要出于与工作相关的原因运行,因为没有可用的现代替代方案,我们需要在后台访问它们以获取遗留内容。我只是那个有幸接到任务寻找解决方案的人。没有可用的源代码,也几乎没有关于它的任何文档。
除了花费 1000 美元以上在 ebay 上购买功能强大且功能齐全的 SGI 工作站之外,我还有什么选择?我很犹豫,因为,你知道,它是 ebay。而且我再也不能从 SGI 购买这些新东西了,这意味着我将不得不完全依靠二手和翻新产品的转售商来冒险。我通过电话与 SGI 交谈,他们说他们不支持硬件或软件,他们甚至不会向我提供文档或零件编号,所以我对此很不走运。
IRIX 根本无法在 QEMU 中启动,无论我如何尝试将其配置为与真实硬件相匹配,这可能是由于自定义图形硬件以及工程师在那些旧机器上为优化所做的各种未记录的小技巧和修复。我知道 Nekochan 论坛上有人在做这方面的工作,他们在 QEMU 中有某种无头启动,但我需要整个操作系统和 GUI 才能工作。它不一定要稳定或那么快,它只需要运行良好以运行我拥有的这些程序。
有没有一种相当简单的方法可以在当前的计算机上运行NeWS(网络可扩展窗口系统,一种由 Sun 公司的研究人员在 20 世纪 80 年代开发的基于 PostScript 的窗口系统)?
我有一个历史二进制 ObjectGeode,它只能在带有 Solaris OS 的 SUN SPARC 机器上工作(与哪个 Solaris 版本无关)。我的问题是:
我更喜欢 Linux 或 Windows 作为主机系统。
编辑:
我安装了 qemu- 2.5.50 32 位。但是我无法启动图像- Solaris_2.6_Software_05_98.img
我使用 Cygwin 来调用命令。它是
./qemu-system-sparc.exe -L 。-hda Solaris_2.6_Software_05_98.img -m 256
但我没有得到回应。
好像少了点什么。有windows启动qemu的指导吗?
我正在 Ubuntu 14.04 中从源代码 (r33116) 构建 Vice,并从以下位置获取./configure
:
INPUT
-----
Joystick support : yes
Mouse support : yes
Lightpen support : yes
Linux style joystick support: yes
BSD style joystick support : no
Digital joystick support : no
USB joystick support : no
Run Code Online (Sandbox Code Playgroud)
我在configure.ac中看到这个部分:
dnl NetBSD/FreeBSD USB joystick support
usbhid_header=no
usbhid_lib=no
usb_lib=no
AC_CHECK_LIB(usbhid, hid_get_report_desc, usbhid_lib=yes)
if test x"$usbhid_lib" = "xyes" ; then
AC_CHECK_HEADER(usbhid.h,
[AC_DEFINE(HAVE_USBHID_H,1,
[Define to 1 if you have the <usbhid.h> header file.])
usb_header=yes])
AC_CHECK_HEADER(libusbhid.h,
[AC_DEFINE(HAVE_LIBUSBHID_H,1,
[Define to …
Run Code Online (Sandbox Code Playgroud) 根据官方 QEMU文档:
当用作虚拟器时,QEMU 通过直接在主机 CPU 上执行来宾代码来实现接近本机的性能。
我的问题是这种行为与我们称为管理程序的程序(例如 VirtualBox、KVM 等)有何不同?他们不是也在“主机 CPU”上运行“访客代码”吗?他们还会在哪里运行它?
更新:
如果下图(源)是正确的,那么事实证明 QEMU 运行应用程序(而不是像管理程序这样的整个操作系统),但在不同架构类型之间执行转换(例如,为 ARM 编写的程序可以在 x86 上运行)
鉴于上述情况,运行的情况是:
a) 特定架构(例如 ARM)的整个操作系统
b) 在具有不同架构的主机上(例如 amd64)
两者都需要共存
QEMU(执行跨架构映射)
和
KVM(充当硬件管理程序)
需要吗?