6 ms·
This is really Microsoft catching up to the Mac in terms of integration with the open-source ecosystem which importantly drives the web. In the mid 2000's the
by mtzet 7y ago
This is really Microsoft catching up to the Mac in terms of integration with the open-source ecosystem which importantly drives the web.
In the mid 2000's the Mac really took off due to being a good-enough Linux replacement on the command line, while taking care of all the hardware integration and providing a sleek desktop experience. This really helped the Mac take off among hackers. This system wasn't as open-source as Linux, but it was good enough: Most of us don't want to mess about with the desktop stack. If the stack we care about is open-source and runs across many systems, then we still have the freedom. I find it fairly easy to work on both Mac OS X, Linux and WSL2 -- but not pre-WSL Windows.
The inclusion of a Linux kernel really seems to cause a lot of confusion. No, Microsoft is not about to remove the NT kernel. No, they're not about to supplant Linux. WSL1 did what the guys from Illumos and FreeBSD have also done: since the Linux syscall interface is quite stable, the NT kernel can simply implement these syscalls and handle them appropriately. The was that the NT kernel was still sufficiently different that the filesystem performance was quite poor and complex applications like Docker required more kernel features than was provided by just the syscall API.
Including a Linux kernel is really the nuclear option: rather than trying to fit Linux applications in Windows, they're running in their own world and providing integrations into this world. This means you can now run Docker on WSL2 for instance, but it's also complicated: Kernels really like to think that they own the world, for instance they keep memory around to use for later. WSL2 dynamically grows the amount of RAM allocated to the VM, which is quite clever, but I don't know how/if they're going to handle freeing memory again -- here the NT kernel really needs to communicate with the Linux kernel.
Anyways, the upshot is that no, Microsoft is not going to take over the world, but perhaps it will be easier to use a Windows laptop which supports all the stupid Enterprise software I need but still have a Linux shell for actual work.
- johanneswu 7y agoThere is a technique called "memory ballooning" http://www.vmwarearena.com/vmware-memory-management-part-3-memory-ballooning/ http://www.vmwarearena.com/vmware-memory-management-part-3-m..., which is probably also used by HyperV to free memory again.
- StreamBright 7y ago> a good-enough Linux replacement on the command line nit picking but it was more of a good enough bsd/unix than linux.
- reaperducer 7y agoNot really a nit pick, considering that OSX is certified full-fledged Unix.
- acqq 7y ago> rather than trying to fit Linux applications in Windows, they're running in their own world and providing integrations into this world. It is effectively their way to have an "integrated Linux virtual machine" inside of Windows. The WSL1 on Windows was relatively similar (but not enough for me) to Wine on Linux. The WSL2 is in some ways "more integrated" than the typical VM would be, but otherwise still similar to that. Not enough: my greatest disappointment up to now is that the "VM-like" behavior was present even in WSL1, if I understood correctly, the files "inside" were more special than the files inside Cygwin folders would be. Another disappointment was: it was not easy to install WSL on previous Windows 10 versions. Specifically, it was "in app store" but you weren't supposed to "click to install" -- it resulted in something weird. There were recipes what to do from the command line with hoops to take care of, so at the end... I've installed Cygwin, which I knew will work. Does anybody know, did WSL get better now? (Edit: in the last sentence: s/ it / WSL /)
- rbanffy 7y ago> I've installed Cygwin, which I knew will work. Does anybody know, did it get better better now? I really like Cygwin. With the MinTTY terminal, it was very nice. Slower than native Linux (or Windows), but enough of an environment to make me happy and productive.
- shigawire 7y agoI think you can do it all from powershell if you want or there are really only 2 GUI steps. Yesterday I: 1. Enabled the Windows Subsystem for Linux option from the control panel 2. Downloaded Ubuntu from the windows store 3. Open Ubuntu and it worked.
- acqq 7y agoGood. The last time I tried it was like "you just click... and then the problems just start": https://www.reddit.com/r/bashonubuntuonwindows/comments/7smf9m/help_wsl_wont_activate_on_my_freshly_installed/ https://www.reddit.com/r/bashonubuntuonwindows/comments/7smf... Regarding the problems between the "different filesystems" it was like: https://www.reddit.com/r/bashonubuntuonwindows/comments/9dkl12/sharing_files_between_windows_and_linux_wsl/ https://www.reddit.com/r/bashonubuntuonwindows/comments/9dkl... Which was especially bad: what's the point in having it "there" if you aren't allowed to access the files inside. Also problems with making a backup of that etc. In that aspects using a real VM (e.g. VirtualBox) the situation was much clearer. So from my perspective it was both worse than Cygwin and worse (or at least not better) than real VMs... I would really like to read if/how WSL improved. The similar experience was when I've tried to "just install ssh server". The things I've expected to "just work" didn't. Again at the end I've just used Cygwin.
- rbanffy 7y ago> I find it fairly easy to work on both Mac OS X, Linux and WSL2 -- but not pre-WSL Windows The thing that annoys me most on Windows is Windows itself. After using Linuxes for almost two decades now, the notion of the OS taking tens of minutes to self update when all I wanted was to quickly reboot it is unbearable. > I don't know how/if they're going to handle freeing memory again -- here the NT kernel really needs to communicate with the Linux kernel Usually "free" memory only happens when a Linux machine starts. During normal usage most of the memory is being used to cache things and, when some large app frees its own memory (such as when Slack quits) it'll eventually be used for other things. Not sure how that would work. Memory doesn't stay unused in Linux for long - whatever programs free will end up being used to cache information that's slow to access.
- gorio 7y agoI don't see how that is a specific problem. All operating systems have annoyances. But if you are for example an engineer you won't find a competitive range of software on Linux. For someone in need of doing software engineering a similar situation have been developing on Windows. WSL changes that.
- rbanffy 7y ago> All operating systems have annoyances But not all annoyances are created equal
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- gorio 7y agoI don't find that annoyance particularly grave or different from other annoyances. I just updated and rebooted my Windows machine I haven't used for a month, took maybe 5 seconds longer than usual. Regardless if that happens every day that isn't something I am going to base my choice of operating system on. This is one of the problems with desktop Linux, caring about some detail (even though it might affect some a lot) rather than the big picture which affects everyone.
- znpy 7y ago> If the stack we care about is open-source and runs across many systems, then we still have the freedom. No we do not.
- fetbaffe 7y agoCorrect, every spying bureau, organization or company runs open source & that probably takes away freedom.
- robertAngst 7y ago>In the mid 2000's the Mac really took off due to being a good-enough Linux replacement on the command line, while taking care of all the hardware integration and providing a sleek desktop experience. This really helped the Mac take off among hackers. This system wasn't as open-source as Linux, but it was good enough: Most of us don't want to mess about with the desktop stack. Who are you to claim this? The closed off nature of Apple is very dangerous to trust, and I don't know any 'hackers' who are willing to risk unchecked/vulnerable OSes. I have no idea if Apple has a backdoor to the FBI. We do know on Linux there is no hidden backdoor.
- scarface74 7y agoAs long as you some assume that there are no unpublished exploits in Linux. The Heartbleed bug was in open source code for a year and a half before it was found.
- fortran77 7y agoFrom the very start, the NT micro kernel was designed with multiple OS APIs in mind. They implemented a Posix subsystem decades ago.
- cmiles74 7y agoI think it's a little sad that they are going this route (wrapping a running Linux kernel) rather than working to improve Windows disk performance and continuing to improve their WSL 1.x product. It looks like they are missing out on an opportunity to improve the NT kernel for what looks like short-term gain.
- ryl00 7y agoFrom what I understand (which is very, very little!), fundamental NT vs Linux architecture differences wrt their respective file systems prevent much more performance improvement in WSL 1.x.
- sterlind 7y agoThey do, but NT file performance over many files scales abysmally. The two major reasons are a legacy of bad decisions: deleting files is forbidden if there are open write handles, and filter drivers are allowed to be placed between other drivers in the file I/O stack. There's not much Windows can do about this, which causes tons of issues with e.g. git clone. Erick Smith is ludicrously smart, he just couldn't squeeze better FS perf out of WSL1 due to these issues.
- tracker1 7y agoI wouldn't say bad decisions so much as different decisions. Given WSL would abstract out file system access anyway, why didn't they just bridge WSL's FS similarly to how they did with WSL2 anyway? Though, I'm not sure there's much advantage left at that point.
- Sangeppato 7y agoI don't think they could improve I/O speed without modifying NTFS itself (unlikely). This new approach is certainly easier to maintain and develop
- trollied 7y ago> I find it fairly easy to work on both Mac OS X, Linux and WSL2 -- but not pre-WSL Windows. Cygwin really helped me with the Windows part of that for many years. I switched to a Powerbook about a year before the Intel switch & haven't looked back since. Linux has never been a good enough desktop all-rounder to make me switch to it as a desktop OS. Maybe I should take another look.
- tracker1 7y agoI'm planning a desktop upgrade (now sometime later this year), eyeing an r7-3950x or next gen threadripper. I'll probably go Linux as my primary desktop again, and VM for windows and macos as needed. I feel it's there enough at this point. Probably been 5-6 years since I've tried it as my primary OS. Though I did keep my grandmother on Ubuntu for about a decade before she passed (her old game ran under wine, and no worries about windows viruses/scams).
- noufalibrahim 7y ago> Most of us don't want to mess about with the desktop stack. If the stack we care about is open-source and runs across many systems, then we still have the freedom. A tangential point but a relevant one nonetheless. I owe most of my tech. skills to the fact that it was hard to get a Linux distribution running on a cheap PC. I had to read up about hardware, learn how to fix installation issues, sometimes recompile the kernel with different options (and hence study them) and a number of other things simply because it didn't "just work". It gave me an intimate comfort with Linux that I just don't have with any other system (including MacOS which I used for about 2.5 years). I completely get the notion that when one is a professional he or she shouldn't need to meddle with system level quirks to get a productive environment and a desktop and thankfully, modern Linux is more or less there. I haven't had any major trouble in a long time with it. However, during college or early years, having a system that demands some amount of work to get it working has, atleast to me, be crucial in honing my skills. I wouldn't change that even if I could. I'd vigourously defend it.
- zaarn 7y agoThe Linux Kernel can free memory; the balloon driver included in all kernels allows it to dynamically shrink and grow memory with a variety of urgency levels and the kernel can (optionally) shrink memory itself once it's not needed based on various parameters. It's fairly reliable and works well.