русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Размер страницы


Дата добавления: 2014-11-28; просмотров: 1474; Нарушение авторских прав


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

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



 

Следует учитывать также влияние количества кадров, распределенных процессу. На рис. 8.11,6 показано, что для фиксированного размера страницы частота возникновения прерываний из-за отсутствия страницы уменьшается с ростом числа страниц, находящихся в основной памяти. Таким образом, на программную стратегию (объем памяти, выделяемой процессу) влияет аппаратное решение (размер страницы).

В табл. 8.2 приведены размеры страниц на разных машинах.

Таблица 8.2. Примеры размеров страниц

 

Компьютер Размер страницы
Atlas 512 48-битовых слов
Honeywell-Multics 1024 36-битовых слова
IBM 370/ХА и 370/ESA 4 Кбайт
Семейство VAX 512 байт
IBM AS/400 512 байт
DEC Alpha 8 Кбайт
MIPS от 4 Кбайт до 16 Мбайт
UltraSPARC от 8 Кбайт до 4 Мбайт
Pentium от 4 Кбайт до 4 Мбайт
PowerPC 4 Кбайт

 

И, наконец, решениеоб используемом размере страниц связано с размером физической основной памяти и размером программы. Ведь растет не только объем основной памяти в компьютерах, но и адресное пространство, используемое приложениями. Эта тенденция наиболее заметна в персональных компьютерах и рабочих станциях, где особенно резко проявляется увеличение размеров и возрастание сложности используемых приложений. Кроме того, современные технологии программирования, используемые в больших программах, приводят к снижению локализации ссылок процесса [HUCK93]. В качестве примеров можно привести следующие:

· Объектно-ориентированные технологии, стимулирующие использование множества мелких модулей кода и данных с обращениями к большому количеству объектов за относительно короткое время.

· Многопоточные приложения, приводящие к внезапным изменениям в пото­ке команд и обращениям к памяти, разбросанным по разным адресам.

Результативность поиска в TLB определенного размера с ростом размера процессов и уменьшением локализации снижается. При таком положении дел TLB может стать узким местом, ограничивающим производительность [CHEN92].

Один из способов повышения производительности TLB — использование большого TLB с большим количеством записей. Однако увеличение размера TLB связано с другими аспектами аппаратного решения вопросов обращения к памяти — такими, как размер кэша основной памяти и количество обращений к па­мяти при выполнении одной команды [TALL92], что заставляет сделать вывод о невозможности роста размера TLB такими же темпами, как и увеличение разме­ра основной памяти. Альтернативой может быть использование больших разме­ров страниц с тем, чтобы каждая запись в TLB ссылалась на большой блок па­мяти. Однако мы уже видели, что использование больших размеров страниц может привести к потере производительности.

Учитывая обстоятельства, рассмотренные нами ранее, ряд разработчиков пришли к использованию множественных размеров страниц [TALL92, KHAL93], и некоторые из микропроцессоров, такие, как MIPS R4000, Alpha, UltraSPARC и Pentium, поддерживают эту методику. Множественные размеры страниц обеспечивают необходимую для эффективного использования TLB гибкость. Большие непрерывные области адресного пространства процесса, например программный код, могут отображаться с использованием небольшого количества больших страниц, в то время как стеки потоков могут использовать для отображения страницы малого размера. Однако большинство коммерческих операционных систем все еще поддерживают только один размер страниц, независимо от способности аппаратного обеспечения работать со страницами разного размера. Причина этого отставания в том, что с размером страниц связано большое количество разнообразных аспектов операционных систем, и переход на множественный размер страниц оказывается очень сложным[GANA98].



<== предыдущая лекция | следующая лекция ==>
Буфер поиска трансляции | Сегментация


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.041 сек.