Loader

A loader is a system software tool that is responsible for loading executable files into memory, preparing them for execution, and starting the program’s execution. The loader handles tasks such as:

  • Allocating enough memory and loading both the data and text segments.
  • Initializing the stack with program arguments.
    • The stack pointer is set to the first position under the arguments.
    • The stack register x1 is set to the stack pointer address.