![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Понятие виртуального ресурсаСтр 1 из 4Следующая ⇒
Виртуальным (virtual) называется ресурс, который пользовательской программе представляется обладающим свойствами, отличными от тех, которые он имеет.
Термин виртуальная память обычно ассоциируется с возможностью адресовать пространство памяти, гораздо большее, чем емкость реальной памяти конкретной ЭВМ. Концепция виртуальной памяти является далеко не новой. Впервые она была реализована в вычислительной машине Atlas, созданной в Манчестерском университете в Англии в 1960 году. Эта концепция позволяет создавать и запускать приложения, которые требуют памяти больше, чем есть у компьютера. Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющийся процесс, отделяются от адресов, реально существующих в первичной (физической) памяти. Те адреса, на которые делает ссылки выполняющийся процесс, называются виртуальными, а те адреса, которые существуют в первичной памяти, называются реальным адресами. Диапазон виртуальных адресов, к которым может обращаться выполняющийся процесс, называется пространством виртуальных адресов V этого процесса. Диапазон реальных адресов, существующих в конкретной машине, называется пространством реальных адресов R этого компьютера. Хотя диапазон реальных адресов для конкретного компьютера ограничен объемом имеющейся у него памяти, диапазон виртуальных адресов ограничен только количеством битов в адресе. Каждый бит может быть либо установлен, либо сброшен; таким образом, например, процессор имеющий 32-разрядные адреса, является обладателем виртуального пространства в 232 байт, или 4 Гбайт. Несмотря на то, что процессы обращаются только к виртуальным адресам, в действительности они должны работать с реальной памятью. Таким образом, во время выполнения процесса виртуальные адреса необходимо преобразовывать в реальные, причем нужно это делать быстро, т.к. в противном производительности ЭВМ будет резко снижена. Система виртуальной памяти должна выполнять следующие две основные задачи: 1. отображать некоторое подмножество виртуальных адресов в участки физической памяти; 2. выгружать на диск часть содержимого памяти, когда она переполнится. Поэтому, если она станет узким местом всей системы, то это резко понизит ее производительность.
Для установления соответствия между виртуальными и реальными адресами разработаны различные способы. Чаще всего используется так называемый механизм динамического преобразования адресов (DAT – Dynamic Adress Transformation), который обеспечивает преобразование виртуальных адресов в реальные во время выполнения процесса. Все подобные системы обладают тем свойством, что смежные адреса виртуального адресного пространства процесса не обязательно будут смежными в реальной памяти. Это свойство называется “ искусственной смежностью ”. Таким образом, пользователь освобождается от необходимости размещения своих процедур и данных в реальной памяти. Он получает возможность писать программы наиболее естественным образом, прорабатывая только алгоритм и структуры программы и игнорируя конкретные особенности структуры аппаратных средств. Кроме преобразования виртуальных адресов в реальные, перед системой с виртуальной памятью стоит еще одна задача – выгружать на диск часть содержимого памяти, когда она переполняется. При этом ОС определяет, какие данные можно удалить из основной памяти и поместить на временное хранение в файл на жестком диске, который называется файлом подкачки ( страничным файлом, файлом свопинга). Когда эти данные вновь потребуются выполняющемуся процессу, ОС считывает их обратно с диска в память. Такой обмен между основной памятью и внешним запоминающим устройством называется свопингом .
|