WSL为Windows很多开发带来了续命的生机, 但是这到底是会让Win从此抛掉不适合技术/Unix的帽子, 还是说会给本来就日益臃肿的系统更大的包袱, 还是得静观其变….
被某软坑多了之后, 实在难爱了. 还记得曾经的
UWP….
0x00. 官方文档&答疑
WSL的底层原理基本全部依赖自官方文档和说明, 不过好在微软现在开放了许多, 所以相信会越来越好.
简介和背景, 我觉得官方也说的挺清楚了, 参考[history&overview](https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overvie w/) . 大家最关心的的确就是WSL和虚拟机之间的区别, 因为就算是Docker on win , 本质也是先走了一层虚拟机, 再走docker, 如同穿盔甲跳舞…
如果原生能内嵌Linux, 那对Win的发展将会有很大的影响.
0x01. 实现原理
19年5月更新: 图好像挂了, 不过没事, 这里有原文. 而且最新更新, WSL2比我三年前发的这个WSL1(暂且称)做了很大的改变, 同时Windows还开源了一个整合通用的Terminal . 这三年可谓一步一个脚印, 越来越拥抱开源了…..
1. 整体结构
经典的Microsoft Love Linux . 收购Github 并保证一定独立运营, VsCode越做越完善, 还打算提供Web版在线的…..
我相信这个图不是用Surface 画的, 但是大体上画的还算挺简洁了, 然后下面是比如Ubuntu 如何和Win 通过WSL来兼容的图: (详情参考)
2.文件系统和磁盘
首先是文件系统设计, 详情阅读官方的文章 :
然后看看具体的serial 实现.
3. 网络
WSL网络实现原理, 详情参考官方文档,
4. 系统调用
同样, 有单独的文章讲解
后续
因为原理跟细节不是很清楚,所以只能先留个大致的.然后有兴趣的同学可以一起研究
顺便可以对比一下WSL2和WSL1了, 似乎WSL2 感觉还可以期待一下, 某软看来下决心要拥抱Linux, 并彻底整改一下难用的terminal了 (已经开源)





