当前位置: 首页 > news >正文

可以运行在浏览器的Windows 2000

Windows 2000 可以在浏览器里跑了,缺点就是速度慢。

JSLinux

JSLinux

在浏览器中运行 Linux 或其他操作系统!

可以使用以下仿真系统:

中央处理器操作系统用户
界面
VF同步
访问
启动
链接
TEMU
配置
评论
x86阿尔派Linux 3.12.0安慰是的点击这里网址
x86阿尔派Linux 3.12.0X窗口是的点击这里网址鼠标右键为菜单。
x86视窗2000图形化点击这里网址免责声明。
x86自由DOSVGA 文本点击这里网址
RISCV64构建根目录(Linux)安慰是的点击这里网址
RISCV64构建根目录(Linux)X窗口是的点击这里网址鼠标右键为菜单。
RISCV64Fedora 33(Linux)安慰是的点击这里网址警告:启动时间较长。
RISCV64Fedora 33(Linux)X窗口是的点击这里网址警告:启动时间较长。鼠标右键为菜单。

-----------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------

JSLinux - 技术说明

历史

这个模拟器已经有很长的历史了。当前版本基于TinyEMU并使用emscripten编译为 Javascript 或 WASM 。

2011 年,我编写了 JSLinux 的初始版本,这是第一个运行 Linux 的 Javascript PC/x86 模拟器。我为 x86 助手和设备 重复使用了另一个模拟器 ( QEMU )的部分内容。

一段时间后(2015 年),我将其修改为使用asm.js Javascript 子集,以便在支持它的浏览器中速度更快。

2016 年,在编写了TinyEMU(最初是一个 RISC-V模拟器)后,我决定使用emscripten从其 C 代码制作一个 Javascript 版本。我添加了一个VirtIO 9P 文件系统,其灵感来自Sebastian Macke 的jor1k中 的文件系统,以便更轻松地使用远程文件系统以及导入或导出文件。

然后我发现将 VirtIO 设备重用于 x86 JS 模拟器很有趣,因此我将 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 仿真

模拟具有以下功能的 x86 CPU:

  • 奔腾级CPU
  • x87 位精确 80 位浮点数
  • PAE支持
  • CMOV指令
  • MMX 和 SSE2 支持
  • 具有嵌套页表支持的 AMD 虚拟机扩展 (SVM)
  • RDPMC支持读取指令计数

已知限制:

  • 访问内存时无段限制和权限检查
  • 无调试支持(DRx 寄存器)

模拟设备

  • 8259 可编程中断控制器
  • 8254 可编程中断定时器
  • 16450 UART(仅用于调试)
  • 实时时钟
  • PCI总线
  • VirtIO 控制台
  • VirtIO 9P 文件系统
  • VirIO网络
  • VirtIO块设备
  • VirIO输入
  • 简单的帧缓冲区
  • IDE 控制器(可选)
  • PS/2 键盘和鼠标(可选)
  • 虚拟 VGA 显示器(可选)

RISC-V CPU 仿真

使用 64 位 FPU 和压缩指令来模拟 32 位或 64 位 RISC-V CPU。

现在仅提供 RISC-V 64 位 Buildroot 和 Fedora 发行版。RISC-V 32 位映像仍然可用,但不再主动维护:

  • 带控制台的buildroot-riscv32。
  • 带有 X Window 的buildroot-riscv32 。

表现

在带有 Firefox 浏览器的典型台式电脑 (2017) 上,x86 模拟器的运行速度约为 100 MIPS。使用集成实用程序可以进行详细的基准测试vmtime

JavaScript 终端

它是原始 JSLinux 的改进版本。它有一个滚动条并支持 URL 高亮显示。

Linux发行版

它使用Alpine Linux 和Buildroot 发行版。为 vfsync、qemacs、tcc 添加了自定义包。Fluxbox窗口管理器提供可选的 X Window 支持 。

联网

模拟器内可以访问互联网。它使用 Benjamin Burns 提供的 websocket VPN(请参阅他的博客)。带宽上限为 40 kB/s,每个公共 IP 地址最多允许两个连接。请不要滥用该服务。

什么用途 ?

我这样做是为了好玩,只是因为 Javascript 引擎足够快,可以完成复杂的事情。实际用途可能是:

  • Javascript 引擎的基准测试(Javascript 引擎启动 Linux 需要多长时间?)以及新浏览器技术(asm.js、WASM)的使用。
  • 学习在不离开浏览器的情况下使用命令行 Unix 工具。
  • 浏览器内的安全文件访问 (vfsync)。
  • 运行旧的 PC 软件。

源代码

RISC-V 版本的源代码可在TinyEMU项目中获取。还提供预编译且易于安装的演示。

类似项目

还有其他几个 PC 或 Linux 模拟器可用。尤其:

  • jor1k:OpenRISC OR1K CPU 模拟器。
  • v86:PC 模拟器。
  • Angel:RISC-V CPU 模拟器。

http://www.lryc.cn/news/290101.html

相关文章:

  • CUDA笔记
  • Open CASCADE学习| ​提取曲面的PCurve
  • GMS测试BTSfail-CVE-2022-20451
  • Vue学习笔记12--Vue3之setup/ref函数/reactive函数/Vue3响应式原理/reactive对比ref
  • 座位预约|座位预约小程序|基于微信小程序的图书馆自习室座位预约管理系统设计与实现(源码+数据库+文档)
  • 03 Redis之命令(基本命令+Key命令+String型Value命令与应用场景)
  • go语言函数进阶
  • Python编程技巧 – 函数参数
  • python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-帖子管理实现
  • LabVIEW扫频阻抗测试系统
  • C语言——指针进阶(四)
  • Django介绍
  • 【idea】几个不错的idea插件让我码速又快了
  • LabVIEW直流电机转速检测与控制
  • ༺༽༾ཊ—Unity之-05-抽象工厂模式—ཏ༿༼༻
  • 力扣面试题02.07-链表相交
  • Java集合-ArrayList
  • 数据结构·单链表经典例题
  • Linux常用指令的整合
  • 阿里云centos安装mysql,并修改初始密码
  • 【JavaScript基础入门】04 JavaScript基础语法(二)
  • 标准库中的string类(下)——“C++”
  • 如何使用Docker部署火狐浏览器并实现无公网ip远程访问
  • 瑞_数据结构与算法_AVL树
  • BGP同步规则
  • Linux命令-apt-key命令(管理Debian Linux系统中的软件包密钥)
  • Python根据Excel表进行文件重命名
  • 【UVM源码】UVM Config_db机制使用总结与源码解析
  • 群辉开启WebDav服务+cpolar内网穿透实现移动端ES文件浏览器远程访问本地NAS文件
  • 通过mybatis拦截器给sql执行加一个耗时监控