Friday, May 18th

Last update12:13:00 PM GMT

Вы находитесь на: FreeBSD Управление памятью Аппаратные требования для виртуальной памяти

Аппаратные требования для виртуальной памяти

Почти все версии UNIX требовали для поддержки прозрачной многозадачности определенной разновидности аппаратного обеспечения управления памятью. Чтобы предотвратить изменение процессов другими процессами, аппаратура управления памятью должна предотвращать изменение программами отображений их собственных адресов. Ядро FreeBSD работает в привилегированном режиме (релсиме ядра или системном режиме), при котором можно управлять отображением памяти, тогда как процессы работают в непривилегированном режиме (режиме пользователя). Для поддержки виртуальной памяти имеются несколько дополнительных архитектурных требований. Процессор должен различать присутствующие и отсутствующие части адресного пространства, должен приостанавливать программы, когда они ссылаются на отсутствующие адреса, и возобновлять работу программ, когда операционная система разместила в памяти необходимую секцию. Поскольку процессор может обнаружить отсутствующие данные в различное время в ходе выполнения инструкции, он должен предусмотреть механизм для сохранения состояния машины таким образом, чтобы инструкцию можно было впоследствии завершить или начать с начала. Процессор может реализовать повторный запуск путем сохранения при начале инструкции достаточной информации о состоянии, чтобы это состояние можно было при обнаружении отказа восстановить. В качестве альтернативы инструкции могли бы отложить любые изменения или побочные эффекты до тех пор, пока не были обнаружены какие-нибудь отказы, чтобы не нужно было резервировать состояние перед повторным запуском инструкции. На некоторых компьютерах резервное сохранение инструкции требует помощи со стороны операционной системы.

Большинство машин, спроектированных для поддержки виртуальной памяти с подкачкой страниц по требованию, включают аппаратную поддержку для сбора сведений о ссылках программы на память. Когда система выбирает страницу для замещения, она должна сохранить содержимое этой страницы, если оно было изменено с того момента, как страница была загружена в память. Аппаратура для каждой страницы обычно содержит флаг, показывающий, была ли эта страница модифицирована. Многие машины включают также флаг, записывающий любой доступ к странице для использования алгоритмом замещения.


Похожие:
Еще по теме:
Советуем прочитать:

Сейчас 56 гостей онлайн

Реклама на сайте: