Наткнулся на интересную статью, в которой хорошо описан процесс запуска 32-битных программ.
Есть ли подобные статьи для 64-бит архитектуры? Какие есть отличия (и есть ли они вообще, кроме размера адресного пространства)?
Зачем? В этой статье почти нет процессорной специфики -- там описаны потроха С-рантайма, библиотеки С и динамического линковщика. Любая программа на С для любой архитектуры при запуске проходит через те же стадии.