Управление памятью.
|
Реальная память
|
Виртуальная память
|
|
Однозадачные
|
Многозадачные
| Сегментная организация
| Странично-сегментная организация
|
|
| Фиксированные разделы
| Переменные разделы
|
|
|
|
| Абсолютные модули
| Переменные модули
|
|
|
|
| | | | | | |
ОП 2 – е проблемы:
1. Защитить ОС от программы.
Решение: ввели граничный регистр – здесь записан адрес конца операционной системы.
Когда программа обращалась к памяти, то проверялся адрес так, чтобы он был больше граничного регистра.
2. Нехватка памяти.
Решение: появился слой: OVERLAY – вся программа разбита на модули: 1 резидент и модули, которые находятся на внешнем носителе:
| | | | | | |
| | | ОС
Резидент
OVERLAY
буфер
| |
| | | |
| | | |  |
| |
| |



OVERLAY
tab<(ta+tb)
Calc 1(); -> Calc Calc 1
Calc 2(); -> Calc(“A”, “Calc2”,…)
Print ();
В данном примере действует ограничение: если calc1 и calc2 вычисляют значение, которое надо напечатать, то возникает проблема: где хранить значение à хранить в резиденте.
А также модули не должны вызывать друг друга.