Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question]: Does it use the linux kernel of the host OS? #492

Closed
2 tasks done
henryscala opened this issue May 15, 2024 · 2 comments
Closed
2 tasks done

[Question]: Does it use the linux kernel of the host OS? #492

henryscala opened this issue May 15, 2024 · 2 comments
Labels
question Further information is requested

Comments

@henryscala
Copy link

Is your question not already answered in the FAQ?

  • I made sure the question is not listed in the FAQ.

Is this a general question and not a technical issue?

  • I am sure my question is not about a technical issue.

Question

Does the Windows OS in the container make use of the linux kernel service of the host OS?

It may sound vague. Let me explain a bit. As we know if it is a linux container running, the container will share the linux kernel of the host OS and the container is just a user space application from the host OS's perspective. I'd like to know the situation when the Windows OS runs in the container and the host OS is linux.

I ask because I have a user-space SCTP stack implemented using raw IP. It cannot co-exists with LKSCTP(linux kernel SCTP stack), but we cannot guarantee the LKSCCTP is not installed in the kernel.

Thanks a lot!

@henryscala henryscala added the question Further information is requested label May 15, 2024
@henryscala henryscala changed the title [Question]: [Question]: Does it use the linux kernel of the host OS? May 15, 2024
@kroese
Copy link
Contributor

kroese commented May 15, 2024

I dont think so. The container uses QEMU with Kernel-based Virtual Machine (KVM) to give Windows direct access to the host CPU, without any layers in between. The whole isolation/sandboxing is done in hardware via VMX/SVM CPU instructions, not in software.

So this means that the Windows kernel just runs on an isolated part of your CPU, and the Linux kernel of your host too. They cannot influence eachother in any way, and the assembly code that Windows is executing is not passed through the Linux kernel at all, but directly executed by your CPU.

So whatever kernel modules or TCP stacks are running on the host, can never have any effect on the kernel of the guest.

@henryscala
Copy link
Author

Thank you for the detailed explanation.

@kroese kroese closed this as completed May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants