CONFIG.SYS set various options and loaded drivers with the
DEVICEHIGH= lines. It was read while DOS was starting.
When DOS completes initialization, it will start a shell. This is specified by the
SHELL= line in CONFIG.SYS and is usually
COMMAND.COM but doesn't have to be.
COMMAND.COM will run
AUTOEXEC.BAT when it is started with the
/P switch--this is typically specified in the
COMSPEC= line (examples) which means "make permanent" (it's not a "subshell"). A
/D switch can suppress this.
The differences between DOS and other Microsoft operating systems goes back further than XP. It goes all the way back to 1993 when Windows was first working on the NT branch of Windows; then two years later when Windows 95 came out. Both the 9x branch and the NT branch, are different than MS-DOS under the hood - in the case of NT, vastly and extremely different.
NT Windows does the following different than MS-DOS as a rough, coarse overview of differences:
- Uses the CPU's protected mode to create a barrier between kernel and userspace.
- Expects multiple programs to be running and accessing the same disks, display, etc. apart from the primitive and limited TSR system of DOS.
- Has a messaging system that supports event-based programming, which is needed to support the input methodology of a GUI mouse-and-window interface.
- Has APIs (GDI, etc.) that need to be used to create windows, widgets, and modify the display.
- Expects programs to make system calls to talk to all devices and doesn't allow direct access to hardware.
- In the beginning NT didn't provide a lot of command-line tools available from COMMAND.COM or equivalent to achieve tasks in the operating system.
So the boot processes are different, and again, for the NT branch of Windows (which includes XP), extremely different.
Wikipedia has good articles on the details on Windows NT initialization.
9x Windows is much more like a multitasking extension on to of MS-DOS, with weird mechanisms in place to extend things to 32-bits. The boot process for 9x is a bit more similar to MS-DOS, this is a good description. Windows ME was the last of the 9x branch of Windows before Microsoft made XP both the consumer and business version of Windows, which is NT-based.