> all system calls had to go through libc (or perhaps a big ntdll.dll-like

Which makes containers crap on Windows and *BSD as they have to run the currect libc or equivalent. Thus you need to build a different container per OS version which sucks compared to Linux.

Windows doesn't even have its own libc.

Windows does have three libc, likely as a compability layer. their names are:

  * <forgotten something Windows 3.1>
  * msvcrt.dll, 2014
  * ucrt.dll (universal c runtime, since Windows 10)

They said "or equivalent", so ntdll