8. Способы замены (свопирования) страниц
(Механизмы обмена страниц)
Как было упомянуто выше, использование ВП подразумевает применение магнитного
диска на котором хранятся те страницы или сегменты, которые на данный момент не
нужны в оперативной памяти. Метод применения ВП довольно прост: те страницы с
которыми пользователь работает в данный момент находятся в памяти машины и к ним
осуществляется непосредственный доступ. Через определённое время процессору,
отработавшему с данной страницей, требуется другая страница, которая
подгружается в память с диска. Страница, с которой только что отработали
"вытесняется" на диск, а ни в коем случае не уничтожается.
Довольно часто случается так, что вся реальная память, разбитая на страницы
полностью занята. И при необходимости подгрузить новую страницу, супервизор
должен установить какую страницу перенести да диск, чтобы освободить место для
требующейся. Это достаточно сложная задача, так как удалённая страница может
понадобиться на следующем этапе, а это может привести к потере времени. Для
своппирования страниц в разных программах используются различные стратегии,
примеры которых приведены ниже:
1.Случайное удаление страниц...
Случайное удаление не является самым эффективным способом, так как оно не может
дать стопроцентной гарантии, что только что удалённая страница не понадобится на
следующем этапе работы. Случайное удаление осуществляется с помощью функции
случайных чисел. Супервизор попросту берет начальный адрес случайной страницы в
оперативной памяти и переписывает его в swapфайл (на диск). При этом
корректируется страничная (сегментная) таблица.
2. Удаление по времени пребывания в ОП...
Механизм этой стратегии можно представить как "первым вошел, первым вышел". Это
значит, что страница, дольше всех находящаяся в оперативной памяти на данном
этапе будет удалена первой. Этот метод также не универсален так как каждой
странице отведено определенное время на функционирование, и основное неудобство
заключается в том, что необходимо вести механизм учёта за длительностью
пребывания страниц в ОП, что также связанно с усложнением структуры и потерей
времени.
3. Удаление в связи с давностью использования...
На мой взгляд, этот метод является наиболее удачным. Механизм его таков: если
страница дольше всех находится в ОП, значит пользователь в течение долго времени
не нуждался в ней, а значит появляется вероятность, что эта страница не
понадобится и на следующем этапе.
4. Удаление по вероятности использования...
Вероятность использования страницы N очень небольшая, а вероятность
использования страницы M высока. В этом случае, страница N будет удалена из
памяти. Этот способ также не представляется мне достаточно эффективным, так как
здесь всё основано на вероятности. Но, каждый раз когда мы подбрасываем монету,
неизвестно какой стороной она упадёт. Так же и здесь нет никакой гарантии, что
эта страница не понадобится на следующем этапе.
5. Удаление по приоритетам...
Этот способ пожалуй является достаточно эффективным, так как страницы удаляются
по приоритетам. Каждая страница имеет свой приоритет, который устанавливается
супервизором в соответствии с "важностью" программы, находящейся в определённой
станице. Предположим что в странице N находятся коды важной пользовательской
подпрограммы, а в странице M текстовый файл, работа с которым не является столь
важной. Тогда N получает приоритет 1, а M, предположим, 9. Заметим, что
необходимые, часто требующиеся страницы имеют приоритеты 13, менее необходимые
46, и практически ненужные 59. Это значит, что когда в следующий раз супервизору
понадобится удалить из ОП страницу, он начнет со страниц, имеющих самый низкий
уровень приоритета (9).
9. Анализ и оценка виртуальной памяти. Показатели эффективности.
(При СО и ССО)
Эффективное решение задач на ЭВМ определяется не только емкостью и
быстродействием запоминающих устройств, наличием мощного процессора с большой
тактовой частотой, но и организацией и распределением памяти. Современные
компьютеры обладают средствами и техническими характеристиками для организации
виртуальной памяти. Применение виртуальной памяти получило широкое применение
как среди пользователей любителей, так и среди профессионалов. Основная функция
ВП расширение адресного пространства. ВП создаётся для увеличения функциональных
возможностей компьютера, повышения уровней мультипрограммной работы. Объединив,
ячейки реальной оперативной памяти с ячейками на быстродействующих магнитных
носителях, (чаще всего для этих целей используются винчестеры. Применение НГМД
не было бы столь эффективно, а применение НМД или НМБ понесло бы невосполнимые
потери), пользователь имеет возможность значительно расширить память и при этом
не думать о том в "какой" памяти хранится его программа. ВП была создана для
облегчения работы пользователей при размещении программ.
Благодаря ВП появилась возможность для более эффективного применения
программмультитаскеров (multitasker) специальных пакетов, позволяющих повысить
уровень мультипрограммной работы. (Программы, которые распределяют время
процессора и память так, что например связываться по модему, печатать на
принтере и обрабатывать текст можно одновременно). В настоящее время, благодаря
применению ВП, усилилась тенденция к использованию DeskView
менеджерамультитаскера (производства фирмы QuatterDeck).
Сравнивая реальную оперативную память с виртуальной, можно отметить, что объем
РП ограничен, то есть в каждой микросхеме фиксированное число ячеек. Что
касается ВП, то она может иметь достаточно большой объем, ограниченный только
местом на диске (возможностью адресации). Объем ВП может достигать нескольких
десятков и сотен мегабайт. РП имеет линейную структуру (адресация в порядке
возрастания). ВП использует сквозную адресацию.
В целом, применение виртуальной памяти является весомым вкладом в
прогрессировании современных компьютерных технологий и большим шагом в развитии
программирования, открывающим профессиональному программисту путь к созданию
мощных мультизадачных систем и комплексов. Применение виртуальной памяти широко
оценивается специалистами в компьютерной медицине, научной кибернетике,
профессиональном программировании.
... 2000 ядро наконец получит то пространство, которое ему нужно на самом деле. Увеличение раздела для кода и данных пользовательского режима до 3 Гб на процессорах x86 (только Windows 2000) Microsoft предусмотрела в версиях Windows 2000 Advanced Server и Windows 2000 Data Center для процессоров x86 возможность увеличения этого пространства до 3 Гб. Чтобы все процессы использовали раздел для кода и ...
... Обработка запросов записи/чтения данных · Обработка расширенных запросов · Выгрузка драйвера 3. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ 3.1 Выбор и обоснование языка и среды программирования Для разработки драйвера виртуального диска применялся пакет DDK (Driver Development Kit), который включает в себя все необходимые заголовочные файлы и библиотеки. Пакет DDK ориентирован на язык С. ...
... , которые компьютер в состоянии получить за несколько часов работы. Важной составляющей для эволюционных изменений становится Интернет, который в некотором роде выступает в качестве испытательного виртуального полигона будущей полной интеграции электронных компонентов и человека в буквальном смысле этого слова. Сегодняшние существующие внешние ячейки памяти и вычислительных операций, которые ...
... это любое замещение реальности ее симуляцией/образом — не обязательно с помощью компьютерной техники, но обязательно с применением логики виртуальной реальности. Эту логику можно наблюдать и там, где компьютеры непосредственно не используются. Например, виртуальной экономикой можно назвать и ту, в которой хозяйственные операции ведутся преимущественно через Internet, и ту, в которой спекуляции на ...
0 комментариев