Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 1. Основные понятия

Обращение к файлу подкачки

При работе в реальных условиях очень важным фактором является частота обращения к файлу подкачки (page file). Операционная система Windows резер­вирует определенный объем дискового пространства под виртуальную память (virtual memory). Когда реальная память заполнена, Windows записывает часть ее содержимого на диск. Этот процесс называется страничной подкачкой, потому что Windows сбрасывает информацию в участки памяти, называемые страницами. Ос­вободившуюся реальную память операционная система использует для других це­лей. Страницы, записанные на диск, могут быть подгружены системой при обраще­нии к ним обратно в память.

Поскольку доступ к диску намного медленнее, чем доступ к реальной памяти, слишком частое обращение к файлу подкачки может очень сильно замедлять произ­водительность приложения. Если программа работает с огромными объемами памя­ти, система будет часто обращаться к диску, что существенно замедляет работу.

Приведенная в числе примеров программа Pager запрашивает все больше и боль­ше памяти под создаваемые массивы, пока система не начнет обращаться к файлу подкачки. Введите количество памяти в мегабайтах, которое программа должна запросить и нажмите кнопку Page (Подкачка). Если ввести небольшое значение, например 1 или 2 Мб, программа создаст массив в оперативной памяти и будет выполняться быстро.

Если вы введете значение, близкое к объему физической памяти вашего ком­пьютера, программа начнет обращаться к файлу подкачки. При этом вы, вероятно, услышите характерный звук работающего дисковода и сразу обратите внимание на то, что программа выполняется намного дольше. Увеличение размера массива на 10% может привести к увеличению времени выполнения до 100%.

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

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

В табл. 1.4 приведено время выполнения программы Pager при обработке раз­личных объемов памяти на компьютере с процессором Pentium 133 МЕц и 32 Мб оперативной памяти при одновременном выполнении нескольких других процес­сов. Время работы будет зависеть от конфигурации компьютера, объема оператив­ной памяти, скорости работы с диском, а также наличия других выполняющихся в системе программ.

← предыдущая следующая →

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.