# Windows for Linux Nerds

DevFeed: [Windows for Linux Nerds](<https://devfeed.tech/articles/windows-for-linux-nerds-35220.md>)

Original publisher: [Read original article](<https://blog.jessfraz.com/post/windows-for-linux-nerds/>)

Published: 2017-09-09T15:25:24Z

Content type: article

Language: en

Sources: [Jessie Frazelle](<https://devfeed.tech/sources/jessie-frazelle.md>)

Topics: [Windows Subsystem for Linux](<https://devfeed.tech/topics/wsl.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [POSIX](<https://devfeed.tech/topics/posix.md>)

Tags: [kernel](<https://devfeed.tech/tags/kernel.md>), [posix](<https://devfeed.tech/tags/posix.md>), [windows](<https://devfeed.tech/tags/windows.md>), [wsl](<https://devfeed.tech/tags/wsl.md>)

## AI overview

A developer describes learning Windows after joining Microsoft, with a focus on Windows Subsystem for Linux (WSL), its background, and aspects of how it translates Linux system calls through the Windows NT kernel. The article also mentions reproducibly setting up a Windows machine.

## Source excerpt

I recently started a job at Microsoft. In my first week I have already learned so much about Windows, I figured I would try to put it all into writing. This post is coming to you from a Windows Subsystem for Linux console! I'm headed to Seattle because I'M JOINING MICROSOFT, at the airport wearing this awesome shirt from @listonb & @Taylorb_msft ���� pic.twitter.com/8rnAg1dsPd -- jessie frazelle (@jessfraz) September 4, 2017 New job and I got a Windows computer and a Linux computer! If you are new to my blog, let me tell you: I love setting up a perfect desktop experience. I've written a few posts on it (for Linux), you should check them out. Setting up a Windows computer is something I have not done in quite some time. I will describe a bit how to set up a windows machine in a reproducible way at the end of this post. I would like to thank Rich Turner, John Starks, Taylor Brown, and Sarah Cooley for taking the time to explain a lot of the following to me. :) Windows Subsystem for Linux (WSL) Let's start with Windows Subsystem for Linux, aka WSL. Even @monkchips wrote that since I joined Microsoft "Linux Subsystem for Windows will definitely be getting a workout." I am super excited about Windows Subsystem for Linux. It is one of the coolest pieces of tech I've seen since I started using Docker. First, a little background on how WSL works... You can learn a lot more about this from the Windows Subsystem for Linux Overview. I will go over some of the parts I found to be the most interesting. The Windows NT kernel was designed from the beginning to support running POSIX, OS/2, and other subsystems. In the early days, these were just user-mode programs that would interact with ntdll to perform system calls. Since the Windows NT kernel supported POSIX there was already a fork system call implemented in the kernel. However, the Windows NT call for fork, NtCreateProcess, is not directly compatible with the Linux syscall so it has some special handling you can read about more