База и границы
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2017 г. ) |
В вычислительной технике база и границы относятся к простой форме виртуальной памяти , где доступ к памяти компьютера контролируется одним или небольшим количеством наборов регистров процессора , называемых базовыми и границами регистров . [1]
В простейшей форме каждому пользовательскому процессу назначается один непрерывный сегмент основной памяти. Операционная система загружает физический адрес этого сегмента в базовый регистр , а его размер — в связанный регистр . Виртуальные адреса, видимые программой, добавляются к содержимому базового регистра для генерации физического адреса . Адрес сверяется с содержимым регистра границ, чтобы предотвратить доступ процесса к памяти за пределами назначенного ему сегмента.
Операционная система не ограничена аппаратным обеспечением и может получить доступ ко всей физической памяти.
Этот метод защищает память, используемую одним процессом, от доступа или изменения со стороны другого. Сам по себе он не защищает память от ошибочного доступа со стороны процесса-владельца. Это также позволяет легко перемещать программы в памяти, поскольку при перемещении программы необходимо изменять только базовый и граничный регистры.
Некоторые компьютерные системы распространили этот механизм на несколько сегментов, таких как банк i и банк d для инструкций и данных на компьютерах серии UNIVAC 1100 или разделение памяти в системе DEC PDP-10 на «низкий» сегмент чтения/записи для пользовательский процесс и «высокий» сегмент только для чтения для общего кода.
Apple Computer от MultiFinder 1987 года представляет собой более современное использование этой техники. Программы поставлялись с запрошенным значением границ, хранящимся в ответвлении ресурсов , и операционная система пыталась переместить программу в область памяти с этим свободным объемом. Пользователь также может настроить этот показатель с помощью диалогового окна «Получить информацию», обычно для увеличения объема памяти для программ с большими потребностями, таких как Photoshop .
Сегментированная виртуальная память представляет собой дальнейшее обобщение этого механизма на большое количество сегментов. Обычно таблица сегментов хранится в памяти, а не в регистрах.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Пфлигер, Чарльз П.; Пфлигер, Шари Лоуренс (2013). Безопасность в вычислениях . Прентис Холл Профессионал. стр. 185. ИСБН 978-0-13-035548-5 .