(WSL笔记)想用Linux开发环境?不妨试试WSL吧!

声明:本文系个人使用经验总结,不代表官方表述

1. 为什么推荐使用WSL

Windows不适合开发”,很多开发老手可能都会说这句话,但是原因他们可能就说不上来。这里就要讲一些历史了。Windows系统诞生的时候,为了与unix系统家族区分开来,做了很多截然相反的设计,比如引入盘符、使用反斜杠( )来表示文件路径。然而由于Windows并不是免费的,商用服务器系统如果选择Windows,将会支出一笔巨大的系统使用费用,这就造成了Linux在服务器系统中的流行,于是在Windows下开发的程序到了Linux系统运行,则会出现各种不兼容的问题。即使以跨平台特性著称的Java,如果在Windows下开发,到了Linux下运行也多多少少会出现一些水土不服的情况,典型的就是各种路径问题。

于是乎,很多老鸟都推荐使用Linux开发,然而由于Linux的桌面版远逊色于Windows,又由于个人电脑很多硬件驱动在Linux下的兼容性太差(这里点名英伟达,F**k you,Nvidia),再者程序员多多少少都会玩下游戏吧?难道Windows和Linux真的不可兼得吗?不,抛弃繁重的虚拟机和切换麻烦的双系统,WSL其实是非常好的选择,既可以使用Linux下丰富的开发工具,又兼有Windows的广泛性,在WSLg(WSL GUI)的加持下还可以使用Linux的桌面程序如IDE等,无论你是C、C++、NodeJS甚至Java开发者,都建议你试试WSL。

WSL有1.0和2.0两个版本,这里分别介绍一下,推荐使用WSL2。如图是我安装的WSL2 Ubuntu-22.04

WSL使用示例

2. WSL1和WSL2原理

2.1 WSL1原理

WSL1是Windows Subsystem for Linux的第一个版本,其核心原理是通过引入一个翻译层将Linux系统调用翻译成Windows系统调用。WSL1并没有Linux内核,而是通过Microsoft开发的翻译层将Linux二进制文件适应于Windows环境。这使得用户可以在Windows上运行基于Linux的应用,但性能相对较低。

2.2 WSL2原理

WSL2则带来了一些根本性的变化。它引入了一个真正的Linux内核,而不再依赖于翻译层。WSL2在Windows和Linux之间建立了一个轻型虚拟机,使得Linux内核能够直接在Windows系统上运行。这带来了更好的性能和更好的系统兼容性。

3. WSL1和WSL2优缺点

3.1 WSL1优点

简便性: 安装和配置相对简单,适合初学者。

低资源占用: 相较于虚拟机,WSL1占用更少的系统资源。

3.2 WSL1缺点

性能限制: 由于依赖翻译层,性能相对较低,尤其在对计算资源要求较高的情境下。

3.3 WSL2优点

更好的性能: 通过引入真正的Linux内核,WSL2在性能上有显著提升。

更好的系统兼容性: 由于有自己的Linux内核,WSL2能够更好地支持一些对于Linux系统更为特有的操作。

3.4 WSL2缺点

相对复杂: 相较于WSL1,WSL2在安装和配置上稍显繁琐。

占用更多资源: 由于引入了轻型虚拟机,WSL2相对于WSL1会占用更多的系统资源。

4. 对各种语言的开发者而言

4.1 WSL1

适用场景: 对于一些不对性能要求过高的语言,比如Python、Ruby等脚本语言的开发者,WSL1是一个不错的选择。它的简便性和低资源占用对于这类开发者而言是优势。

4.2 WSL2

适用场景: 对于对性能有更高要求的语言,比如C++、C#等系统级别的开发者,WSL2更为适合。其更好的性能和更好的系统兼容性会使得开发更为流畅。

5. WSL建议适用人群

5.1 开发者

初学者: WSL1是一个友好的入门选择,简单易用。

脚本语言开发者: WSL1适用于对性能要求不高的Python、Ruby等开发者。

5.2 专业开发者

系统级别开发者: WSL2更适合需要更高性能和更好系统兼容性的专业开发者,比如C++、C#、安卓等开发者。

要求更高的开发者: WSL2的性能提升和更好的系统兼容性使得它成为对开发要求较高的专业人士的首选。

6. 不适用人群

6.1 资源受限用户

硬件受限用户: WSL2相对WSL1占用更多的系统资源,对于硬件资源受限的用户可能不是最佳选择。

6.2 简单操作偏好者

对简单操作偏好者: 如果用户对于操作系统的配置和细节不太感兴趣,WSL2相对WSL1配置更为繁琐,可能不太适合。

7. 结语

通过对WSL1和WSL2的原理、优缺点以及适用人群的深入了解,我们能更好地选择适合自己需求的版本。在后续笔记中,我将基于自己的实践,介绍WSL2 Ubuntu-22.04的安装步骤、配置及进阶用法,欢迎关注,希望读者能够更轻松地在Windows系统上体验Linux的强大功能。选择WSL,让我们的开发之路更为畅通!

欢迎收藏、评论、点赞、转发

展开阅读全文

页面更新:2024-04-25

标签:简便性   开发者   内核   虚拟机   原理   性能   简单   环境   笔记   用户   系统   资源

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top