https://bellard.org/jslinux/index.html
可以在在浏览器中运行 X Window 或 Windows 2000、linux
以下为示例:
从2018-08-18开发更新到2021-01-09
… https://bellard.org/jslinux/news.html
https://bellard.org/jslinux/faq.html
点击终端下方的上箭头。文件将被复制到您的主目录。
注意:文件上传仅在Linux虚拟机中有效。
使用 export_file filename shell 命令。
注意:文件导出仅在Linux虚拟机中有效。
要复制数据,只需用鼠标选择它,然后使用“复制”上下文菜单(右键单击)。要粘贴数据,请右键单击终端光标以显示上下文菜单,然后选择“粘贴”。或者,您可以在导航器全局菜单中使用“粘贴”命令。
注意:不支持文件的复制/粘贴。复制/粘贴仅在控制台 Linux 虚拟机中支持。
触摸终端窗口以显示虚拟键盘。为了使用控制键,您可能需要安装特定的虚拟键盘(如 Android 上的 Hacker’s Keyboard)。
是的,这是可能的。它使用由 Benjamin Burns 提供的 websocket VPN(请参见他的博客)。带宽被限制为 40 kB/s,并且每个公共 IP 地址最多允许两个连接。请不要滥用该服务。
是的。使用虚拟机列表中提供的 VM Config URL。然后将其用作独立模拟器的配置文件,例如:
temu https://bellard.org/jslinux/buildroot-x86-xwin.cfg
temu https://bellard.org/jslinux/buildroot-riscv64-xwin.cfg
是的,有许多可以通过向 URL 添加参数来选择的选项。例如:
https://bellard.org/jslinux/vm.html?cpu=x86&url=buildroot-x86.cfg&mem=128&cmdline=TEST%3d1
使用鼠标右键单击可用的菜单。如果您的国家未列出,可以尝试键入以下命令:setxkbmap -layout x
,其中 x 是您的键盘映射的国家代码。
如果您的键盘仍然无法正常工作,则表示您的浏览器未返回用于模拟 PC 键盘所需的 PC 硬件键码。您仍然可以使用虚拟键盘(在右键菜单中可用)。
右键单击位于时钟旁边的 EN 图标(屏幕右下角),选择属性,添加所需的键盘并选择它。
如果您的键盘仍然无法正常工作,则表示您的浏览器未返回用于模拟 PC
或者,您可以使用屏幕键盘(其图标位于桌面上)。
在较旧的 Firefox 版本中,[Alt] 键总是被浏览器拦截以显示菜单。升级到更高版本的 Firefox 版本以解决此问题。
https://bellard.org/jslinux/tech.html
该模拟器有着悠久的历史。当前版本基于 TinyEMU,并使用 emscripten 编译成 Javascript 或 WASM。
在2011年,我编写了JSLinux的初始版本,这是第一个在Javascript中运行Linux的PC/x86模拟器。我重用了我的另一个模拟器(QEMU)的x86助手和设备部分。
一段时间后(2015年),我对其进行了修改,以使用 asm.js Javascript 子集,以便在支持该子集的浏览器中运行得更快。
2016年,在编写了TinyEMU(最初是RISC-V模拟器)之后,我决定通过使用emscripten从其C代码创建Javascript版本。我添加了一个受Sebastian Macke的jor1k启发的VirtIO 9P文件系统,以便更容易地使用远程文件系统并导入/导出文件。
然后,我发现可以为x86 JS模拟器重用VirtIO设备,因此我将JSLinux asm.js代码转换为C,再用emscripten将其转换回Javascript!通过仔细调整,新版本现在比手工编码的asm.js版本更快。
下一步是运行与Linux不同的操作系统,例如Windows NT。该模拟器的首个版本通过在模拟的Linux系统内部运行QEMU,运行了带有Windows NT的。它仍然可用,因为x86模拟器支持QEMU使用的x86虚拟化扩展(AMD SVM)。
JSLinux的当前版本通过模拟少量缺失的PC设备(PS/2键盘和鼠标、IDE磁盘、虚拟VGA)来运行Windows NT。
模拟具有以下功能的x86 CPU:
模拟了具有64位FPU和压缩指令的32位或64位RISC-V CPU。
目前仅提供RISC-V 64位Buildroot和Fedora发行版。 RISC-V 32位镜像仍可用,但不再积极维护:
在一台典型的桌面PC上(2017年)使用Firefox浏览器,x86模拟器运行约100 MIPS。可以使用集成的vmtime实用程序进行详细的基准测试。
这是原始 JSLinux 终端的改进版本。它具有滚动条并支持URL高亮显示。
它使用Alpine Linux和Buildroot发行版。为 vfsync、qemacs 和 tcc 添加了自定义软件包。可选的X Window支持可与Fluxbox窗口管理器一起使用。
在模拟器内可以访问互联网。它使用由Benjamin Burns提供的 websocket VPN(请参见他的博客)。带宽被限制为40 kB/s,并且每个公共IP地址最多允许两个连接。请不要滥用该服务。
我纯粹是为了好玩,只是因为Javascript引擎足够快,可以完成复杂的任务。真正的用途可能包括:
以及使用新的浏览器技术(asm.js、WASM)。
RISC-V版本的源代码在 TinyEMU 项目中可用。还提供了一个易于安装的预编译演示版本。
还有其他几个PC或Linux模拟器可用,特别是:
这个父网站也是个神奇的资源网站。
Fabrice Bellard 是一位法国计算机科学家和程序员,以其在计算机领域的卓越贡献而闻名。
这个网站似乎是他个人做的产品。