Здравей,
Мисля че този пдф може доста добре да ти покаже някои неща как стоят. Накратко когато една програма бива стартирана тя първо се извлича от постоянната памет (твърдия диск), зарежда се в енергозависещата памет (РАМ) и се изпълнява ред по ред с помощта на различни регистри като Stack Pointer, Program Counter и други.
Динамично заделяне и освобождаване на памет сигурно се чудиш как операционната система знае че тази памет е заделена за твоята програма, да ти кажа тук ще задълбаем доста и ще започна да говоря малко наизуст. Накратко по спомени паметта е разделена на сегменти с точно определена дължина кратна на 2, в началото на всеки сегмент има идентификатор по който операционната система идентифицира мястото. Когато заделяш памет, операционната система ти предоставя такъв празен сегмент за твоите нужди. Ако някои знае по-добър отговор, МОЛЯ поправете ме.
Как работи една ОС ще изучавате в 11 клас по операционни системи.
Поздрави, Любо.