6.5.4 Изменение размера области
6.5.4 Изменение размера области
Процесс может расширять или сужать свое виртуальное адресное пространство с помощью функции sbrk. Точно так же и стек процесса расширяется автоматически (то есть для этого процессу не нужно явно обращаться к определенной функции) в соответствии с глубиной вложенности обращений к подпрограммам. Изменение размера области производится внутри ядра по алгоритму growreg (Рисунок 6.21). При расширении области ядро проверяет, не будут ли виртуальные адреса расширяемой области пересекаться с адресами какой-нибудь другой области и не повлечет ли расширение области за собой выход процесса за пределы максимально-допустимого виртуального пространства памяти. Ядро никогда не использует алгоритм growreg для увеличения размера разделяемой области, уже присоединенной к нескольким процессам; поэтому оно не беспокоится о том, не приведет ли увеличение размера области для одного процесса к превышению другим процессом системного ограничения, накладываемого на размер процесса. При работе с существующей областью ядро использует алгоритм growreg в двух случаях: выполняя функцию sbrk по отношению к области данных процесса и реализуя автоматическое увеличение стека задачи. Обе эти области (данных и стека) частного типа. Области команд и разделяемой памяти после инициализации не могут расширяться. Этот момент будет пояснен в следующей главе.
Рисунок 6.20. Пример присоединения существующей области команд
Чтобы разместить расширенную память, ядро выделяет новые таблицы страниц (или расширяет существующие) или отводит дополнительную физическую память в тех системах, где не поддерживается подкачка страниц по обращению. При выделении дополнительной физической памяти ядро проверяет ее наличие перед выполнением алгоритма growreg; если же памяти больше нет, ядро прибегает к другим средствам увеличения размера области (см. главу 9). Если процесс сокращает размер области, ядро просто освобождает память, отведенную под область. Во всех этих случаях ядро переопределяет размеры процесса и области и переустанавливает значения полей записи частной таблицы областей процесса и регистров управления памятью (так, чтобы они согласовались с новым отображением памяти).
Предположим, например, что область стека процесса начинается с виртуального адреса 128К и имеет размер 6 Кбайт и что ядру нужно расширить эту область на 1 Кбайт (1 страницу). Если размер процесса позволяет это делать и если виртуальные адреса в диапазоне от 134К до 135К-1 не принадлежат какой-либо области, ранее присоединенной к процессу, ядро увеличивает размер стека. При этом ядро расширяет таблицу страниц, выделяет новую страницу памяти и инициализирует новую запись таблицы. Этот случай проиллюстрирован с помощью Рисунка 6.22
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Изменение размера шрифтов
Изменение размера шрифтов Если у вас есть проблемы со зрением и экранные шрифты кажутся вам слишком мелкими, можете увеличить их размер. Делается это в специальном окне, которое открывается при переходе по ссылке Изменить размер шрифта в окне Персонализация.Здесь вы
7.7 ИЗМЕНЕНИЕ РАЗМЕРА ПРОЦЕССА
7.7 ИЗМЕНЕНИЕ РАЗМЕРА ПРОЦЕССА С помощью системной функции brk процесс может увеличивать и уменьшать размер области данных. Синтаксис вызова функции:brk(endds);где endds — старший виртуальный адрес области данных процесса (адрес верхней границы). С другой стороны, пользователь
Изменение размера шрифта и кодировки
Изменение размера шрифта и кодировки Для начала изучим две очень полезные команды, которые находятся в меню Вид и называются Размер шрифта и Кодировка.С первой проще. Проведя несложные манипуляции мышью (рис. 7.1), вы можете выбрать размер экранных шрифтов в зависимости от
6.3.2.3. Изменение размера
6.3.2.3. Изменение размера Рис. 6.38. Изменение размера изображенияИзменение размера изображения в GIМP называется масштабированием. Выберите инструмент Масштаб (он выделен на рис. 6.38) и щелкните на изображении, размер которого требуется изменить.Раскроется окно Масштаб, в
Изменение размера шрифтов
Изменение размера шрифтов Если вы не послушались нас и установили слишком высокое разрешение экрана, то текст на мониторе станет очень мелким. Человек со слабым зрением просто не прочитает. Человек с хорошим зрением прочитает, но через пару месяцев такого чтения
Изменение размера и положения таблицы
Изменение размера и положения таблицы Для редактирования таблиц используются маркеры перемещения и изменения. Маркер перемещения появляется в верхнем левом углу таблицы при наведении указателя мыши на таблицу или щелчке на таблице. Он имеет форму крестика в рамке (рис.
Глава 9 Выбор и изменение размера изображения
Глава 9 Выбор и изменение размера изображения • Кадрирование• Поворот изображения• Изменение физического размера изображенияКак уже говорилось, в идеальной ситуации изображение должно создаваться с правильным физическим размером. Однако практика показывает, что
Изменение физического размера изображения
Изменение физического размера изображения Как уже говорилось, изменение физического размера изображения, то есть изменение количества пикселов, из которых оно состоит, в достаточной степени проблематично: потери в качестве неизбежны. Любая графическая программа,
Обновление размера
Обновление размера Команда DIMSTYLE с ключом apply обеспечивает обновление размера и вызывается из падающего меню Dimension ? Update или щелчком на пиктограмме Dimension Update на панели инструментов
Перемещение, изменение размера и поворот
Перемещение, изменение размера и поворот Чтобы переместить, повернуть выделенные объекты, изменить их размер, нужно нажать кнопку на нижней панели инструментов. В меню Титры пункт, который отмечен галочкой при включенном режиме перемещения, поворота и изменения
2.3.9. Вычисление размера БД
2.3.9. Вычисление размера БД ERwin позволяет рассчитать приблизительный размер БД в целом, а также таблиц, индексов и других объектов через определенный период времени после начала эксплуатации ИС. Для расчета размеров физических объектов служит диалог Volumetrics Editor (рис. 2.99),
Изменение размера и масштаба изображения
Изменение размера и масштаба изображения После запуска программы открывается ее окно, в котором отображено несколько панелей и палитр (рис. 5.9). На основной палитре инструментов размещаются инструменты для создания и редактирования рисунков. Важной также является
У11.4 Экспортирование размера
У11.4 Экспортирование размера Почему capacity экспортируется для реализации стеков ограниченных размеров, класс
2.2.2. Изменение размера окна
2.2.2. Изменение размера окна Если окно развернуто не на весь экран, то вы можете изменять его размер — для этого нужно подвести курсор мыши к границе окна — тогда курсор пример форму двух стрелок, направленных в разные стороны. Теперь нажмите левую кнопку мыши и, не
Изменение размера окна
Изменение размера окна Если кнопка развернуть/восстановить окно активна (пиктограмма на кнопке контрастирует с цветом кнопки), то такое окно можно в зависимости от необходимости как увеличить, так и уменьшить. Если же кнопка не активна (пиктограмма на кнопке