Детали процесса выполнения программы - PullRequest
0 голосов
/ 30 апреля 2020

Предположим, у нас есть простая helloworld программа. Мы запускаем это так:

> ./helloworld
> Hello, World!

Но что именно здесь происходит? Как на самом деле выполняется программа?

Я знаю, что сначала загрузчик загружает ее в память. Но как? Можно ли сделать это вручную так:

> loader -flags helloworld

А что будет дальше?

Как он узнает, с какой точки должно начаться выполнение?

Где установлен начальный «указатель инструкций» и как он продвигается?

Как он «выгружается» из памяти после завершения выполнения?

...