粗大, WebAssembly 居然可以跑 Windows 2000 了! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
chai2010

粗大, WebAssembly 居然可以跑 Windows 2000 了!

  •  5
     
  •   chai2010
    chai2010 Aug 21, 2018 19662 views
    This topic created in 2809 days ago, the information mentioned may be changed or developed.
    Supplement 1    Aug 22, 2018

    技术路线其实和以前js模拟Linux命令行差不多。 不过这次是从js换成了WebAssembly,性能有了很大提升,因此得以模拟更耗费资源的图形化的Windows 2000系统。

    2018年应该可以算是WebAssembly元年了,上个月草案1.0发布,这个月即将发布的Go1.11都开始支持WebAssembly了。 正如Ending定律所断言:所有可以用WebAssembly实现的终将会用WebAssembly实现。

    WebAssembly(wasm)资源精选: https://github.com/chai2010/awesome-wasm-zh

    对wasm技术感兴趣的同学可以关注公众号(WASM Hackers/wasm-hackers) 或 QQ群:726475047

    79 replies    2018-08-24 11:46:55 +08:00
    slack
        1
    slack  
       Aug 21, 2018 via Android
    就是 qemu 的作者吗?厉害
    mortal
        2
    mortal  
       Aug 21, 2018
    牛批,很喜欢的操作系统
    WildCat
        3
    WildCat  
       Aug 21, 2018


    该有的都有哦
    silencefent
        4
    silencefent  
       Aug 21, 2018   4
    ie 模仿的很有灵性了
    到现在还没打开
    gkiwi
        5
    gkiwi  
       Aug 21, 2018
    @silencefent #4 不是模仿。。。是真的 run 起来
    lneoi
        6
    lneoi  
       Aug 21, 2018
    大神大神
    ballshapesdsd
        7
    ballshapesdsd  
       Aug 21, 2018
    牛批
    hanxiV2EX
        8
    hanxiV2EX  
       Aug 21, 2018 via Android
    厉害,手机上都能跑
    tanglangshan
        9
    tanglangshan  
       Aug 21, 2018
    是直接在浏览器模拟了整个 windows ?还是只是对服器上的 windows 进行远程控制?
    RingoTC
        10
    RingoTC  
       Aug 21, 2018 via Android   1
    @tanglangshan 不是模拟,是 Windows 系统实实在在地在浏览器上跑起来
    tanglangshan
        11
    tanglangshan  
      &nsp;Aug 21, 2018
    @RingoTC 能在上面安装软件吗
    zhzer
        12
    zhzer  
       Aug 21, 2018
    js 天下第一
    300
        13
    300  
       Aug 21, 2018
    可以浏览器里跑系统跑浏览器吗()
    alexsunxl
        14
    alexsunxl  
       Aug 21, 2018   3
    @zhzer WebAssembly 跟 js 有一毛钱关系?
    能好好学习吗
    hahastudio
        15
    hahastudio  
       Aug 21, 2018 via Android
    解决了浏览器的兼容性问题
    lanmingyan
        16
    lanmingyan  
       Aug 21, 2018
    @WildCat 我想知道你怎么在里面配置网络的
    neilp
        17
    neilp  
       Aug 21, 2018 via iPhone
    试试
    shiny
        18
    shiny  
    PRO
       Aug 21, 2018
    童年回忆啊
    mYYnSmiTEQWcCwAr
        19
    mYYnSmiTEQWcCwAr  
       Aug 21, 2018
    @lanmingyan 它这个的实现是提供了一个 websocket 所有流量走代理
    mYYnSmiTEQWcCwAr
        20
    mYYnSmiTEQWcCwAr  
       Aug 21, 2018
    https://bellard.org/jslinux/faq.html

    Can I access to the network from the virtual machine ?
    Yes it is possible. It uses the websocket VPN offered by Benjamin Burns (see his blog). The bandwidth is capped to 40 kB/s and at most two connections are allowed per public IP address. Please don't abuse the service.
    yksoft1
        21
    yksoft1  
       Aug 21, 2018
    JSLinux 主要好处是对 Firefox 友好。
    yksoft1
        22
    yksoft1  
       Aug 21, 2018
    我担心,Bellard 大把整个 Win2k 镜像塞网上不怕 M$找上门来么
    WildCat
        24
    WildCat  
       Aug 21, 2018
    @lanmingyan 没有配置,直接能 run
    pityhero233
        25
    pityhero233  
       Aug 21, 2018 via Android
    @tanglangshan 这是 webassembly。
    pityhero233
        26
    pityhero233  
       Aug 21, 2018 via Android
    @zhzer ……你这不是无脑引战?
    js 和 wa 有毛关系……
    t6attack
        27
    t6attack  
       Aug 21, 2018
    @tanglangshan 这是一个在浏览器中实现的虚拟机。你可以把它等同于 vmware/virtualbox。
    caola
        28
    caola  
       Aug 21, 2018
    WebAssembly 以后会代替相当一部分服务器后端的工作,
    C、PHP,Java、Python、等等的语言都可以通过 WebAssembly 来运行
    itfanr
        29
    itfanr  
       Aug 21, 2018 via Android
    RingoTC
        30
    RingoTC  
       Aug 21, 2018 via Android
    @caola 我觉得更大的用途在于把成熟的库迁移到前端上。比如 ffmpeg,还有一些数值计算的库。某些库复杂且对性能要求高,这样的场景应该是 WebAssembly 的主场景。
    xiaqi
        31
    xiaqi  
       Aug 21, 2018 via Android
    卧槽,卧槽,竟然真的把 kernel.bin 下载下来运行起来了,卧槽,卧槽,卧槽。


    @RingoTC 还可以想象一下,,每个人的浏览器都可以运行 server 了会是什么情景?
    当然 4G 网络还有点慢,但是 5G 以后呢?
    每个人打开一个网页就运行了一个服务,...
    RingoTC
        32
    RingoTC  
       Aug 21, 2018 via Android
    @xiaqi 不过移动设备性能也是一种限制 但是我认为确实 WebAssembly 是很有前景的
    tyrealgray
        33
    tyrealgray  
       Aug 21, 2018
    手机都能开,就是有点卡,不过真的有点。看起来前景无可限量啊
    easylee     34
    easylee  
       Aug 22, 2018
    @alexsunxl
    @pityhero233

    我觉得那层的意思可能是说贝拉能将 js 用到出神入化......
    agagega
        35
    agagega  
       Aug 22, 2018 via iPhone
    再次给 Bellard 大神跪了...
    f2f2f
        36
    f2f2f  
       Aug 22, 2018
    除了速度慢,别的完美
    VDimos
        37
    VDimos  
       Aug 22, 2018 via Android
    跨平台开发
    mofe
        38
    mofe  
       Aug 22, 2018
    简直碉堡了,一开始看发现渲染在 canvas 上,然后一直挂着一个 websocket,以为是来搞笑的。。。

    后来发现它只是通过 websocket 模拟了网络连接

    每次打开一个应用程序都会卡一下是因为需要加载应用程序的二进制文件(模拟从硬盘中加载资源)

    打开记事本,然后把网断掉才出现了真正恐怖的事情。。这真的是一个活生生的运行在浏览器的系统。。
    tiaod
        39
    tiaod  
       Aug 22, 2018 via Android
    卧槽
    RqPS6rhmP3Nyn3Tm
        40
    RqPS6rhmP3Nyn3Tm  
       Aug 22, 2018 via iPhone
    @RingoTC ffmpeg 我试过,开了 O3 还卡的一逼。转码别想了,切个图转个音频差不多
    YvesX
        41
    YvesX  
       Aug 22, 2018
    我要吹一个月
    jessehzj
        42
    jessehzj  
       Aug 22, 2018 via Android
    bellard 怎么那么多黑科技啊?之前还搞了模拟基站
    lslqtz
        43
    lslqtz  
       Aug 22, 2018
    跪了
    按国内的网络环境,如果是远程绝对是卡的一批的
    tsui
        44
    tsui  
       Aug 22, 2018
    从 load 到启动完成一共传了 25M 的 bin,windows 2K 启动只需要读这么少的磁盘文件么
    ech0x
        45
    ech0x  
       Aug 22, 2018 via iPhone
    @RingoTC ffmpeg 已经可以被编译成 Webassembly 了.
    greed1is9good
        46
    greed1is9good  
       Aug 22, 2018
    应该只是个 pe 吧,肯定不是完整的系统。。。
    @tsui
    daigouspy
        47
    daigouspy  
       Aug 22, 2018 via Android
    @tsui windows 2000 默认启动带图形界面自占用 30m 不到的内存
    yksoft1
        48
    yksoft1  
       Aug 22, 2018
    @tsui win2k 好像仅启动系统到 explorer 真只需要读这么多文件。
    ae
        49
    ae  
       Aug 22, 2018
    能装仙剑吗
    someonedeng
        50
    someonedeng  
       Aug 22, 2018
    WA 这么 6 的吗。。。
    leoleoasd
        51
    leoleoasd  
       Aug 22, 2018
    里面装个最新 chrome 然后再跑个虚拟机试试
    deadEgg
        52
    deadEgg  
       Aug 22, 2018
    活在现代的高斯。
    hronro
        53
    hronro  
       Aug 22, 2018
    请问这个你们是怎么连上网的?
    myyou
        54
    myyou  
       Aug 22, 2018
    WebAssembly 是不是以后会逐渐把 js 给淘汰?
    Arrowing
        55
    Arrowing  
       Aug 22, 2018
    @myyou 不会,相辅相成,解释型的 js 代码依然会存在,高密集的计算才需要用 WebAssembly
    q397064399
        56
    q397064399  
       Aug 22, 2018
    @myyou #54 早得很, 垃圾回收性能怎么样? 兼容性怎么样? 还是需要很长时间
    q397064399
        57
    q397064399  
       Aug 22, 2018
    @caola #28 言之过早
    q397064399
        58
    q397064399  
       Aug 22, 2018
    @Arrowing #55 真正普及了 也就没 js 什么事情了,浏览器现在大有发展成操作系统的趋势..
    raysonx
        59
    raysonx  
       Aug 22, 2018 via Android
    没仔细看。用的好像是 asm.js 而不是 WebAssembly 吧
    joeyFuck
        60
    joeyFuck  
       Aug 22, 2018
    mark!
    L3ve
        61
    L3ve  
       Aug 22, 2018
    @raysonx 其实你可以这么理解,webassembly 是一个规范,asm 是他的一种实现
    mkeith
        62
    mkeith  
       Aug 22, 2018
    @raysonx asm.js 是用来在不支持的浏览器中运行 WebAssembly 的吧
    xuyl
        63
    xuyl  
       Aug 22, 2018
    vnc 是在浏览器远程控制的技术,wasm 则是浏览器虚拟机的技术,可以这样理解吗
    tinytin
        64
    tinytin  
       Aug 22, 2018
    真大神
    scmod
        65
    scmod  
       Aug 22, 2018   1
    quickma
        66
    quickma  
       Aug 22, 2018
    @scmod 这样你的机器就报警了
    chengluyu
        67
    chengluyu  
       Aug 22, 2018
    @xuyl #63 VNC 是一种远程控制手段。WebAssembly 不是虚拟机,只是一种在浏览器上跑的低级语言。
    a4854857
        68
    a4854857  
       Aug 22, 2018
    妈耶。神了
    choury
        69
    choury  
       Aug 22, 2018
    @scmod #65 里面那个 IE 肯定不能用 WebAssembly,然后就进行不下去了
    ShareDuck
        70
    ShareDuck  
       Aug 22, 2018
    @scmod #65 这当然是可以的,其他虚拟机也能这么干,我闲的蛋疼试过一次,第二层虚拟还是能使用的,第三层就卡成狗了。
    duck2u
        71
    duck2u  
       Aug 22, 2018
    paste here 和 upload 是干嘛用的
    zpczjl
        72
    zpczjl  
       Aug 22, 2018
    原理是什么,能解释下么?
    weizhen199
        73
    weizhen199  
       Aug 22, 2018
    这一天,第一猜想“ js 生万物” 被证明了。
    mooo
        74
    mooo  
       Aug 22, 2018
    @zpczjl 浏览器里面跑了个虚拟机
    n37r06u3
        75
    n37r06u3  
       Aug 22, 2018
    死过一
    RingoTC
        76
    RingoTC  
       Aug 22, 2018
    @weizhen199 但是,Javascript 在这个项目里面做的事情很少
    yfgeek
        77
    yfgeek  
       Aug 24, 2018
    牛批
    seeker
        78
    seeker  
       Aug 24, 2018
    改一改,把老游戏搞成页游。
    Reznik
        79
    Reznik  
       Aug 24, 2018
    About     Help     Advertise     Blog     API     FAQ     Solana     1475 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 190ms UTC 16:42 PVG 00:42 LAX 09:42 JFK 12:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86