Hey friends, we are going to learn all about WSL the windows subsystem for Lennox here to live at build 2019. This is one of my most favorite things my next guest here to tell us all about this and more be sure to tweet your questions at us and will answer them, the best of our ability using the hashtag Ms build or from the link.
Hello there look at that got a bunch of folks here talk to us right now. We've got Ben Craig and Jack in the interest of time. I'm going to start with Jack because you told me that you were in a group that I've never heard of it like a mysterious MI 6 kind of a thing. What group are you with Sir, yeah, so my name is Jack like you mentioned I'm program manager for the Linux Systems Group and that's relatively new group within Microsoft. That sort of consolidating a lot of the Lennox efforts across Microsoft so.
Uh that things from making links work really well within Azure by committing committing source upstream into the Linux kernel that stand brought down into distributions that are then put into the Azure marketplace. That enables you to use new features like advanced networking features an interesting drive scenarios, and GPS within Azure. All supported in Lenox, so that's one piece of what the Lennox Systems group does the other piece. The reason that I'm sitting up here with you today is that we build kernels for internal projects.
So we'll talk more about that. But in the context of WSL. That's producing a Linux kernel that underpins the new subsystem for Lennox version 2 not to put too fine. A point out 'cause. We don't need to go and talk about is 2019. Now in windows and Microsoft. Microsoft loves Linux, but it's amazing that there are people who have on their resume. Both works at Microsoft and commits to the Linux kernel. I mean, this kind of so it's worth pointing out that that's pretty funny. Are you in and not the lyrics says not Lennox Subsystem.
But I work on the windows subsystem for Linux on windows subsystem for Lennox and I'm a program manager on it, and then there's a beautiful beard. You've got there.
Thank you very much God, I like your I tried and it failed, but it's Alright. So, your dev. I am I'm a developer on windows subsystem for Lennox. I had the pleasure of speaking with you and build 2016 when we were announced were keep on keeping on so when build when we announced WSL at build and it was like it's happening. Linux on the desktop is happening except on the Windows desktop. It was amazing and I could go out to dos but not dos type bash and then I was in a real world was really running Lennox I was running. Top I was running apt get. I was running a boon to. I was running cent. OS I was doing all kinds of stuff.
It blew it blew people's minds and I think it personally ushered in a new excitement around the power of the command line and also the power of a hybrid solution feel really cool. Having Lennox on one side and one window and VS code off to the side and put it together. These kind of these kind of solutions, but is it fair to say that there were things that WSLI guess. We'll call it now W cell one didn't do. Amazingly, well, right so one of the downsides of the approach of W SL1 was the.
Colonel implementation was it was written by us in Microsoft and it was partially incomplete right. So we had to develop this internally. It was not able to use the Linux source itself, so these things had to be re implemented and as you can probably can guess the Linux kernel has a really wide. API surface and it was very difficult to hit all of those checkboxes to make sure every application works. That's one downside, the other downside was that.
With some of these translations that we would do between Windows system calls would be slow for example, file systems. We get some some points that file system speed is slow on WSL, but that was one of the primary reasons. That was the thing that bothers me. The most anything that was amazing about it was that you've got the user mode. The elf binaries of Lennox sitting on top of a funking layer for lack of a better word, and when someone wanted to make assist call and say, Hey Open, a file. There was no Linux kernel there, so you'd say, Hey Open, a file and then.
You would call the windows kernel and say, Hey can you do this on my behalf exactly and there was this layer of indirection as you thanked your way down and you know, there's a cost for that and you've also got the Linux file system sitting on top of the windows file systems that have a price, there as well, definitely, but then you, said Jack that you are working in a group that facilitates Lennox being awesome everywhere. In the company and you said that we are producing a kernel.
Yeah, so Microsoft is actually been contributing to Linux for years now and the recent consolidation of those resources within a company into the Linux Systems Group is sort of what enabled us to go ahead and produce the kernel. That's used in W cell 2, but we have a huge amount of Lennox know how in house. Some of the primary maintainers of Lennox kernel work on my team on teams that are close to mine so yeah, absolutely Lennox is now built into Microsoft and the culture of sort of what we're doing there.
Now I don't know if these are third rail questions. But I wanted to understand why can't. You just pick up a kernel lying around and ship that one, yeah, So what we did for WSL is we locked into what's called the long-term stable branch or a long-term stable release. The Linux kernel so as you can imagine the code for the external is constantly changing and releases are snaps an established stable at different points in time. So we pick. The latest stable version and then as cell matures and we move forward and new code is added upstream to Lenox and new.
LTS versions are snapped will upgrade the kernel within WSL to those new versions and now certainly.
Craig if I'm going to put this on my machine. I could just fire up a VM right. I mean, it would take a couple of minutes. Several maybe several minutes. Depending I could fire up hyper V 8:00 PM minimize it sush into it. I'm trying to make that a thing by the kind of thing. It's going to be a thing sush into their machine SSH into the machine is no fun. So you should have the machine locally and it feels heavy and we have slow like I don't really want to turn my machine off or standby it if I've got a VM in the background.
I wanted to be there when it's there and not there when it's there, so there's integrations with windows that need to be really tight, yeah, so W cell is not a traditional VM experience? What you said about VMS. It slow to boot up is totally isolated its system resource heavy double assault, too, as fast to boot up you get access to a bash Shell in about a second in about what in a second.
1 second ago boots up in a second in a second. Yep, that's right so a lot of the technology is actually Azure technology. That helped make loud not involved. I can do this in airplane mode right now, it's not magical power that you brought from the cloud. Yes, we brought it down and it's really useful for client scenarios, and it's completely integrated with windows, so you can access your links files from Windows your windows files from Lenox and you can run all those on either or and run full Lennox applications directly on your windows machine. The thing that I thought was the most impressive.
Is I was at the command line and actually? Can we do it? Are we allowed to put something up on the screen. Here is this cool go ahead and throw me up on the screen. If you can. And I've got it on this laptop here. Let's see if we can pull that off I've pretty sure that we have.
Are you seeing me on the big screen there?
There we go let's do this, I'm going to go.
Uh.
That this is dos, but not dos because it's not really dos right.
If you look over here, I'm using the windows terminal and I've got gospel.net, but I got a boon to over here and if I go out to Aboon Two and.
I say Explorer dot EXE dot that's a Windows executable right. But this is Lennox and it cannot run that so I'm assuming I'm guessing here. I don't know anything. You are saying. Hey run this and then Lennox at some points like no and you catch him and do something and magic happens.
And then Explorer runs anyway right. This utilizes a feature of Lennox called been format. Miscellaneous orbin format. You're able to register binary formats with the Linux kernel that can be handled by user mode. It's a really cool feature of the next kernel. It's almost like they waited for us to need that feature it was certainly helpful to make this work and it works very well with WSL 2 as well, where we don't even have to make any changes to the kernel at all for this to just work really. That's like when do you have?
Register, like Visual Studio Code is registered code colon slash slash as a protocol handler. That's kind of not really a protocol. Hunter so it's a last chance to do something. It's very kind of set the similar kind of thing up there. So I said, explore.exe and suddenly. I'm looking at my file system to file system now here's. The thing W sales been around for a couple of years and you have been telling me for years don't mess with these files. Rich Turner has been telling you and now you made. It really easy for me to make these files so that another criticism of WSL.
Oh my Lennox files are in this really hard to find directory and even if I do, find them. If I edit them I can my memory thing we did is we went digging to find out where are these files? I want my files so now this is this feature is not exclusive to WSL to this will be available in the release of windows. That's coming out this month. You'll be able to see your entire Linux file system from Explorer via path like like that one on the screen, so speaking to Linux file system. We talked a little bit before Jack about how there are some purf issues here, but then we have a real colonel.
The speed here is 5X10 X depending on what you're doing. I used to go and run. NPM install and then just go home. Now it's fast. I'm not trying to overstate this. It's very fast in most scenarios as long as you're in the Linux file system. You'll have near native performance for a lot of stuff. So yeah, we were seeing. Some NPM Installers. Earlier going like 10 or 15 times faster than you would have seen on WSL one so.
It's much snappier and it'll be great for doing things that weren't great in W cell one like doing large builds managing databases. Things like this so it's great improvement in that way. There was a gentleman named Sam Saffron who works on discourse, which is a rails application and it's not just any rails application. It's a sophisticated rails application and Ruby and rails or not not well known for being awesome. On Windows is just challenges so I really wanted a Linux environment and he's like well.
Go ahead and fire this up and I'm thinking to myself, well, what's required? What do I need and he's like? Well, here's a here's a list of all the kind of stuff that you need you need reddish. You need Postgres. You need this. You need that and everything. So I didn't. I just worked. I literally went to the beginners guide to installing discourse on Ubuntu and it worked, and it was fast, I tried to do it on W SL1?
Not only did it take almost 1/2 an hour. I actually hit a block where I couldn't go any further because there was a syscall systems call that was missing so I was trying to do this cool like side-by-side benchmark and it is infinitely better. That's the great thing about having a full Linux kernel. There is that the entire system call interface is built out now, so in WL. One Ben and a lot of other developers were sort of Artisanally. Crafting these system calls in the emulation layer without access to the Linux kernel source.
So with W cell to you know, we expect much better compatibility for a wide variety of applications, including Docker Kubernetes. Estres things like that right. Doctor is an interesting point, 'cause I'm very used to running Docker for windows in windows. It fires up virtual machine of its own and then I can go and talk to it. From there and then in order to get Docker for windows to work with over 1. You're tunneling out and back into the universe and then down around? Can I just run docker now? Yes, but where is it?
Running in it runs totally in the Linux environment, so it's the exact Lennox version of Docker running on exactly a virtualized. Linux machine seriously. What about memory management and I have, like a text file somewhere where I say only 100 Megs because what if I want to run kubernetes? What if I want to use lots of memory. When we use all the memory. So currently we give you most of the memory available on the host you have room for when we got a little room for Windows Yeah, but you have as much memory similar to W SL1 right. It's not segmented. You have access to the full host 'cause if you want to build a big project.
You don't want it to be artificially slow just because you're not able to get as much memory as your needs. Now I wrote a little batch file. Let's go ahead and switch over to my screen here real quick and I wrote a little batch file that I'm feeling pretty good about it says WSL Dash T and a boon to its switch for W cell that basically shuts down the system right. It's not really necessary, but one of the things that I wanted to basically do was to have that, so that I could see how fast it started up so I'm here in.
Dos but not dos and I go and say, I'm going to one. One thousand there, we go was that.
That fake.
I'm thinking you need to add asleep to make it feel like something's happening. We could if you want to see the proof is in the pudding if you type message. You may have to type sudo? Do message if you're not running as root message and then everybody knows that's bad.
The MSG MSG sorry.
I spell it wrong, MESG Oh, you actually want me to write mess mess around like that perfect if you scroll up the time stamps are a little like kind of hard to read but you'll see everything if you go near the bottom you'll see some timestamps. It will say like about look. Max dynamic memory size. Basically, how much I have so that's pretty slick. So I'm really enjoying that and then we go back over here to Josh witnessing type. WSL dash task list.
What's going on here so that's enumerating all of the Linux distributions that you have installed with WSL looks like you have 3 you have.
I was trying to be tricky with my zoom. It tool there. There you go that's The One I installed at 16.04. That's when I convert it right so you'll be able to take your existing like a lot of people have their W sells just the way they like them. I can convert it to W L2 and you can also run them side by side, so you can see that some of them. Some of the issues that you have RW cell 1 backed this shows and you can also have to be self 2, back distros convert them back and forth anytime you like.
That's cool so I can which one is this, if I say that that will be the top one so this is W cell one so I just ran the default right and then you can upgrade it to Debbie cell two and back. Anytime you like so here's the real question. When do they get it.
So this will be available to in the Windows Insider fast ring next month. And then after that. We're going to evaluate you know the feedback that we get from our users. We really want to release something that people are really be happy with and based on our feedback this fall or next spring.
This is really like big deal, like I know you're understated people. But I hope that you feel. The excitement in the enthusiasm around this. It's been very fun. It's really cool. It's happening. You realize that it's a year have Linux on the desktop 19. It's fantastic. I'm learning so much right now, we're going to take a quick break but do stay with us for the windows terminal. We're going to learn all about that coming up next.