`
zwhc
  • 浏览: 270842 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

jslinux 简单分析:用JavaScript写出一个PC模拟器,上面运行Linux。

阅读更多
jslinux 简单分析

jslinux:用JavaScript写出一个PC模拟器,上面运行Linux

1、主页面 (http://bellard.org/jslinux/) 很简单,主要调用了 如下两个 js 文件。

http://bellard.org/jslinux/term.js
http://bellard.org/jslinux/cpux86.js

2、term.js 里也没有发现什么特殊的地方;

3、cpux86.js 使用到一个 load_binary 的函数,查看了一下实现,是通过 XMLHttpRequest 来取如下三个 bin 文件:
http://bellard.org/jslinux/vmlinux26.bin
http://bellard.org/jslinux/root.bin
http://bellard.org/jslinux/linuxstart.bin

通过迅雷来看,这三个文件,总大小 3.6M 以上。因为网站在国外,很卡。

通过代理下载成功。在本地试了一下,不错。
分享到:
评论
6 楼 ww2000e 2011-10-18  
打开只有一个光标闪
5 楼 javavsnet 2011-05-25  
才知道javascript也能访问二进制代码
4 楼 kran 2011-05-24  
感谢博主 :)
3 楼 zwhc 2011-05-23  
最下方有个链接,点开后进入
http://bellard.org/jslinux/tech.html

The code is written in pure Javascript using Typed Arrays which are available in recent browsers. It was tested with Firefox 4 and Google Chrome 11 on Linux, Window and Mac (it does not work with Chrome 12 beta. As far as I know, it is a bug in the browser). In any case, a fast Javascript engine is needed to have good performance.

Typed Arrays 就是用于操作二进制文件的。

http://www.khronos.org/registry/typedarray/specs/latest/


Abstract

This specification provides an API for interoperability with native binary data. It defines a generic fixed-length buffer type, as well as accessor types that allow access to the data stored within the buffer.

The functionality described here originated in the WebGL specification [WEBGL].
2 楼 kran 2011-05-22  
不清楚 到底 通过js怎么操作二进制文件。
代码又不能读。
博主清楚吗?
1 楼 topcss 2011-05-18  
确实不错。。。

相关推荐

    javascript写的模拟器运行linux--jslinux

    JavaScript编写的Linux模拟器,即JSLinux,是由著名的程序员Fabrice Bellard创作的一个创新项目。Fabrice Bellard是一位多产的开发者,以其在计算机领域的多项杰出贡献而闻名,包括FFmpeg、QEMU虚拟化软件以及...

    Javascript写的PC模拟器,正常运行Linux

    Javascript写的PC模拟器,正常运行Linux; 作者:Fabrice Bellard 你甚至能在此Linux中用Vi编辑一个C程序,然后编译运行之! 此包可以离线工作。 你还可以用它来测试你浏览器的脚本速度,你的电脑要几秒启动Linux?...

    jslinux-mobile:适用于iOSLinux-用Javascript编写的PC模拟器的移动版本,具有运行中的功能齐全Linux系统

    JSLinux Mobile –适用于iOSLinux 使用Javascript编写的PC模拟器的移动版本,具有正在运行的功能齐全Linux系统。 模拟器可以在iOS和Android设备上以全屏模式脱机运行。 Apple不允许在iOS中进行硬件仿真-AppStore没有...

    jslinux总结帖

    总结起来,这篇“jslinux总结帖”可能是一个深入浅出的教程,旨在教给读者如何利用JavaScript来理解和模拟Linux操作系统的运作。它不仅涵盖了JavaScript编程的基础,还涉及到了操作系统设计的关键概念,对于想要了解...

    使用JavaScript编程语言编写的模拟器列表

    3. **汇编语言和机器码理解**:要编写一个模拟器,需要理解目标系统的汇编语言和机器码。这包括指令集架构(ISA)和指令的执行流程。 4. **内存模型**:模拟器需要模拟内存,包括分配、读写和管理内存空间。...

    Chip-8-JS-emulator:用JavaScript编写的Chip-8模拟器

    一个用JavaScript编写的Chip-8模拟器,具有多个游戏和演示。特征完整的Chip-8仿真加载各种经典的Chip-8游戏重置选项完全支持60 fps 经典的8位声音离线支援控制项CHIP-8键盘使用以下键盘映射: 1 2 3 4Q W E RA S D ...

    Node.js-一个Node.jsWebSockets开发JavaScript终端模拟器

    标题中的“Node.js-一个Node.jsWebSockets开发JavaScript终端模拟器”表明我们要讨论的是一个使用Node.js技术栈创建的项目,它具有WebSockets功能,用于开发JavaScript的终端模拟器。这个项目可能是为了提供一个交互...

    pdp11-js:用 JavaScript 实现的 PDP-11 模拟器。 UNIX V6 在您的 chrome 上运行

    这是一个用 JavaScript 实现的 PDP-11 模拟器。 UNIX V6 在您的 chrome 上运行。 演示 截屏 这是我的 PDP-11 模拟器在山景城计算机历史博物馆物理 PDP-11 前面的 Android Chrome 上运行的图片。

    js86emu:用100%JavaScript编写的x86模拟器

    js86emu js86emu是一个完全用Java编写的x86模拟器。 当前的目标是正确模拟8086(88)处理器以及辅助硬件,例如硬盘控制器和图形。 这将允许模拟原始PC XT和PC AT系统。 我计划增加对较新处理器和系统的支持,直到...

    html.tar.gz_jslinux

    "jslinux"标签进一步确认了这个压缩包与JSLinux项目有关,意味着其中包含的代码可能是实现JavaScript版本的Linux内核模拟器,或者是相关的用户界面组件、脚本和配置文件。JavaScript Linux的实现依赖于JavaScript的...

    javascript 通过模拟CPU在线运行Linux

    JavaScript 通过模拟CPU在线运行Linux是一项技术上的创新,它允许用户在浏览器中体验完整的Linux操作系统,无需下载或安装任何软件。这项技术的核心是利用JavaScript的跨平台特性,将Linux的内核和其他系统组件转换...

    SnesJs:使用JavaScript的SNES模拟器

    斯内斯一个SNES模拟器,使用javascript 在线尝试。注意我不确定我要进一步使用此模拟器。 尽管这是一个很好的概念证明,但无法全速运行(在我的硬件上)使进行这项工作非常烦人。 我之所以开始创建它,是因为我的...

    量子电路:用JavaScript实现的量子电路模拟器

    量子电路模拟器是用JavaScript实现的开源量子电路模拟器。 在浏览器或服务器(node.js)上平稳运行20多个qubit模拟。 您可以在JavaScript程序中使用它来运行量子模拟。 可以从和导入Circuit。 您可以将电路导出到 ,...

    NesJs:JavaScript中的另一个NES模拟器

    内斯浏览器中的javascript中的另一个NES模拟器。 CPU几乎模拟了所有指令,但是它不是周期精确的(并且不模拟“不稳定”的未记录指令)。 PPU具有完整的背景和精灵渲染,但它也不精确。 APU模拟所有5个通道,但是仍然...

    js-console-emulator:用于Javascript的用Javascript编写的简单控制台模拟器

    本文将详细介绍“js-console-emulator”——一个由JavaScript编写的简易控制台模拟器,以及如何利用它进行JavaScript开发和调试。 “js-console-emulator”是一个专为JavaScript设计的轻量级模拟器,它的灵感来源于...

    js-iTrade:使用香草JavaScript构建的股票交易模拟器应用程序

    技术领域使用以下项目创建项目: HTML,CSS 香草JS 引导程序jQuery的高图(用于制作图表的库) Finnhub.io / Alphavantage API 缓存/本地存储模拟本地存储代理模式安装该应用程序需要和提供的2个免费API密钥才能正常...

    nessie:用 JavaScript 编写的 NES 模拟器

    Nessie 是一个用 JavaScript 编写的 NES 模拟器,它可以运行服务器端或浏览器。 Nessie 目前是 WIP 并且旨在学习,而不是专注于准确性或与大多数 NES romset 的兼容性。 有很多很棒的 OSS 模拟器,它们更稳定,...

    用JavaScript编写的ARM模拟器.zip

    JavaScript编写的ARM模拟器是一个独特的项目,它允许开发者在浏览器环境中模拟ARM处理器的指令集,以便于学习、测试和调试ARM代码。这个项目的核心在于利用JavaScript的灵活性和跨平台特性,将复杂的硬件操作抽象到...

    js-zx8x:用javascript编写的ZX80模拟器。 包括完善的Z80仿真核心(无约束的指令,memptr)

    标签中的"emulation"指的是仿真技术,这在软件开发中用于重现硬件或系统的功能,而"EmulatorJavaScript"强调了这个模拟器是用JavaScript编写的,展示了JavaScript在跨平台应用和复杂计算任务上的潜力。 在"js-zx8x-...

Global site tag (gtag.js) - Google Analytics