Многозадачность не нужна (однозадачные системы в природе существуют и вполне способны грузить выполняемые файлы), пользовательское пространство не нужно (существуют системы без разделения пространств, причём даже без логического разделения, не говоря о физическом -- для последнего нужна аппаратная поддержка, которая имеется не у любого процессора). Вот загрузчик для загрузки таки нужен
![Улыбается :)](./images/smilies/icon_e_smile.gif)
А что и как он делает, зависит от конкретной системы, хотя общая последовательность действий везде примерно одинакова: 1) определить потребности загружаемого файла (как минимум, сколько места в памяти ему требуется), 2) получить необходимую память, 3) прочитать в неё нужные куски загружаемого файла, 4) скорректировать загруженное с учётом адреса загрузки.