secondwtq
2022-09-24 00:09:10 +08:00
楼主之所以会觉得浏览器像虚拟机就是因为浏览器就是虚拟机。Web 一直把安全看的十分重要,浏览器不为其中运行的程序提供 FFI ,程序必须使用经过浏览器封装的 API ,程序之间的通信也有重重阻碍,就是为了安全,哪怕这些会严重限制应用的能力。这是我觉得浏览器相对于其他 runtime 的本质不同。
而一个操作系统,就算你不开虚拟机,他自己也是个”虚拟机”。OSTEP 里说,操作系统的 key idea 就三个:Virtualization, Concurrency, Persistence ,这里面的 ”virtualization” 不是说你开了个虚拟机才有 virtualization 。
另外这三个 idea 在 Web 中也有体现,只不过 Web 还掺了很多 domain-specific 的东西。
> “为用户或者开发者抽象出风格统一的体验“
你觉得 Web 体验不统一是因为不能和底层硬件打交道么 …
既然你也是 Linux 用户,那我分享一下自己的 Linux 故事:Firefox 目前在 Sway+NVIDIA 下是无法启用 GPU 加速的( bugzilla 上有个 patch 声称修复了这一问题)。而 Chromium 目前工作正常。但是由于两个浏览器都有软件绘制引擎,因此就算没有 GPU 加速也可以正常浏览绝大多数网页,只是性能会受影响。
这里面体验有一致的地方(都能用),有不一致的地方(性能不一样)
现在,把 Linux 这一层干掉,浏览器直接和显卡 MMIO 勾搭,你能保证相同的 bug 不会出现么?
在此基础上把 Linux 这一层加回来,体验有哪里出现了”额外”的不一致么?