A conventional bootloader can conflict with the operating system (OS) of a
multi-processor system. An OS-friendly bootloader and methods are
described that integrate an OS with a bootloader in any system in which a
host processor and a client processor have a communication mechanism that
requires the OS for the mechanism to work and the client has two memory
systems: one visible to both host and client and one visible only to the
client.