Linux? On my Windows PC??
If you work with software on Windows regularly, you might sometimes notice that there are programs you simply can’t run. For example, in a class I took, I needed to use MiniSAT, a SAT solver that would only run on Linux. While there are other ways to get Linux programs to run on Windows, the simplest solution seemed to be just getting Linux. However, I didn’t want to deal with installing an entirely new operating system, learning to use it, and troubleshooting any issues that would inevitably appear. I could also use a virtual machine, but that would have performance issues and be tedious to set up. The optimal solution to this problem would be some way to run Linux code through a terminal that Windows provides.
Luckily, I’m far from the first person to have this issue. In 2016, Microsoft introduced the Windows Subsystem for Linux, or WSL. This initial version functioned by hosting its own processes, and then translating the system calls to ones that would work on Windows. However, this implementation had some performance limitations, and was soon superseded by WSL version 2 in 2019. This version uses Windows’s Hyper-V virtualization to host one of several custom Linux kernels very close to the hardware.
So, why does this matter? WSL is very easy and quick to install, taking only a few commands in the command prompt. Once you install WSL, you can select which distro you want to use, and then after a few minutes you’re presented with a bash terminal running on your Windows system. You can now run whatever Linux-only software you’d like from the comfort of a Windows install! I personally found this to be very useful, as I was able to run a Python script in Windows, which called the SAT solver through WSL with zero issues. This essentially fills any need I would have for Linux without me needing to go through the hassle of switching operating systems.