我一直想在Windows中使用Linux终端,并得到WSL 1的支持。但是(由于我猜)它是Hyper-V管理的虚拟机,所以运行起来很慢。使用WSL 2,它相对来说要快得多,但是我不明白微软是如何做到的。
他们是在改进Hyper-V还是停止使用虚拟机并创建魔术来并行运行Linux内核?
3
它仍然是虚拟的,但是WSL2使用linux(4.9)内核,而不是更改对Windows API的调用并以此方式进行处理。
—
guiverc
@Sachin WSL 1通过将Linux系统调用转换为Windows系统调用而在Windows上运行ELF二进制文件,这正是它的名称所描述的,“ Linux的Windows子系统”
—
wjandrea
WSL 1不是虚拟的@guiverc
—
Adrian
@ Sachin.Verma:“骗局”是什么意思?WSL 1是Linux内核API和ABI的实现,就像Linux内核是Linux内核API和ABI的实现一样。实际上,这就是大多数Linux兼容层的工作方式,例如FreeBSD,HP-UX,AIX,Solaris等上的层大多数也是Linux内核ABI和API的独立重新实现,而不是Linux内核的端口。它还以相反的方式起作用:Linux上商业Unices的所有兼容性层都是对其API和ABI的独立重新实现。
—
约尔格W¯¯米塔格
WinE也以相同的方式工作。它实现Windows API和ABI,而不是移植Windows以使其在Linux上运行(这在法律上是不可能的)。
—
约尔格W¯¯米塔格