←back to thread

535 points raddad | 2 comments | | HN request time: 0s | source
Show context
jwildeboer ◴[] No.11388953[source]
Project Janus reloaded? AFAICS it's the same approach. Some shim layer that translates between Linux kernel API and native Windows API. http://www.cnet.com/news/suns-solaris-10-to-run-linux-apps-t...!
replies(3): >>11390445 #>>11390708 #>>11391270 #
wyldfire ◴[] No.11390708[source]
Maybe the NT kernel could gain a linux-syscall-compatible layer, instead of adding compatibility in userspace. That would allow for compatible (same-arch) binaries!

(EDIT: this would also require ELF loaders and all kinds of other good stuff, but still a possibility IMO)

replies(2): >>11390863 #>>11416933 #
1. Revik ◴[] No.11390863[source]
Guess what, there actually is an ELF loader in the compatibility layer: https://pbs.twimg.com/media/CcTwejAUEAAq_jR.jpg
replies(1): >>11417545 #
2. JdeBP ◴[] No.11417545[source]
One (more) thing that is conspicuously glossed over is non-ELF executables. We've seen Win32 programs invoking ELF64 binaries demonstrated. And of course the Windows NT Linux subsystem already "knows" that it's a Linux subsystem process when a program comes to exec() a script, and doesn't have to worry about checking binary formats over fork() because the program image doesn't change. But missing so far has been Win32 programs invoking Linux executable scripts, that have #! lines.