[Question]: Does it use the linux kernel of the host OS?
Is your question not already answered in the FAQ?
- [X] I made sure the question is not listed in the FAQ.
Is this a general question and not a technical issue?
- [X] 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!
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.
Thank you for the detailed explanation.