Differs per operating system, if you mean the single file that's the actual running kernel, which of course doesn't do much without assistance from many, many files.
The actual DOS operating system was housed in two hidden files on the root of the boot volume or floppy,
IBMDOS.SYS on PC-DOS). I don't think these have an header or anything, i.e. the bootloader loads the files and then jumps to the first location where it loaded them.
ntoskrnl.exe and friends such as
ntkrnlpa.exe are in Windows PE format, so they look like a standard executable. There are different types of
.exe's, and I believe it'd be a "native mode" executable and not runnable while you are in a Win32 session, as 99% of time you are when you are running Windows. The full Windows OS and API is generally a collection of well-known .DLLs (
ntdll.dll and others), though, so
ntoskrnl.exe hardly does most of the work of running the system on its own.
Linux is generally a single binary image entitled
vmlinuz or similar. Typically you'll also have an
initrd which is the filesystem that the kernel has at boot time - but this is optional. I'm unsure of it's format but it's not an executable. The bootloader is meant to jump to the start of this image directly after loading it in memory.