78
3. Защита. Процесс никак не может обратиться за пределы своего
виртуального адресного пространства. Если ОС обеспечивает отображение
таким образом, что виртуальные пространства двух любых процессов не
могут перекрывать друг друга в реальной памяти, то никакой процесс не
будет иметь доступа к адресному пространству другого процесса.
При наличии аппаратной поддержки системы виртуальной памяти
позволяют работать с виртуальными адресными пространствами, размер
которых превышает доступный размер оперативной памяти. Это
достигается за счет хранения части программ и данных на внешней
(дисковой) памяти и управления миграцией данных между оперативной и
внешней памятью. Современные вычислительные системы следуют
тенденции вводить кэширование между двумя этими уровнями памяти. В
ОС Unix, например, тотальное кэширование обеспечивается самой ОС для
любого обмена с дисками, следовательно, работает оно и для данных,
перемещаемых при управлении памятью. В вычислительных системах ESA
имеется два аппаратных промежуточных уровня памяти: расширенная
память, которая включается в пространство реальных адресов, но
используется только как буфер обмена и как собственная буферная память
дискового запоминающего устройства. (Расширенная память, может быть
выполнена как на тех же элементах, что и основная оперативная память,
так и на специальных, – не столь быстродействующих, но дешевых).
Многоуровневая память строится обычно по иерархическому
принципу. Это означает, что для каждого следующего уровня время
доступа больше, чем для предыдущего: t[i]>t[i-1], и объем больше:
V[i]>V[i-1]. Последнее обстоятельство делает возможным
дублирование информации на уровнях: если данные имеются на i-м
уровне, то их копии сохраняются и на всех уровнях с большими номерами.
Обозначим через h[i] отношение присутствия – вероятность того, что
данные, запрошенные на i-м уровне памяти, уже имеются на этом уровне.