2026-04-02
北京时间3月31日,中国男足在FIFA系列赛中以0-2不敌喀麦隆,以1胜1负的成绩结束了本次赛事征程。在新帅邵佳一的带领下,这支焕然一新的国足以全新姿态亮相,引发了球迷们的广泛关注 ... [详细]
|
你是否曾思考过,浏览器的潜力究竟有多大? 回溯二十余载,浏览器的主要功能不过是浏览简单的网页小游戏。然而,随着技术的不断进步,它如今已能播放视频、播放音乐、编辑文档,甚至支持视频剪辑、设计稿绘制以及3A游戏的云串流服务。 但即便如此,仍有人觉得这远远不够。 一位名为copy的开发者,竟然将超过100个操作系统整合进了浏览器之中。 从1985年的Windows 1.01到Windows 2000,从Linux、FreeBSD到Android,再到鲜为人知的Haiku、KolibriOS、SerenityOS等,超过100个操作系统整齐排列在页面上,宛如一部精炼的计算机发展史,任由用户选择体验。 然而,这并非全部亮点。 关键在于,这些系统并非通过模拟还原而来,而是真正在网页中运行的原版系统。 或许你对此感到困惑,别急,接下来将为你揭晓答案。 这个项目名为v86,其网址为copy.sh/v86,免费且开源,在GitHub上已获得超过2万人的星标,自2012年起便持续更新维护至今。 当我初次发现这个项目时,也感到十分震惊,于是决定亲自尝试一番。我选择了Windows 98,毕竟这是我们这一代人童年时期的回忆。 点击进入后,桌面迅速呈现。 说实话,我内心深处的操作记忆依旧清晰,下意识地点击“开始”-“程序”-“游戏”,启动了扫雷游戏。 画面与小时候一模一样,我也如同小时候一般,懒得计算,全凭运气点击,结果三下就触雷了。 细心的朋友或许已注意到上方动图中的一只羊,它会在任务栏和窗口间跳跃奔跑,这是一款名为sheep.exe的桌面宠物软件。 启动后,一只白色小羊便会在屏幕上自由奔跑,若用鼠标将其提起,它还会挣扎几下。 随后,我又体验了纸牌接龙和画图功能,说实话,它们都保留了原汁原味的体验。 但即便如此,我仍有些半信半疑: 这真的是一个完整的操作系统在运行吗?会不会只是将几个经典程序用网页重写了一遍,并套上了Windows 98的外壳? 于是,我决定进行逐一验证。 我打开了控制面板,里面包含了数十个设置项。Add/Remove Programs、Display、Network、Modems、ODBC Data Sources等,我一一点击尝试,结果全部都能正常打开。 以Desktop Themes选项为例,我点击进入并选择了一个主题进行切换,结果壁纸、图标和窗口颜色都发生了变化。 甚至,我还打开了IE浏览器,进入了百度网站,虽然由于兼容性问题加载得有些磕磕绊绊,部分字符无法显示,但页面还是成功呈现了出来。 这让我感到十分惊讶,毕竟在浏览器中运行一个完整的操作系统并实现上网功能,这可不是一件简单的事情。 控制面板可用、主题可换、浏览器能联网,经过这三重考验后,我彻底信服了—— 总不会有人为了一个怀旧网页,特意制作一整套能换主题、能联网、还有控制面板的皮肤吧? 因此,我基本可以确定,网页中运行的就是一台真正的Windows 98系统。 但令人惊叹的是,这样的真实系统在这个网页中竟然还塞了超过100个。 比如,你可以看到Windows 1.01的桌面,极其简陋,只有窗口没有图标,隔着屏幕都能感受到那股古老的气息。 不得不说,那时的审美还挺不错,这配色确实挺好看。 你还可以体验到Windows 2000系统,这个夹在98和XP之间、很多人可能只用过一两年的系统,桌面上还预装了一堆Blender、Winamp等老软件。 甚至,你还能玩到一个预装了DOOM、毁灭公爵、模拟城市等经典游戏的DOS系统。 只需输入几行命令,1993年的地狱大门便在浏览器中为你敞开。 这还没完呢。 在v86上,你还能体验到Android-x86系统,信息、拨号、联系人、浏览器等功能一应俱全,侧滑还能打开程序列表。 你可能会感到好奇,安卓不是手机系统吗?怎么也出现在这里了? 原来,Android-x86是一个社区项目,专门将安卓系统移植到了x86架构上。既然安卓都自己跑到了x86的地盘上,v86自然就能轻松将其运行起来。 此时,我脑海中只剩下一个问题: 这位开发者究竟是如何做到的?为何能在网页中体验到如此多的系统? 后来,我在GitHub上的项目说明中找到了答案。 开发者copy竟然用代码构建了一台虚拟的PC? 从CPU、显卡、声卡到网卡,都是copy用代码模拟的。那些Windows系统根本不知道自己运行在网页中,还以为是台真正的机器呢。 但要想骗过操作系统,其实并不容易。 系统在启动时,会疯狂探测硬件:读取中断控制器的状态、查询定时器的频率、向显卡寄存器写入值观察反应。任何一个硬件的行为与真机不一致,系统就会报错或直接黑屏。 因此,copy需要用代码精确模拟一整套硬件的物理行为,包括每个寄存器、每个时序、每个边界条件。 要知道,仅模拟一个x86 CPU的工作量就已经非常庞大了。 Intel的官方手册中,仅指令集这一卷就有两千多页。copy所做的事情,就是将这两千多页手册中的每一条规则,都翻译成JavaScript和Rust代码。Windows使用的每一条指令都不能遗漏,否则系统就会崩溃。 而CPU只是这台虚拟电脑十几个硬件之一,你再想想其他的呢? 我只能说,想想就让人感到头皮发麻。 光有虚拟硬件还不够。操作系统运行的是x86机器码,而浏览器能执行的是WebAssembly,这两种语言完全不通,要运行起来需要进行翻译。 但翻译也需要时间,因此V86采用了JIT编译(即时编译)技术。 程序刚开始运行时,v86会逐条指令进行翻译,翻一句执行一句,这样速度很慢,“电脑”运行起来也很卡顿。 但同时,v86会在后台偷偷记录哪些代码被反复执行。一旦发现某段代码被调用的次数超过阈值,就将其整段翻译成WebAssembly的编译版本并存储起来。下次再碰到时,直接运行编译好的版本,速度就会快得多。 这个项目大概就是这样,我只能说太厉害了。 大家如果感兴趣可以自行访问体验。不过,我也很好奇:这位哥们为什么要做这个项目呢? 在进行了一些简单的搜索后,我发现这个人非常低调,没有公开社交媒体和博客,只知道他叫Fabian Hemmer。 我顺着他的项目列表往下看,越看越觉得有意思:这位哥们很喜欢小巧的东西。 比如,他做过只有652字节的俄罗斯方块、456字节的贪吃蛇、用159字节画出来的Ulam螺旋。他还用K语言连续做了六年的Advent of Code编程挑战(K是一种极端精简的数组编程语言,常见于金融量化领域)。 因此,这位哥们所做的事情,翻来覆去就一个主题:将东西塞进最小的空间里,将一件事情做到极致。 可能有人会问,在浏览器里运行Windows 98这样的系统,搞这些花里胡哨的东西有什么用呢? 但Fabian还真将这个执念变成了工作。他创建了一家名为Droplet Computing的公司,专门销售让桌面应用直接运行在浏览器中的技术,底层使用的还是WebAssembly,与v86一脉相承。 别人是在电脑上安装软件,而这位哥们则是用软件搭建了一台电脑,再在这台电脑上安装软件,最后还把这件事做成了生意。 或许极客就是这样,写代码不一定是为了解决问题,有时只是想看看这条路能走多远。 走着走着,路就真的走出来了。 撰文:刺猬 编辑:莽山烙铁头 面线 美编:焕妍 图片、资料来源: copy.sh/v86 |
2026-04-02
北京时间3月31日,中国男足在FIFA系列赛中以0-2不敌喀麦隆,以1胜1负的成绩结束了本次赛事征程。在新帅邵佳一的带领下,这支焕然一新的国足以全新姿态亮相,引发了球迷们的广泛关注 ... [详细]
2026-03-24
本文深度剖析处女座不爱一个人的表现,包括情感淡去的具体迹象和应对策略,帮助读者更好地理解处女座的情感世界。 ... [详细]
2026-03-19
拜仁慕尼黑采用双账户财务架构,主账户资金收紧但安联球场子公司持有九位数流动资金,这种战略储备机制既符合德甲财务规范,又能有效保障俱乐部运营稳定性。 ... [详细]
2026-04-01
意大利队在世界杯预选赛附加赛决赛中出局,引发知名解说员詹俊和黄健翔之间的争议。詹俊嘲讽黄健翔涉博彩卖料,引发网友热议。 ... [详细]
啥病人看了这个都得好啊! 副标题 这胸是真的! 副标题 你赢了! 副标题 我是关心这是在哪里
乞丐装的最新境界! 副标题 买家你确定你不是阿宝?? 副标题 这裤子不敢坐下啊! 副标题 颜值
这鼠标垫你看到了什么?邪恶了吧! 副标题 毫无违和感! 副标题 小卖部的这女孩真会选呀! 副
女人真的不容易,怀孕后,内脏被挤压的严重,挺着大肚子干啥都不方便!近日,刘嘉姵和闺蜜集体拍
锤哥的替身也是辣么的帅气! 副标题 锤哥的替身好多啊! 副标题 你杀了你的替身,你可就没替
夏达在1981年4月4日的时候出生于湖南省怀化市,毕业于长沙理工大学艺术设计系,是一位知名
和尚也就是大家口中的僧人、出家人,据说在兴起之初,和尚是一个尊称,意思为师的意思,和为三
原油也就是我们通常所说的石油,一般是指那种直接从油井里开采出来的还没有进行过加工和