Полностью решена проблема точек останова, устанавливаемых в разделяемых областях текстов программ (см. раздел 13.6): все текстовые области имеют атрибут MAP_PRIVATE. При задании отладчиком контрольной точки (вызовом ptrace) ядро создает закрытую копию страницы для процесса и записывает в нее данные о точке останова. Такой подход гарантирует невидимость контрольной точки для остальных процессов, разделяющих текстовую область программы.
Несмотря на то что преимущества VM кажутся просто потрясающими, система не лишена недостатков. Ниже перечислены основные слабости подсистемы, влияющие на ее производительность.
Также вам может показаться, что такая тема как http://sadko-express.com/o-kompanii никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт sadko-express.com. Тема международная транспортная компания там представлена весьма широко. На том сайте можно узнать много интересного на тему международная транспортная компания. Что означает вообще тема международная транспортная компания, где найти международная транспортная компания - про это написано на сайте sadko-express.com. Это очень важная для многих людей тема - международная транспортная компания. Спасибо сайту sadko-express.com за информацию на тему международная транспортная компания.
♦ Подсистеме VM необходимо поддерживать большой объем информации о своих основных абстракциях. Результатом этого является появление большего количества структур данных по сравнению с BSD, часто оказывающихся объемнее своих предшественниц. Например, структура раде имеет размер как минимум 40 байтов, в то время как структура стар системы BSD — всего 16 байтов. Это означает, что подсистема VM использует для поддержки своего функционирования больший объем памяти, ограничивая тем самым память, доступную процессам.
♦ VM не сбрасывает страницы текстов программ и неинициализируемых данных в область свопинга. Вместо этого система при необходимости считывает информацию прямо из исполняемых файлов. Это приводит к сокращению объема пространства свопинга, необходимого для работы, и позволяет сэкономить на операциях сброса таких страниц на резервные носители. С другой стороны, чтение страницы из файла происходит медленнее по сравнению с загрузкой ее из области свопинга. Причиной этого является необходимость выполнения большего количества кодов файловой системы и (в некоторых случаях) чтение дополнительных блоков метаданных с целью обнаружения страницы на диске. Влияние политики работы со свопингом подсистемы VM на общую производительность системы зависит от частоты запроса таких страниц.
♦ Алгоритмы VM являются более сложными и медленными по сравнению с предшественниками. Разнесение компонентов на разные уров ни выполнения требует применения большего числа функциональных вызовов, часть из которых вызывается косвенно путем просмотра таблиц функций. Это влияет на общую производительность системы. Например, в [3] упоминается тот факт, что функциональные вызовы на 20% увеличивают время выполнения обработки страничных исключений.
♦ Система VM не поддерживает практику BSD сохранения в РТЕ дисковых адресов всех страниц, заполняемых текстами, при выполнении ехес. Это означает, что каждый дисковый адрес страницы будет вычисляться индивидуально при возникновении исключения применительно к этой странице. Если блоки косвенной адресации файла не находятся в физической памяти, их необходимо считывать с диска. Это уменьшает скорость работы страничной системы в отношении страниц текста и инициализируемых данных.
♦ Применение объектно-ориентированного подхода привело к появлению инвариантных интерфейсов взаимодействия с основными абстракциями VM, достаточно гибких, чтобы создавать различные реализации объектов. Отсюда следует, что система не может быть настроена на какую-то специфическую реализацию. Оптимизации, описываемые в предыдущем абзаце, невозможны в SVR4.
♦ Технология копирования при записи не всегда работает быстрее упреждающего копирования. Когда страница сдублирована с помощью копирования при записи, в результате возникает большее количество исключений. При этом необходимо обновлять вхождение TLB, так как страница изначально защищена от записи. Если страницу все равно придется копировать, то более эффективным решением этой задачи будет прямое копирование по сравнению с ожиданием исключения.
♦ Пространство свопинга выделяется постранично, а размещение страниц на устройствах произвольно. Такой подход не позволяет применять преимущества кластеризации, поддерживаемой BSD, заключающиеся в выделении непрерывных областей пространства свопинга для каждого процесса. Но следует заметить, что в BSD незанятое пространство оказывается потерянным.
Опубликовал katy
June 20 2015 10:24:01 ·
0 Комментариев ·
2782 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.