Операционная система OS2 Warp



Управление памятью в первых версиях IBM OS/2 и в стандартном режиме Microsoft Windows - часть 3


Несмотря на то что общий объем непосредственно адресуемой памяти возрос до 16 Мбайт, максимальный размер сегмента остался равным 64 Кбайт. Поэтому программисты по-прежнему вынуждены использовать различные модели памяти и модификаторы near и far .

В системе может быть одна глобальная таблица дескрипторов и много локальных таблиц дескрипторов. В каждый момент времени программа может адресоваться к глобальной таблице дескрипторов и к одной из локальных таблиц дескрипторов (к какой именно - решает операционная система).

Глобальная таблица дескрипторов описывает сегменты памяти, принадлежащие операционной системе. Некоторые из содержащихся в ней дескрипторов имеют уровень привилегий, равный 3, поэтому к ним можно обращаться даже из обычных программ.

Для каждого процесса в IBM OS/2 создается своя локальная таблица дескрипторов . Именно поэтому адресные пространства процессов разделены физически. Таким образом, каждый процесс может адресоваться к "разрешенным" сегментам системной памяти и к своим собственным сегментам, но никак не к сегментам других процессов.

Что же касается Microsoft Windows, то здесь используется одна локальная таблица дескрипторов для всех приложений. Кроме того, все приложения работают в одном, третьем, кольце защиты. Поэтому любое приложение может обратиться к сегментам памяти, созданным другими приложениями. Это снижает устойчивость системы к приложениям, содержащим ошибки.




Содержание  Назад  Вперед