Live data from Hacker News

Linux as co-operative Windows process (2017)

colinux.org

31–40 of 97 posts

Re: Linux as co-operative Windows process (2017)

#31
post #28
post #25

> Unlike in other Linux virtualization solutions such as User Mode, special driver software on the host operating system is used to execute the coLinux kernel in a privileged mode That's unfortunate, is there a version of this that runs unprivileged like user mode Linux?

You're not going to take over NT's control of the MMU et. al. without elevated privileges. To run as a non-admin, you either need a VM that leverages NT's built-in virtualization capabilities (requires admin to enable), a separate personality (requires admin to install), or a Win32 application a la cygwin, which isn't very good.

You could do a very slow x86 interpreter.

Re: Linux as co-operative Windows process (2017)

#33
post #28
post #25

> Unlike in other Linux virtualization solutions such as User Mode, special driver software on the host operating system is used to execute the coLinux kernel in a privileged mode That's unfortunate, is there a version of this that runs unprivileged like user mode Linux?

You're not going to take over NT's control of the MMU et. al. without elevated privileges. To run as a non-admin, you either need a VM that leverages NT's built-in virtualization capabilities (requires admin to enable), a separate personality (requires admin to install), or a Win32 application a la cygwin, which isn't very good.

The site is down, so I can't see what they're doing with the MMU: that said, most virtual memory management works just fine from normal boring userspace. If wine can do it for running win32 on Linux, this thing can do it for running Linux stuff on win32, which isn't less powerful when it comes to virtual memory management.

Re: Linux as co-operative Windows process (2017)

#34
post #28

Earlier quoted context omitted.

You're not going to take over NT's control of the MMU et. al. without elevated privileges. To run as a non-admin, you either need a VM that leverages NT's built-in virtualization capabilities (requires admin to enable), a separate personality (requires admin to install), or a Win32 application a la cygwin, which isn't very good.

The site is down, so I can't see what they're doing with the MMU: that said, most virtual memory management works just fine from normal boring userspace. If wine can do it for running win32 on Linux, this thing can do it for running Linux stuff on win32, which isn't less powerful when it comes to virtual memory management.

It's been years since I used Wine, but I think it just runs each Windows process in its own Linux process. There's no Wine "kernel" that needs to manage virtual memory or isolate multiple processes.

Re: Linux as co-operative Windows process (2017)

#35
post #28
post #25

> Unlike in other Linux virtualization solutions such as User Mode, special driver software on the host operating system is used to execute the coLinux kernel in a privileged mode That's unfortunate, is there a version of this that runs unprivileged like user mode Linux?

You're not going to take over NT's control of the MMU et. al. without elevated privileges. To run as a non-admin, you either need a VM that leverages NT's built-in virtualization capabilities (requires admin to enable), a separate personality (requires admin to install), or a Win32 application a la cygwin, which isn't very good.

You could try to use the Win32 debug API in the same way like Linux UML by using ptrace. But it would probably still be much slower because of missing things like PTRACE_SYSCALL.

More performant would be a noMMU variant of UML for Windows, supporting only PIE executables, similar to nabla-linux [1]. This is also quite similar to how mssql for Linux works NT kernel+Win32 in a single usermode process (single address space) [2]. Interestingly, mssql also uses memory protection keys to recover a bit of fault tolerance but last time I checked Win32 does not have an API for MPKs.

[1] https://github.com/nabla-containers/nabla-linux

[2] https://threedots.ovh/slides/Drawbridge.pdf

Re: Linux as co-operative Windows process (2017)

#38
post #31
post #28

Earlier quoted context omitted.

You're not going to take over NT's control of the MMU et. al. without elevated privileges. To run as a non-admin, you either need a VM that leverages NT's built-in virtualization capabilities (requires admin to enable), a separate personality (requires admin to install), or a Win32 application a la cygwin, which isn't very good.

You could do a very slow x86 interpreter.

https://www.qemu.org/download/#windows

Re: Linux as co-operative Windows process (2017)

#40
What a cool and novel concept! Bummed and a little surprised it's the first time I've heard of it. I wish there were a browsable directory index of cool projects such as CoLinux.

Reading the description definitely set of bells in my head reminding me of the venerable Cygwin, though CoLinux could comparatively have potentially more capabilities and upsides since there is a fully resident kernel running.

CoLinux hasn't pushed a new release since 2011 and no commits since 2012. Was the project death a byproduct of WSL [1], or what happened?

[1] https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux

Post reply on HN