Actually, I was wrong when I said MS-DOS is only used as a bootloader, because it's likely there are calls to DOS.
I base that belief off of some behavior in NT.
WriteFile(...) in Kernel32 Invokes
NtWriteFile(...) in NtDll Invokes
Int 2Eh to switch OS modes (From user to native kernel) and then NTOSKRNL.EXE ends up doing the work.
It's more than possible the 9x kernel ended up invoking DOS interrupts to do it's work for it. That might explain some oddities (e.g. Trying Typing "Krnl386 Con" in command.com, and watch as errors start occuring in Kernel32.dll for no apparent reason [Explorer.exe, Msgsvr32.exe, etc]).
I guess one could argue:
9x Kernel <-> IO.SYS
NT Kernel <-> NTOSKRNL.EXE (there are multiple versions of this file with slightly different names e.g. NTKRNLPA.EXE)
UPDATE:
The reason I associated the shell /w the kernel, is because in MS-DOS, they sort-of complement each other. There's a special interrupt reserved for passing commands to command.com. That doesn't make it the kernel though, so I fixed this post. But complemeting, and being the same thing, are of course, different, so this post has been fixed.
[ August 11, 2004: Message edited by: anphanax ]