1
ShadowPower 2021-10-23 13:11:00 +08:00 10
AOW 在 WP 凉了以后变成了 WSL,在做 WSL 的过程中,微软发现这玩意要想达到完全兼容 Linux,成本实在太高。
而使用虚拟机的话,可以直接使用真正的 Linux 内核,大幅降低了成本。 虽然理想很美好,但是还是要向现实妥协的…… |
2
ch2 2021-10-23 13:16:59 +08:00
WSL1 想保证兼容性太难了,开坑容易填坑难
|
3
ikas 2021-10-23 13:17:33 +08:00
虚拟化方案对比直接使用 nt 实现 linux 毕竟工作量与兼容性都好太多
另外 win11 目前已经大量使用虚拟化.比如默认启用的 vbs,还有 edge 的隔离安全模式 之前还有针对 win32 隔离的容器(winx) |
4
moen 2021-10-23 13:20:36 +08:00
可以参考同样是净室实现的 ReactOS 现在才达到什么样的可用性
|
5
ScepterZ 2021-10-23 13:56:44 +08:00
wsl1 搞了这么久,最后不也是放弃了么,感觉主要就是工作量太大了吧
|
6
fgwmlhdkkkw 2021-10-23 14:01:06 +08:00 via Android
@ShadowPower 哇,原来 wsl 是这么来的。
|
7
billlee 2021-10-23 14:27:35 +08:00
wsl1 其实可用程度已经很高了,弃坑真是可惜了。现在 wsl2 的虚拟机方案感觉还不如直接裸机装 linux
|
8
Dango101 2021-10-23 17:21:13 +08:00
@billlee 同感,虽然不知道 wsl1 是什么原理,但是 1 的内存占用基本上是无感的 用的很舒服 2 就太离谱了 至今一直在用 wsl1
|
9
q000q000 2021-10-23 17:25:54 +08:00 via iPhone
WSA...启动都要那么久...
|
10
ysc3839 2021-10-23 17:37:16 +08:00 via Android
因为当年是为了在手机等不支持虚拟化的设备上跑,所以只能搞子系统。
但是现在不需要支持手机了,子系统就没有明显优势了,自然改用虚拟化。 |
11
GrayXu 2021-10-23 17:48:16 +08:00
这就是为什么我们这些人一直在用 WSL1 :)
|
12
moen 2021-10-23 17:57:05 +08:00 1
@Dango101 WSL1 就是在 NT 内核层面把 Linux 内核实现一遍,把 Linux 内核 API 的调用变成 NT 内核 API 的调用,在应用程序看来 NT 内核就是 Linux 内核
|
13
TypeError 2021-10-23 18:37:29 +08:00 1
AOW 、WSL1 、Wine 、还有各种冷门系统兼容 Android App 用的转译,都是投入产品比太低的手段,
而且后续可维护性也不一定好, 我觉得用 HyperV 的思路是对的,现代电脑上吃性能的软件太多了,比如各种 Election 应用,不缺一个 HyperV 实例 完整系统的体验相比转译要完善不少 |
14
maplerecall 2021-10-23 18:45:04 +08:00 via Android 2
理想很好,工作量太大,之前的模式几乎等同于重新开发个操作系统,顶层到底层全都的改,即使效果好但开发维护成本都很高,迭代速度也快不起来。
来个不太恰当的对比就是老 edge 和新 edge ,老 edge 就是从头重新开发,轻快省电,但各种 bug ,无论功能还是稳定性要达到社区共同维护十几年的 chromium 的程度短期几乎不可能。于是打不过就加入,新 edge 虽然费电费内存了但市场份额的确证实了什么叫大家都说好… |
15
jim9606 2021-10-23 20:40:09 +08:00
WSL1 和 AOW 的底层实现跟上游是不一样的,差不多等于照着上游的接口重新实现一遍,工作量很大,兼容性也不好,有些特性还没法支持。
WSL2 和 WSA 这种虚拟机方案约等于照抄上游实现,加一点耦合度不高的 bridge 组件就行,特性齐全,兼容性还好,追主线也容易很多。 |
16
Halry 2021-10-23 21:14:05 +08:00 via iPhone
应该是现在的电脑性能越来越好了,让 nt 去兼容 linux 不如直接跑虚拟机,再加上虚拟方案越来越成熟。用老方法成本高维护性差
|