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

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

Одним из поводов предоставления программистам контроля над отображением памяти является разрешение одному или нескольким процессам совместно использовать одну и ту же память, иногда весьма сложными способами. Если программисты могут присваивать имена областям памяти, то появляется возможность одному процессу предоставить другому процессу имя области памяти, чтобы этот процесс мог также отображаться на нее. Когда два (или несколько) процесса совместно используют одни и те же страницы, появляется возможность использования общего высокоскоростного канала: один процесс ведет запись в общую память, а другой процесс считывает из нее данные. Сложный пример такого коммуникационного канала описан Де Брюйном (De Brшjn, 2011).

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

Еще одна передовая технология управления памятью называется распределенной памятью совместного доступа (Feeley et al., 1995; Li, 1986; Li and Hudak, 1989; Zekauskas et al., 1994). В ее основе лежит идея, заключающаяся в том, чтобы позволить нескольким процессам через сетевое подключение совместно использовать набор страниц, при этом возможно, но не обязательно, в качестве единого общего линейного диапазона адресов. Когда процесс обращается к странице, которая в данный момент не имеет отображения, у него происходит ошибка отсутствия страницы. Затем обработчик этой ошибки, который может быть в ядре или в пользовательском пространстве, определяет машину, содержащую эту страницу, и посылает ей сообщение с просьбой отключить отображение страницы и переслать ее по сети. По прибытии страницы она отображается, и команда, вызвавшая ошибку, перезапускается. Более подробно распределенная память совместного доступа будет рассмотрена в главе 8.

3.6.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

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

  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. С ПОМОЩЬЮ ПАМЯТИ