5 ms·
Cygwin translates calls to Windows via cygwin.dll. It works well for the most part, but in some corner cases, it doesn't work so well.
by Delmania 11y ago
Cygwin translates calls to Windows via cygwin.dll. It works well for the most part, but in some corner cases, it doesn't work so well.
- umanwizard 11y agoI mean, how is that different from what's being done here? Is the actual Linux kernel running in some sort of container? This post is light on details but people here seem to be suggesting it just translates syscalls which afaict is the exact same thing cygwin does. (plus support for linux elf binaries, which doesn't really matter since most linux tools are open-source anyway)
- Delmania 11y agoSee here: http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.htm... > Microsoft research technology to basically perform real time translation of Linux syscalls into Windows OS syscalls
- umanwizard 11y agoSo "Linux on Windows" isn't really happening here. Binaries intended to run on Linux are just being tricked to run on Windows -- basically the same as Cygwin, with the minor benefit of not requiring a recompile.
- ashitlerferad 11y agoThat is quite a bit different from Cygwin. Running the Linux kernel on Windows has been done before IIRC - coLinux?
- gfody 11y agoThat's what I was thinking but coLinux never did 64-bit
- Delmania 11y agoIt's a lot more than that. When Cygwin is built, the translation between to POSIX is handled via Cygwin.dll with the various tools recompiled against that file. This version is taking the native Ubuntu binaries and executing them directly against the Windows API via a real time translation later. The difference is like playing a game using virtualization technology vs. WINE. As the complexity of the game increases, the former begins to slow down and break.
- pilsetnieks 11y ago"just" You don't have to be a fan of Microsoft but they deserve at least some credit.
- gpvos 11y agoCygwin is pure userland. This Linux API subsystem is a small bit of userland (similar to kernel32.dll in the Win32 subsystem), but mostly kernel code.
- huuu 11y agoYes. You can quickly see this when running ping. On Cygwin it runs 3 times on Linux forever. Edit: thinking about it I'm not sure if I'm right. Or does Cygwin map the ping command to the Windows command?
- mmebane 11y ago> does Cygwin map the ping command to the Windows command? It looks like Cygwin has a ping package, but it isn't something you'll get unless you specifically select it in the installer.