首先放一个地址:http://bellard.org/jslinux/
这是一台完全通过JavaScript写成的、使用QEMU模拟x86指令集的、运行在浏览器(我的FireFox运行正常)上的虚拟机。这台机上面运行着一套2.6.20内核的Linux OS,这里的“运行”和以前一些WebOS或者JavaScript模拟DOS的程序并不是一回事,这里的OS就是完完全全运行在客户端浏览器上的,各种交互并不会传送到服务端或者委派到cmd.exe这些程序上执行,说白了这就是一台这实实在在运行的Linux虚拟机,这台虚拟机的相关信息可以在作者公布的Tech页面看到。也可以自己登录到虚拟机上查一下。
上面基本的linux命令是没问题的(BusyBox支持),甚至还可以玩这些:
~ # echo -ne "#include<tcclib.h>\nint main(int a,char **as){printf(\"hello javaeye\\\n\");return 0;}" > je.c ~ # tcc je.c -o je.bin ~ # ./je.bin hello javaeye ~ #另,从codeshell中的评论中看到,这个作者还是ffmpeg的作者、QEMU的开发者、最快速的计算圆周率的算法的作者。真是到了极致的geek。
下面是这台Linux的一些资料:
内核信息:
~ # cat /proc/version Linux version 2.6.20 (bellard@voyager) (gcc version 3.4.6 20060404 (Red Hat 3.4. 6-9)) #1 Wed May 18 23:22:20 CEST 2011
内存信息:
~ # cat /proc/meminfo MemTotal: 14136 kB MemFree: 10624 kB Buffers: 2048 kB Cached: 460 kB SwapCached: 0 kB Active: 2652 kB Inactive: 48 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 8 kB Writeback: 0 kB AnonPages: 204 kB Mapped: 320 kB Slab: 728 kB SReclaimable: 124 kB SUnreclaim: 604 kB PageTables: 36 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 7068 kB Committed_AS: 444 kB VmallocTotal: 1023976 kB VmallocUsed: 0 kB VmallocChunk: 1023976 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 4096 kB
CPU信息:
~ # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 5 model : 4 model name : Pentium MMX stepping : 3 cache size : 0 KB fdiv_bug : no hlt_bug : no f00f_bug : yes coma_bug : no fpu : no fpu_exception : no cpuid level : 1 wp : yes flags : bogomips : 20.22 clflush size : 32
1 楼
bugu1986
2011-05-22
geek 到底啊,不过我的ubuntu11.4 + chrome12 貌似 不行
2 楼
ol_beta
2012-01-07
。。。。厉害!
以前看到过有人打算用js实现jvm,正在进行中
以前看到过有人打算用js实现jvm,正在进行中