11 ms·
I wish Microsoft would release their own linux-based OS with a compatibility layer to let me run Windows apps. I'm not overly impressed with the direction Apple
by mullingitover 7y ago
I wish Microsoft would release their own linux-based OS with a compatibility layer to let me run Windows apps. I'm not overly impressed with the direction Apple is going but I really enjoy a *nix-native environment too much to go back to vanilla Windows. It would change the math a lot for me if it was full-blown linux under the hood.
- groceryheist 7y agoTotally agree. This is maybe the one thing that could potentially bring me back into the Microsoft ecosystem.
- giancarlostoro 7y agoWindows Subsystem for Linux is really close to that though. If you have not tried it yet you can download a Windows VM for developers from Microsoft that includes WSL and other dev goodies. Its mostly for evaluation but good enough to get started with. Edit: Here is the link to the Microsoft provided VMs: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines https://developer.microsoft.com/en-us/windows/downloads/virt...
- mullingitover 7y agoThis is still with Linux running in a VM though, right? I'd like a lightweight VM for legacy Windows and Linux running on metal. Given Microsoft's zeal for legacy support I'd say there's a snowball's chance in hell for this, but a man can dream.
- SteveNuts 7y agoWSL version 2 uses the Hyper-V Virtualization API but is not a VM. The first version of WSL is just another process in task manager, with all the syscalls and filesystems emulated.
- chrismorgan 7y agoWell, each WSL1 process is a Windows process. If you’re running vim in bash, for example, you’ll see “vim” and “bash” as separate processes in Task Manager. WSL is all about ELF binaries natively, just as Win32 runs PE executables natively.
- kevingadd 7y ago"windows process" is misleading, WSL uses a separate "linux subsystem" with its own syscalls, process/thread data structures, etc. It also uses its own file system (albeit with all the state stored in NTFS and affected by filter drivers, which is why its I/O is slow)
- chrismorgan 7y agoThey are Windows processes, just as the Win32 subsystem also spawns Windows processes.
- dblohm7 7y agoProbably best to refer to them as NT processes for the sake of clarity.
- chrismorgan 7y agoTrue, I thought that a few hours after I wrote my last comment but couldn’t update it by that point and didn’t respond to it. Windows NT is the kernel, Win32 is the Windows subsystem that everyone’s used to (including kernel32.dll), WSL is a subsystem that runs ELF binaries and implements the Linux syscalls. It’s not yet obvious to me how much WSL2 is actually even a Windows subsystem, given that it’s running it as an actually separate OS.
- godelski 7y agoI just want Linux with the ability to use PowerPoint. (I also want to just be about to plug in my HDMI to my laptop and have it work. Literally the only two things I care about)
- marcianx 7y agoFWIW, I have given major conference talks years back on my linux laptop with PowerPoint running via Crossover Office (wine), mostly due to my advisor's insistence on using PowerPoint. So that has already been a thing for a long while.
- godelski 7y agoMy issue is that with nvidia laptops the hdmi connection almost never works as expected, when I have cuda installed. I'll try proprietary or noveau drivers. I've driven my monitor with intel drivers. I've tried so many things, but it has been multiple laptops that I've just never gotten this to work. I just can't have cuda and use my laptop for presentations. So I just always keep a windows partition just for presentations. If you do have a suggestion I'd love to hear it. I've never used crossover. Thanks, I'll look into it.
- rightbyte 7y agoI tried to do CUDA programming on a laptop with Ubunto but gave up. It worked fine on a stationary computer. There has to be something with Cuda that messes everything up on laptops.
- giancarlostoro 7y agoI dont think its a VM like Docker no. WSL processes show up under the task manager. This is more like Wine but Line... In a sense. But a little trickier.
- monocasa 7y agoDocker's not a VM.
- dboreham 7y agoSomeone who uses MacOS might think Docker implies a VM perhaps? (Linux VM needed to get Linux Containers to run).
- fortran77 7y agoDo Docker people really think it’s a VM? Or has the meaning of “VM” shifted this past year?
- robrtsql 7y agoI think the OP is probably referring to the fact that running Docker on Windows and macOS is accomplished by running a Linux VM which the Docker containers run in. Not that Docker containers are VMs.
- fortran77 7y agoI didn't know that macOS users don't run Docker natively! On Windows, it's native: https://docs.docker.com/docker-for-windows/ https://docs.docker.com/docker-for-windows/
- mtzet 7y agoDocker desktop runs a Hyper-V VM. Prior to that, Docker used a Virtualbox VM on Windows. The current plan seems to be to integrate with WSL2 once that ships [1]. [1] https://engineering.docker.com/2019/06/docker-hearts-wsl-2/ https://engineering.docker.com/2019/06/docker-hearts-wsl-2/
- kop316 7y agoI would actually wonder if it could do that via VMs. That why you can keep compatibility, but then change the underlying system.
- tbrock 7y agoJust run Linux and then run a Windows VM in QEMU, seems like you can do this now.
- naikrovek 7y agoWhen you run a type-1 hypervisor, the only thing running on the metal is the hypervisor. This is what happens in the case of WSL 2; both Linux and Windows (the host OS) run in very (very) lightweight VMs.
- inlined 7y agoIirc, even the Win32 APIs sit above the subsystem layer. There was the OS/2 subsystem back in the day, Win32, and one more I can’t remember from my training 11 years ago.
- deburo 7y agoJust thinking out look because that is just very improbable. But effort wise, implementing the win32 layer over linux is a harder thing than what they did with wsl1, surely right? But at the same, their wsl team was like what, a few guys? 10, 20? But the linux kernel source is opened maybe that's the difference.
- Arnavion 7y agoSQL Server on Linux already uses a thing that resembles a Windows syscall-emulator to be able to run a bunch of Windows user-space unmodified. https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-server-on-linux-how-introduction/ https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-se... (But it's more aimed at services, so doesn't do GUI etc.)
- pessimizer 7y agoOr just lock down a BSD like Apple did and adopt wine.
- cameronbrown 7y agoThis is probably an unpopular opinion but.. there is a lot of value in having multiple competing kernels. In the same vein as browser engines, any monoculture is a bad idea. Not to mention there's been a lot of good work done on the NT kernel itself. Under the hood it's pretty advanced, even with all the user-space cruft on top.
- AnIdiotOnTheNet 7y agoSadly, much like with the web, things have evolved such that it is virtually impossible to create a competitor due to all the accumulated complexity. The driver problem on the PC platform is pretty much insurmountable at this point, so any competitor would have to begin life, and gain massively in popularity somehow, on a much less flexible hardware platform. It's a shame and makes me sad for modern computing.
- cameronbrown 7y agoI wouldn't be so cynical. As with all things, tech comes and goes in cycles. I think with the limit to Moore's law rapidly approaching for current silicon, there's a good chance that efficiency & simplicity will become front and centre again at some point. Not sure if this will mean new architectures, operating systems & better tools.. but one can dream!
- AnIdiotOnTheNet 7y agoIt is difficult to continue to hope for that while watching people cheer on additional layers of complexity like the garbage fire that is the modern web.
- sjruckle 7y agoYes, but if garbage never caught fire nobody would bother inventing better fire suppression techniques. Also, nobody ever saw a fireman by hiding inside with their window blinds shut. Take a peek outside, what you see might bring you hope.
- Scarbutt 7y agoThis will make windows more linuxy than macos. So for all that just want a local nix enviroment for dev (and to most these means linux), Microsoft has actually beat Apple at this.
- TimTheTinker 7y ago... except that (a) WSLv2's kernel will be running in a VM, and (b) macOS's kernel is much more like Linux's -- fork/exec, networking, filesystem, memory, TTY. I see WSLv2 as more of a concession that a *nix-style interface is what developers want, and that the NT kernel can't deliver that.
- wahern 7y agoNT supports interfaces for supporting a fork model efficiently, it's just not well documented. In fact, you can write an efficient, Windows-native POSIX environment entirely from user space using existing APIs: https://midipix.org/ https://midipix.org/ The only thing that NT really lacks is a Unix-style TTY subsystem. The interplay in Unix between TTYs, process control, and signals is complex and deep, and none of it lends itself toward abstractions--it's all quintessentially Unix. For almost everything else, NT provides interfaces that can be used to efficiently implement Unix semantics. Microsoft isn't interested in supporting a modern POSIX environment natively as that would merely accelerate the migration of the software ecosystem away from Windows APIs. IMO, it's why they killed WSL1. WSL1 was de facto a modern, native Unix personality on NT. They may not have managed 100% Linux compatibility, but they could've simply relabeled it Windix or something, used a small team to round things out, and received UNIX V7 certification in a jiffy. WSL is about managing the shift toward a Linux-based cloud world, capturing as much of that business as they can without unnecessarily risking their existing footprint. WSL2 neatly allows them to maintain Windows API lock-in while also providing substantial value for those needing to develop Linux-based software. WSL1 fell short on both accounts, though standing alone I think it was much cooler technology.
- TimTheTinker 7y ago> They may not have managed 100% Linux compatibility, but they could've simply relabeled it Windix or something My take on it was that they were never able to implement all the syscalls (WSL just couldn’t reliably run some production server software), and filesystem calls were horribly slow (try npm install on a reasonably large JS project if you have any doubt). You may be right — but I’d still like to dream that one day Microsoft will release a true Linux (or OpenSolaris, BSD, or whatever!) OS of their own, which their Office apps will fully support. That’ll be the day I weigh another option besides macOS.
- umeshunni 7y agoAbsolutely. At this point, there isn't much value for Microsoft to hang on to the legacy of Windows - with most of their revenue coming from Azure/Cloud and developer products, it might be time to say goodbye to that legacy and make it subsystem on a modern Linux-based system. That might also be a way for them to become more relevant in mobile devices and platforms.
- luckydata 7y agoWindows is a massive business for Microsoft still.
- jacques_chester 7y agoThe line item in Microsoft's last annual report which encompasses Windows is "More Personal Computing" and shows $10 billion dollars of operating income on $42 billion dollars of revenue. Windows revenue grew $925 million. Not to $925 million. By $925 million. https://www.microsoft.com/en-us/annualreports/ar2018/annualreport https://www.microsoft.com/en-us/annualreports/ar2018/annualr...
- brennebeck 7y agoEh? ‘Most’ of MSFTs revenue comes from Windows and Office. Isn’t Azure/cloud/server less than ⅓? Not that that’s not substantial, but it’s not most.
- simaracode 7y agoPrimarily Office business (on premises and cloud) server applications such as SQL and Windows Server, Azure, Windows.
- delfinom 7y agoWell...having driver and app compatibility going back to Windows 7 in 10 is still a massive pro. Linux's driver architecture and even app distribution is a fucking nightmare.
- jussij 7y ago> At this point, there isn't much value for Microsoft to hang on to the legacy of Windows I would say this move by Microsoft is the exact opposite, because it maintains Windows at the centre of the picture. Microsoft is basically saying, look you can have all your Linux goodness and best of all you can access all that goodness using your current Windows desktop. Using WSL2 the between Windows/Linux are very blurred.
- filmgirlcw 7y agoDisclosure: I work at Microsoft but not on Windows (and my work machine is a MacBook Pro FWIW) WSL 2 is a lot like that -- it's a VM in the sense that it uses Hyper-V, but it's super lightweight. And in fact, when WSL 2 is enabled, both Windows AND Linux are running in the same type of VM (separate, obviously), so it's near-native performance in a lot of ways. There are still some I/O issues that the team is actively working on, but early benchmarks are quite promising.
- solotronics 7y agoI am a network/systems guy so not being able to do full packet captures and such on WSL is the only thing stopping me from using it full time.
- anthony_doan 7y ago> There are still some I/O issues that the team is actively working on, but early benchmarks are quite promising. =/ Hoping to run my R code on WSL 2. Glad I got the answer. I wish you guys well on I/O issues. Is there any performance hit for WSL2 in regard to process forking? I recall that how window and unix deal with process is different (my R code uses mclapply parallel package for unix). I'm curious if there will be any performance hit that stands out versus running on a unix system for parallel/concurrency code.
- kumarharsh 7y agoOn Reddit, they had a benchmark for WSL1 vs WSL2 and it showed that the Single core perf of WSL2 was sometimes better than Windows (and even bare metal linux - how that happened I am not sure). The multi-core was not as good, but still better than WSL1. I can't find that exact thread right now, but here's another one comparing WSL with Windows: https://www.reddit.com/r/bashonubuntuonwindows/comments/c1r6w0/wsl2_ubuntu_vs_windows_pro_18917_insider/ https://www.reddit.com/r/bashonubuntuonwindows/comments/c1r6...
- londons_explore 7y agoI bet the windows hardware drivers for initialising caches, memory busses, power states, cooling etc. set certain systems up for slightly better performance.
- underwater 7y agoWhy? This is a common ask, but what exactly makes a Linux kernel superior to Windows? There seems to be an assumption that Linux is the ultimate in OSes. But most of the value comes from the large ecosystem and momentum, rather than specific technical advantages.
- opencl 7y agoThe biggest practical advantage I have found is that Linux has dramatically better filesystem I/O performance. Like, a C++ project that builds in 20 seconds on Linux takes several minutes to build on the same hardware in Windows.
- jddj 7y agoI just want to say, because some posts here have mentioned community but not hit on this directly. The value of Linux (to many) rests on its FOSS value system.
- cookiecaper 7y agoIn the post-SGI, pre-Second-Jobsian-Revolution world of the the mid-late 90s, there was a real malaise in workstation computing. The systems were dumbed down, the hardware was homogenized and commoditized into joyless beige, an ocean of "Try AOL Free for 100 days" CDs jostled and slushed amidst the flickering fluorescence of the cube farm, where CRTs and overhead lights would never quite hum along at the same frequency, zapping the air with an eerie, sanitized sick-static. This was the future of computing. This gloomy world of palpable beige-yellow-purple is the world of Microsoft Windows. As a product, it caters exclusively to that clientele, in that environment. To be blunt, above all other design considerations, Windows was built to accommodate the lackluster office drone -- or, more precisely, their bean-counting overlords who wanted to save on user workstations. Despite attempts to undo this, the design has proven impossible to build upon. How many legitimate improvements in the cutting edge of either academic or industrial compsci have been built on Windows technology, for any reason other than "MS signs my paycheck so I'm contriving this to appear like I'm happy to be using PowerShell"? MS was able to paper over the deficiencies for a while through sheer force (pushing .NET as a semi-unified computing environment, Ballmer screaming "DEVELOPERS!", etc.), but Windows was in no way prepared for the revolution brought by virtualization in the mid-aughts, and any shred of a hope that MS would somehow recover was utterly and entirely obliterated by the widespread proliferation of containerization. Good luck getting a real version of that working on Windows. I've said it before and I'll say it again: in about 5 years, I wouldn't be surprised at all to see the new version of "Windows" plumbed end-to-end atop a nix-like kernel, and driven by a hybrid userland comprised of a spit-polished copy-paste from WINE + a grab bag of snippets from the proprietary MS-internal Win32. The flexibility of the nix model is the indisputable, indomnitable winner here, and it stunned and killed the Goliath in its tracks. This is the ultimate surrender to the open-source model. Windows's top-down, "report to your cube by 8:26am sharp and don't question the men in the fancy suits" approach to computing resulted in a rigid operating system that was unable to keep pace with the technological demands of the many pantheons of loyal corporate drones that comprised their user base. Even strictly-Microsoft shops are forced to give developers MacBooks now, or they're unable to get anyone competent to sign on. It really couldn't get more poetic than MS desperately integrating Linux into their OS so that people won't switch to the more flexible nix-like systems for their workstations, although I anxiously await MS accidentally linking in a GPL module and thus becoming required to disclose the Windows source code. :) Meanwhile, per usual, nix-like OSes have been humming for 50-ish years now and show no signs of slowing down. IMO, that's all the objective, borne-out proof one needs to say that for all practical purposes, Windows couldn't stand the test of time. Please note that this is not about Linux per se, but the overarching design theory and development processes in use in major operating systems, and the massive success it represents for open-source, research-driven systems. The chapter on "The Windows Way" has been written, and whatever its benefits may be in theory, they don't bear out as sustainable in practice. It'd be fun to do a macro-scale timeline comparison to Sun. These invincible tech behemoths that cater to their narrow niche become rotting, hollowed-out fossils as the free systems continue to develop and evolve the cutting edge. Microsoft is right on time here, and I fully expect to see them struggle through the next decade or so until Larry Ellison finally puts them out of their misery.
- squarefoot 7y agoI'm convinced there's nothing stopping Microsoft from making their own Linux based OS by porting their desktop and GUI models on top of a Linux kernel + filesystem + drivers, not that far from what Apple did with OSX. Technically it'd be an interesting challenge, but I fear the day we'll see also Linux software asking to be run on that Linux for "better compatibility" because that is what the developers used. In that case, thanks but no thanks.
- timvisee 7y agoI wonder whether they'll experiment with Windows compatibility in the WSL2 layer as Extend[1] phase, to possibility utalize it in a future upcoming distro creating an Extinguish[1] situation. [1] https://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.m.wikipedia.org/wiki/Embrace,_extend,_and_extingu...