<<
>>

Интерфейс виртуальной памяти

До сих пор в наших рассуждениях предполагалось, что виртуальная память прозрачна для процессов и программистов, то есть все, что они видят, — это огромное виртуальное адресное пространство на компьютере с небольшой (по крайней мере, меньшей, чем виртуальная) физической памятью.
Обычно это соответствует истине, но в некоторых усовершенствованных системах программистам предоставлена определенная свобода управления картой памяти, которую они могут направить на улучшение поведения программы нетрадиционными способами. Рассмотрим кратко некоторые из них.

Одной из причин предоставления программистам контроля над картой памяти является желание позволить двум и более процессам совместно использовать одну и ту же память. Если программисты сами будут давать названия областям памяти, один процесс сможет сообщить другому процессу имя области памяти, и этот второй процесс также сможет ей пользоваться. Если два (или больше) процессов имеют общие страницы памяти, становится реальной высокая пропускная

способность совместного доступа: один процесс сможет просто писать в общую память, а другой — читать из нее.

Совместное использование страниц находит также применение в высокопроизводительных системах передачи сообщений. Когда передается сообщение, данные обычно копируются из одного адресного пространства в другое, а это означает значительные издержки. Если процессы будут управлять своей картой страниц, можно передавать сообщения внутри общего адресного пространства: процесс- отправитель будет убирать из карты страницу (страницы) с сообщением, а процесс-получатель помещать ее (их) в карту. При этом достаточно копировать только имена страниц вместо всех данных.

Еще один современный подход к управлению памятью носит название распределенной общей памяти [45, 80, 131]. Распределенная общая память позволяет нескольким процессам в сети совместно использовать набор страниц, возможно (но не обязательно) как единое разделяемое линейное адресное пространство. Когда процесс обращается к странице, не отображаемой в данный момент, он инициирует ошибку отсутствия страницы. Обработчик ошибок отсутствия страниц, находящийся в ядре или в пользовательском пространстве, находит машину, содержащую страницу, и посылает ей сообщение с запросом на выгрузку страницы и ее отправку по сети. Когда страница прибывает, она попадает в карту, и прерванная команда перезапускается.

4.6.

<< | >>
Источник: Э. ТАНЕНБАУМ, А. ВУДХАЛЛ. ОПЕРАЦИОННЫЕ СИСТЕМЫ Разработка и реализация 3-е издание. 2007

Еще по теме Интерфейс виртуальной памяти:

  1. Джеф Раскин. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  2. Раскин Джефф. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  3. Виртуальное послесловие
  4. ГЛАВА 11 ПРАВОВЫЕ ПРОБЛЕМЫ ВИРТУАЛЬНОЙ СРЕДЫ ИНТЕРНЕТ
  5. Виртуальное сексуальное насилие над детьми
  6. ПРЕДСТАВЛЕНИЕ ПАМЯТИ
  7. Гигиена памяти.
  8. укрепление памяти
  9. ТЕОРИЯ ПАМЯТИ
  10. V. 2. 5. Структура парциального хранилища памяти.
  11. Сила памяти
  12. В психологии различают четыре типа памяти.
  13. V. 2. МОДЕЛЬ ПАРЦИАЛЬНОГО ХРАНИЛИЩА ПАМЯТИ ЧЕЛОВЕКА
  14. следующие виды памяти
  15. Энерго-информационные ключи к памяти Атлантиды
  16. Роль памяти и воображения
  17. 9.2. БАРЬЕРЫ ПАМЯТИ
  18. 9.11. С ПОМОЩЬЮ ПАМЯТИ