8 ms·
Very interesting. So it's very similar to WSL on Windows (not WSL2), where it translates Linux syscalls into the appropriate Zircon ones. From the proposal: >
by hencq 6y ago
Very interesting. So it's very similar to WSL on Windows (not WSL2), where it translates Linux syscalls into the appropriate Zircon ones.
From the proposal:
> An important cautionary lesson we should draw from WSL1 is that the performance of starnix will hinge on the performance of the underlying system services that starnix exposes to the client program. For example, we will need to provide a file system implementation with comparable performance to ext4 if we want Linux software to perform well on Fuchsia.
- chasil 6y agoWindows NT was also originally implemented with translation layers for OS/2 and POSIX. The WSL is a revival of the POSIX layer. "Broad software compatibility was initially achieved with support for several API "personalities", including Windows API, POSIX, and OS/2 APIs – the latter two were phased out starting with Windows XP." https://en.wikipedia.org/wiki/Windows_NT https://en.wikipedia.org/wiki/Windows_NT
- skissane 6y ago> The WSL is a revival of the POSIX layer. Even WSL1 is technically very different from the old POSIX layer. The old POSIX layer used classic NT processes and POSIX APIs were routed in user space to NT syscalls via ntdll. WSL1 uses lightweight picoprocesses and implements the Linux syscall API in-kernel, rather than doing POSIX API to NT syscall mapping in user-space. Windows NT POSIX (and Interix/SFU/SUA) are conceptually much closer to Cygwin than to WSL1.
- jsmith45 6y agoYeah, the POSIX subsystem on Windows is mostly the same concept as the POSIX LITE that is mentioned in the Fuchsia document.
- d1zzy 6y agoBTW you can get a Linux syscalls interception/translation on Linux too with something like gVisor.
- tybit 6y ago> So it's very similar to WSL on Windows (not WSL2), where it translates Linux syscalls I wonder whether they will end up with the result of falling back to a real Linux kernel running in a VM eventually if they go with this route, as WSL -> WSL2 ended up with.
- cdash 6y agoIn the document its already mentioned that both methods are planned to be implemented.