这个pycon的演讲是标题党了一点,但它的内容还是很有意思的。
它想表达的核心观点是认为整个现代os和cpu都没有存在的必要,用wasm就行了。
计算机在早期是不存在复用的。在漫长的发展过程中,随着系统越来越强,也逐步发展出了越来越多的资源隔离能力。这个演化过程是渐进的,站在现在的眼光来看未必是最好的。
比如最早是计算资源的共享,于是有了进程。为了做好进程隔离,cpu硬件上整出了保护模式,整出了ring0/3(中间还有压根就没人用的ring1/2),内存上整出了MMU,应用跑起来需要不断陷入内核态切来切去,这里都会有性能开销。后来光计算资源的隔离已经不够了,又有了虚拟机,最终演化成容器这种轻量级的全系统级隔离方案。
按他们的观点是这里这一切的开销大约有20%。
但wasm的运行环境也是一个天然的全系统级的隔离机制。而wasm对比native的性能开销也是大概20%,那这样的话,理论上cpu保护模式这种老掉牙的东西根本就不需要存在。直接裸跑wasm,然后用wasm去直接跑应用就行了。wasm的实现可以认为是一个取代了部分CPU和部分OS功能的东西,一种完全基于软件的解决方案。这个思路确实还是蛮有意思的。
【 在 eGust 的大作中提到: 】
: 反正我实在是爱不起来 bash,新来个小伙儿做了点儿东西,里面的 bash 好多语法我都没见过……有个 devops 本来是写 ruby 的,但我们的 ubuntu 环境里实在差别太大,他被迫写 py 了。我自己的 container 如果已经有 node,只要需求复杂点儿,我就写 zx.js 脚本了,各种异步执行比 ruby 方便。
: 之前说的自己的 aws cli,本来是想用来练手 rust 来着,但 aws sdk 没实现 serde。好不容易基本上能把 debug 转成 json 了,然后意识到没法 deserialize。而且官方还解释了原因,就是编译速度已经相当慢了,加了就彻底没法用了,好吧那我就不惦记了……
: container 建一堆 adapter 的确是有点儿烦,我的 mac 现在有这些:
: ...................
--
修改:lvsoft FROM 49.93.112.*
FROM 49.93.112.*