Originally, to marshall was to tend horses or to arrange things in preparation for a feast. In heraldry, marshalling is the arrangement of several coats of arms to form a single composition. In the military, marshalling is the gathering and ordering of military forces in preparation for battle.
In computer programming, marshalling is the process of gathering data from one or more application s or non-contiguous sources in computer storage, putting the data pieces into a message buffer , and organizing or converting the data into a format that is prescribed for a particular receiver or programming interface.
Marshalling is usually required when passing the output parameters of a program written in one language as input to a program written in another language.