20. Организация на паметта
Изисквания за управлението на паметта. Разделяне на паметта. Разпределение на страници (paging). Разпределение на сегменти (segmentation).

7.1 Изисквания за управлението на паметта.
** Адресиране (изобразяване на адреси, relocation).
Относителни адреси - за програмата и за данните; изпълнение на процеси - различно разполагане в основната памет.
--- FIGURE 7.1 ---
** Защита.
Трудности:
 -- начало на програмата;
 -- динамично адресиране в самата програма.
 Предимно функция на процесора.
** Поделяне (sharing).
Да допуска няколко процеса да използват една и съща памет.
** Логическа организация.
-- памет - линеен масив от байтове;
-- програма - относително независими модули.
** Физическа организация
-- основна памет (main memory) - оперативна памет;
-- допълнителна памет (secondary memory).



7.2 Разделяне на паметта
** Фиксирано разделяне.
-- еднакви дължини на парчетата;
--  различни дължини на парчетата;
--- FIGURE 7.2 ---
-- агоритъм за разполагане - една или много опашки.
--- FIGURE 7.3 ---
** Динамично разделяне.
--- FIGURE 7.4 ---
-- алгоритъм за разполагане - best-fit, first-fit, next-fit;
--- FIGURE 7.5 ---
-- алгоритъм за заместване.
** "Приятелска" система (Buddy system).
По степените на числото 2 - от 2^L до 2^U
--- FIGURE 7.6 ---     --- FIGURE 7.7 ---
** Relocation.
Преобразуване на адреси: логически адрес (относителен адрес), физически адрес (абсолютен адрес).
--- FIGURE 7.8 ---


7.3 Разпределение на страници (paging)
Процесът е разделен (механична) на части с еднаква големина - страници (pages), ОП е разделена на парчета със същата големина - рамки (frames).
--- FIGURE 7.9 ---    --- FIGURE 7.10 ---


7.4 Разпределение на сегменти (segmentation)
Процесът е разделен (логически) от програмиста или компилатора на части - сегменти (segments) с различна големина (с горна граница!) .
--- FIGURE 7.11 ---    --- FIGURE 7.12 ---