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 ---