4 ms·
I've been using WSL on Windows 10 since it's release. I'd love to know the inside story of how it came to be. A lot of companies would never try something like
by erentz 9y ago
I've been using WSL on Windows 10 since it's release. I'd love to know the inside story of how it came to be. A lot of companies would never try something like this.
For me WSL has worked as perfect as could be expected, nothing failed to run that I need yet. The gaps are being slowly closed (e.g. executing between WSL/Windows). I no longer have to develop in a VM, nor be forced to use a Mac just because it has "unix" under the hood.
- oblio 9y agoNT has had support for "personalities" since its inception. This is not even the first *NIX one it has had :) Still, I agree that it's an impressive achievement.
- xorblurb 9y agoExcept WSL has little in common with traditional NT personalities. Traditional NT personalities were a false good idea, and have been a failure in the long term, especially to run Unix workloads -- however this jugement is easy with insight -- when it came out traditional NT personalities were quite interesting.
- ajross 9y agoNo idea about code commonality, but the broad architecture of WSL is basically the same as the original POSIX personality from the 90's. The "foreign" process runs in a special mode and handles a different set of system calls via a different dispatch mechanism in the kernel, but still on top of the same set of kernel functionality beneath that.
- pjmlp 9y agoActually they are using the picoprocess ideas taken from Drawbridge research. You are partially right, it is just that they improved a few things.
- xorblurb 9y agoTraditional NT personalities were about the mechanism details. Otherwise it is very current in operating systems to have a common kernel running different kind of userspace using different API - so of course there are some similarities, but only because it would be completely impossible not to have some.
- jfktrey 9y agoWhat was the first?
- my123 9y agoThe first featured one was Interix, which became SFU and then SUA. Picoprocesses (the base block behind WSL) were introduced in Windows 8.1, where SUA was removed (was deprecated in 8.0).
- jongalloway2 9y agoThere's some interesting technical background on the WSL blog, e.g. https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process-overview/ https://blogs.msdn.microsoft.com/wsl/2016/05/23/pico-process...
- johnhenry 9y agoIt seems that this grew out of a project initially designed to port Android apps to Windows Phone https://arstechnica.com/information-technology/2016/04/why-microsoft-needed-to-make-windows-run-linux-software/ https://arstechnica.com/information-technology/2016/04/why-m....
- sebazzz 9y agoYes, but that ran actually a hypervisor (Hyper-V based) on your phone. It was noticeable because when you gained command line access in an Android app you could find Hyper-V references. Also, when the phone had just booted, the Android VM was not ready yet, so if you tried to run an Android app a message was shown stating to retry it later.
- chrisper 9y agoWell, I'd love to use it if the I/O would improve. At the moment I just use Cygwin instead.
- monkmartinez 9y agoWhat are the problems with I/O? I am looking at this thread with an eye on buying a windows laptop for dev. instead of a mac.
- chrisper 9y agoIt is very slow. Like noticeably slow. Especially if it comes to stuff like rsync and a lot of files. If you just use vim and such you would probably not notice it as much. Also depending on how you develop you might run into unsupported things. For example, I once tried to run IntelliJ Linux version on it through X11 Forwarding. Didn't really run perfectly. So right now I am too afraid to develop in it because what if the real Linux acts differently? I guess you could always test it, but then why not just develop in Linux already?