История изменений
Исправление X512, (текущая версия) :
Как программа может выполнять работу, если для работы нужно памяти больше, чем физически доступно?
Программам, запущенным через posix_spawn() нужно физически меньше памяти, чем запущенными через fork() и без exec() потому что они наследуют мусор и фрагментацию кучи родительского процесса. Единицей виртуальной памяти является страница (обычно 4096 байт) и если в новом процессе нужно всего несколько байт в разных местах, то всё равно будет копироваться целая страница.
Исходная версия X512, :
Как программа может выполнять работу, если для работы нужно памяти больше, чем физически доступно?
Программам, запущенным через posix_spawn() нужно физически меньше памяти, чем запущенными через fork() и без exec() потому что они наследуют мусор и фрагментацию кучи родительского процесса. Единицей виртуальной памяти является страница (обычно 4096 байт) и если в новом процессе нужно всего несколько байт, то всё равно будет копироваться целая страница.