Меню

Таблица страниц содержит информацию о

Структура таблицы страниц

Организация таблицы страниц – один из ключевых элементов отображения адресов в страничной и сегментно-страничной схемах. Рассмотрим структуру таблицы страниц для случая страничной организации более подробно.

Итак, виртуальный адрес состоит из виртуального номера страницы и смещения. Номер записи в таблице страниц соответствует номеру виртуальной страницы. Размер записи колеблется от системы к системе, но чаще всего он составляет 32 бита. Из этой записи в таблице страниц находится номер кадра для данной виртуальной страницы, затем прибавляется смещение и формируется физический адрес. Помимо этого запись в таблице страниц содержит информацию об атрибутах страницы.

Формат конкретной записи в значительной мере зависит от машины, но виды представленной информации примерно одни и те же. На рис. 29 приведен образец записи таблицы страниц. Ее длина варьируется от компьютера к компьютеру, но 32 бита – это наиболее распространенный размер. Самым важным полем является поле номера страничного блока. При отображении страниц основной задачей является определение данной величины. За этим полем следует бит присутствия/отсутствия. Если этот бит равен 1, запись имеет силу и может использоваться. Если он равен 0, виртуальная страница, которой соответствует эта запись, в данный момент отсутствует в памяти. Обращение к записи в таблице страниц, где биту присутствия/отсутствия присвоено нулевое значение, приводит к ошибке отсутствия страницы.

Биты защиты говорят о том, какие виды доступа разрешены к этой странице. В простейшей форме это поле содержит один бит, равный 1 для чтения/записи и 0 только для чтения. Более сложные схемы имеют три бита, по одному для допуска каждой из операций чтения, записи и выполнения страницы.

Рис.29. Типичная запись таблицы страниц

Биты изменения и обращения отслеживают использование страницы. Когда страница записывается, аппаратура автоматически устанавливает бит изменения. Этот бит учитывается, когда операционная система решает освободить страничный блок. Если страница в нем была изменена (то есть она «грязная»), ее новая версия должна быть переписана на диск. Если она не была модифицирована (то есть страница «чистая»), ее можно просто удалить из памяти, так как все еще действительна копия на диске. Этот бит иногда называют грязным битом, так как он отражает состояние страницы.

Бит обращения устанавливается всякий раз, когда происходит обращение к странице для чтения или записи. Его значение помогает операционной системе при выборе страницы для удаления из памяти, когда случается ошибка отсутствия страницы. Страницы, не использующиеся в данный момент, являются лучшими кандидатами, чем находящиеся в работе. Этот бит играет важную роль в нескольких алгоритмах перемещения страниц. Наконец, последний бит позволяет запретить кэширование страницы. Данное свойство важно для страниц, отображающихся не на память, а на регистры устройств.

Адрес места на диске, где хранится страница тогда, когда она не находится в памяти, не является частью таблицы страниц. Причина очень проста. Таблица страниц содержит только ту информацию, которая нужна аппаратуре для преобразования виртуального адреса в физический. Информация, необходимая операционной системе для обработки ошибок отсутствия страниц, хранится в программных таблицах внутри самой ОС. Аппаратуре она не нужна.

Основную проблему для эффективной реализации таблицы страниц создают большие размеры виртуальных адресных пространств современных компьютеров, которые обычно определяются разрядностью архитектуры процессора. Самыми распространенными на сегодня являются 32-разрядные процессоры, позволяющие создавать виртуальные адресные пространства размером 4 Гбайт (для 64-разрядных компьютеров эта величина равна 2 64 байт). Кроме того, существует проблема скорости отображения, которая решается за счет использования так называемой ассоциативной памяти.0

Перемещение страниц по запросу (demand paging). Виртуальная память чаще всего реализуется на базе страничной организации памяти, совмещенной со свопингом (подкачкой) страниц.

Свопингу подвергаются только те страницы, которые необходимы процессору. Таким образом, перемещение страниц по запросу означает:

· программа может выполняться CPU, когда часть страниц находится в основной памяти, а часть – во внешней;

· в процессе выполнения новая страница не перемещается в основную память до тех пор, пока в ней не возникла необходимость.

Для учета распределения страниц между внешней и основной памятью каждая строка таблицы страниц дополняется битом местонахождения страницы (valid/invalid bit).

В том случае, если процессор пытается использовать страницу, помеченную значением invalid, возникает событие, называемое страничная недостаточность (paging fault).

Страничная недостаточность вызывает прерывание выполнения программы и передачу управления операционной системе. Реакция операционной системы на страничную недостаточность заключается в том, что необходимая страница загружается в основную память.

Основные этапы обработки страничной недостаточности (рис. 30.):

Рис. 30. Обработка страничной недостаточности

1) Процессор, прежде чем осуществлять преобразование логического адреса в физический, проверяет значение бита местонахождения необходимой страницы.

2) Если значение бита invalid, то процесс прерывается и управление передается операционной системе для обработки события страничная недостаточность.

3) Отыскивается необходимая страница во вторичной памяти и свободная страничная рамка в основной.

4) Требуемая страница загружается в выбранную страничную рамку.

5) После завершения операции загрузки редактируется соответствующая строка таблицы страниц, в которую вносится базовый адрес и значение бита местонахождения– valid.

6) Управление передается прерванному процессу.

Метод обмена страниц по запросу позволяет начать выполнение процесса даже в том случае, когда ни одна страница этого процесса не загружена в основную память.

Вторичная память, используемая при обмене страниц по запросу, – это высокоскоростное дисковое устройство, часто называемое оборудованием свопинга (swap device), а часть используемого дискового пространства – пространство свопинга (swap space).

Замещение страниц. В процессе обработки страничной не­достаточности операционная система может обнаружить, что все страничные рамки основной памяти заняты и, следовательно, невозможно загрузить требуемую страницу. В этом случае возможны следующие режимы: приостановка прерванного процесса, уменьшение на единицу количества процессов мультипро­граммной смеси для освобождения всех ею занимаемых страничных рамок, использование метода замещения страниц.

Метод замещения страниц состоит в том, что в основной памяти выбирается наименее важная/используемая страница, называется страница-жертва (victim page), которая временно перемещается в пространство свопинга, а на ее место загружается страница, вызываемая страничной недостаточностью.

Обработка страничной недостаточности с учетом замещения осуществляется по следующему алгоритму:

— определяется местонахождение страницы путем анализа бита местонахождения;

— если значение бита invalid, то разыскивается свободная страничная рамка;

— если имеется свободная страничная рамка, то она используется;

— если свободной страничной рамки нет, то используется алгоритм замещения, который выбирает страницу-жертву;

— страница-жертва перемещается в пространство свопинга и таблица страниц редактируется;

— требуемая страница загружается на место страницы-жертвы и соответствующим образом редактируется таблица страниц.

Управление передается прерванному процессу. Приведенный алгоритм замещения требует двухстраничных перемещений:

— страница-жертва перемещается в пространство свопинга;

— требуемая страница перемещается в освободившуюся страничную рамку.

Страницу-жертву можно не копировать в пространство свопинга в том случае, если за время, прошедшее от последнего перемещения, ее содержимое не модифицировалось. В этом случае время замещения уменьшается примерно вдвое.

Для учета факта модификации страницы в таблицу страниц вводится дополнительный бит, который меняет свое значение на противоположное в том случае, если содержимое страницы изменилось.

Для практического использования метода обмена страниц по запросу необходимы два алгоритма:

— алгоритм распределения страничных рамок (frame allo­cation algorithm);

— алгоритм замещения страниц (page replacement algorithm).

Источник

Виртуальная память. Архитектурные средства поддержки виртуальной памяти

Архитектурные средства поддержки виртуальной памяти

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

Читайте также:  Социальные группы и организации государства таблица

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

Страничная виртуальная память

Как и в случае простой страничной организации , страничная виртуальная память и физическая память представляются состоящими из наборов блоков или страниц одинакового размера. Виртуальные адреса делятся на страницы (page), соответствующие единицы в физической памяти образуют страничные кадры (page frames), а в целом система поддержки страничной виртуальной памяти называется пейджингом (paging). Передача информации между памятью и диском всегда осуществляется целыми страницами.

После разбиения менеджером памяти виртуального адресного пространства на страницы виртуальный адрес преобразуется в упорядоченную пару (p,d) , где p – номер страницы в виртуальной памяти , а d – смещение в рамках страницы p , внутри которой размещается адресуемый элемент. Процесс может выполняться, если его текущая страница находится в оперативной памяти. Если текущей страницы в главной памяти нет, она должна быть переписана (подкачана) из внешней памяти. Поступившую страницу можно поместить в любой свободный страничный кадр.

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

При отсутствии страницы в памяти в процессе выполнения команды возникает исключительная ситуация, называемая страничное нарушение (page fault) или страничный отказ. Обработка страничного нарушения заключается в том, что выполнение команды прерывается, затребованная страница подкачивается из конкретного места вторичной памяти в свободный страничный кадр физической памяти и попытка выполнения команды повторяется. При отсутствии свободных страничных кадров на диск выгружается редко используемая страница. Проблемы замещения страниц и обработки страничных нарушений рассматриваются в следующей лекции.

Для управления физической памятью ОС поддерживает структуру таблицы кадров. Она имеет одну запись на каждый физический кадр, показывающую его состояние.

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

Сегментно-страничная организации виртуальной памяти

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

На практике, однако, появления в системе большого количества таблиц страниц стараются избежать, организуя неперекрывающиеся сегменты в одном виртуальном пространстве, для описания которого хватает одной таблицы страниц . Таким образом, одна таблица страниц отводится для всего процесса. Например, в популярных ОС Linux и Windows 2000 все сегменты процесса, а также область памяти ядра ограничены виртуальным адресным пространством объемом 4 Гбайт. При этом ядро ОС располагается по фиксированным виртуальным адресам вне зависимости от выполняемого процесса.

Структура таблицы страниц

Организация таблицы страниц – один из ключевых элементов отображения адресов в страничной и сегментно-страничной схемах. Рассмотрим структуру таблицы страниц для случая страничной организации более подробно.

Итак, виртуальный адрес состоит из виртуального номера страницы и смещения. Номер записи в таблице страниц соответствует номеру виртуальной страницы . Размер записи колеблется от системы к системе, но чаще всего он составляет 32 бита. Из этой записи в таблице страниц находится номер кадра для данной виртуальной страницы , затем прибавляется смещение и формируется физический адрес. Помимо этого запись в таблице страниц содержит информацию об атрибутах страницы. Это биты присутствия и защиты (например, 0 – read/write, 1 – read only. ). Также могут быть указаны: бит модификации , который устанавливается, если содержимое страницы модифицировано, и позволяет контролировать необходимость перезаписи страницы на диск; бит ссылки , который помогает выделить малоиспользуемые страницы; бит, разрешающий кэширование, и другие управляющие биты. Заметим, что адреса страниц на диске не являются частью таблицы страниц .

Основную проблему для эффективной реализации таблицы страниц создают большие размеры виртуальных адресных пространств современных компьютеров, которые обычно определяются разрядностью архитектуры процессора. Самыми распространенными на сегодня являются 32-разрядные процессоры, позволяющие создавать виртуальные адресные пространства размером 4 Гбайт (для 64-разрядных компьютеров эта величина равна 2 64 байт). Кроме того, существует проблема скорости отображения, которая решается за счет использования так называемой ассоциативной памяти (см. следующий раздел).

Подсчитаем примерный размер таблицы страниц . В 32-битном адресном пространстве при размере страницы 4 Кбайт (Intel) получаем 2 32 /2 12 =2 20 , то есть приблизительно миллион страниц, а в 64-битном и того более. Таким образом, таблица должна иметь примерно миллион строк (entry), причем запись в строке состоит из нескольких байтов. Заметим, что каждый процесс нуждается в своей таблице страниц (а в случае сегментно-страничной схемы желательно иметь по одной таблице страниц на каждый сегмент).

Понятно, что количество памяти, отводимое таблицам страниц , не может быть так велико. Для того чтобы избежать размещения в памяти огромной таблицы, ее разбивают на ряд фрагментов. В оперативной памяти хранят лишь некоторые, необходимые для конкретного момента исполнения фрагменты таблицы страниц . В силу свойства локальности число таких фрагментов относительно невелико. Выполнить разбиение таблицы страниц на части можно по-разному. Наиболее распространенный способ разбиения – организация так называемой многоуровневой таблицы страниц . Для примера рассмотрим двухуровневую таблицу с размером страниц 4 Кбайт, реализованную в 32-разрядной архитектуре Intel.

Таблица , состоящая из 2 20 строк, разбивается на 2 10 таблиц второго уровня по 2 10 строк. Эти таблицы второго уровня объединены в общую структуру при помощи одной таблицы первого уровня, состоящей из 2 10 строк. 32-разрядный адрес делится на 10-разрядное поле p1 , 10-разрядное поле p2 и 12-разрядное смещение d . Поле p1 указывает на нужную строку в таблице первого уровня, поле p2 – второго, а поле d локализует нужный байт внутри указанного страничного кадра (см. рис. 9.1).

При помощи всего лишь одной таблицы второго уровня можно охватить 4 Мбайт (4 Кбайт x 1024) оперативной памяти. Таким образом, для размещения процесса с большим объемом занимаемой памяти достаточно иметь в оперативной памяти одну таблицу первого уровня и несколько таблиц второго уровня. Очевидно, что суммарное количество строк в этих таблицах много меньше 2 20 . Такой подход естественным образом обобщается на три и более уровней таблицы .

Наличие нескольких уровней, естественно, снижает производительность менеджера памяти. Несмотря на то что размеры таблиц на каждом уровне подобраны так, чтобы таблица помещалась целиком внутри одной страницы, обращение к каждому уровню – это отдельное обращение к памяти. Таким образом, трансляция адреса может потребовать нескольких обращений к памяти.

Количество уровней в таблице страниц зависит от конкретных особенностей архитектуры. Можно привести примеры реализации одноуровневого (DEC PDP-11), двухуровневого (Intel, DEC VAX), трехуровневого (Sun SPARC, DEC Alpha) пейджинга , а также пейджинга с заданным количеством уровней (Motorola). Функционирование RISC-процессора MIPS R2000 осуществляется вообще без таблицы страниц . Здесь поиск нужной страницы, если эта страница отсутствует в ассоциативной памяти , должна взять на себя ОС (так называемый zero level paging).

Читайте также:  Операторы спутникового интернета

Источник



Структура таблицы страниц

Иерархические таблицы страниц. Таблицы страниц в операционных системах могут быть по-разному организованы, при сохранении общих принципов их использования, описанных ранее. Рассмотрим далее три основных способа организации таблиц страниц – иерархические таблицы страниц, хешированные таблицы страници инвертированные таблицы страниц.

Чаще всего используются иерархические таблицы страниц.При их использовании логическое адресное пространство разбивается на несколько таблиц страниц (иначе говоря, используются таблицы таблиц страниц ). Наиболее простой и распространенный метод – двухуровневая таблица страниц.

При обычной организации таблицы страниц, логический адрес (для 32-разрядной архитектуры, при размере страницы 4 килобайта = 4096 байтов) разбивается на номер страницы (20 битов) и смещение внутри страницы (12 битов).

При двухуровневой организации таблицы страниц, таблица страниц верхнего уровня сама делится на страницы, поэтому логический адрес будет иметь вид: (p1, p2, d),где p1– индекс во внешней таблице страниц, p2– смещение внутри страницы для внешней таблицы страниц, d –смещение внутри страницы (адресуемой по внутренней таблице страниц). При тех же предположениях об архитектуре и размере страницы, p1и p2будут занимать по 10 битов.

Организация двухуровневых таблиц страниц изображена на рис. 9.

Рис. 9.Организация двухуровневых таблиц страниц.

Схема адресной трансляции по двухуровневой таблице страниц иллюстрируется рис. 10.

Рис. 10.Схема адресной трансляции по двухуровневой таблице страниц.

Хешированные таблицы страниц

Структура таблицы страниц, описанная в данном разделе, базируется на понятии хеш-функции (hash function)— целочисленной функции hash, определенной на элементах s некоторого пространства поиска S(строках, больших числах и др.) и принимающей значения из отрезка [0, H-1] где H – натуральное число. Общая идея поиска с помощью хеш-функций заключается в следующем: пространство поиска разбивается наH непересекающихся подмножеств (списков) Sh, в каждом из которых хранятся элементы, имеющие одинаковое значение хеш-функции, равное h. Таким образом, применение хеш-функции позволяет сократить поиск в среднем в H раз: при поиске элемента s сначала вычисляем hash(s),а затем выполняем поиск только в списке Shash(s) Для облегчения доступа к хеш-спискам хранится также хеш-оглавление– таблица, индексируемая значением хеш-функции, каждый элемент которой содержит ссылку на начало соответствующего списка.

Хешированные таблицы страниц используются, если адресное пространство 64-битное или большей разрядности. Очевидно, что в этом случае, при прямолинейном подходе, размеры таблиц страниц оказались бы слишком велики. Поэтому используется другой метод. Логический номер страницы хешируется (т.е. для него вычисляется хеш- функция). Полученное число (реальный номер страницы) используется как индекс в хеш-оглавлении, ссылающемся на список страниц, хешируемых в один и тот же номер. В найденном таким образом списке и выполняется поиск нужной страницы. Данный способ организации таблицы страниц и схема адресации иллюстрируются рис. 11.

Рис. 11.Хешированные таблицы страниц.

Инвертированные таблицы страниц

Данный способ организации таблиц страниц предназначен для сокращения размеров таблиц страниц. В таблице страниц хранится один элемент для каждой реальной страницы, находящейся в памяти. К логическому адресу добавляется номер процесса (pid)владеющего данной страницей. По паре (номер процесса = pid, номер страницы = p)выполняется ассоциативный поиск в таблице страниц. Индекс найденного элемента таблицы iконкатенируется со смещением dвнутри страницы, в результате получается физический адрес. Инвертированные таблицы страниц иллюстрируются рис. 12.

Рис.12.Инвертированные таблицы страниц.

Разделяемые (совместно используемые) страницы– логические страницы, используемые несколькими процессами и имеющие один и тот же номер в таблице страниц каждого из процессов. Данный механизм полезен для экономии памяти, так как позволяет загружать в память в единственном экземпляре не изменяемую информацию, необходимую нескольким процессам – например, код и массивы констант.

Пример использования разделяемых страниц тремя процессами приведен на рис. 13. Три процесса используют одни и те же коды трех редакторов ed1, ed2, ed3, логические страницы которых имеют для обоих процессов номера 0, 1 и 2. Кроме того, каждый процесс использует свои индивидуальные данные data1, data2, data3.

Рис. 13.Разделяемые страницы.

Roll out / roll in— откачка и подкачка на базе приоритетов; более приоритетные процессы исполняются, менее приоритетные – откачиваются на диск.

Ассоциативная память (кэш) страниц, буфер трансляции адресов (translation lookaside buffer – TLB)– сверхбыстродействующая ассоциативная память, содержащая номера наиболее часто используемых страниц и их адреса в основной памяти.

Бит valid-invalid– бит в элементе таблицы страниц, указывающий, принадлежит ли страница логической памяти процесса.

Внешняя фрагментация– ситуация, когда в системе имеется достаточно большая область свободной памяти, но она не является непрерывной.

Внутренняя фрагментация –ситуация в системе, при которой неэффективно расходуется свободная память, вследствие применения стратегии выделения памяти с точностью до страницы.

Иерархическая таблица страниц –организация таблиц страниц в виде иерархии (как правило, двухуровневой), результатом доступа к которой является адрес фактической страницы физической памяти.

Инвертированная таблица страниц – таблица страниц, при обращении к которой выполняется поиск требуемой физической страницы по номеру процесса и логическому номеру страницы.

Компактировка (compaction) –сдвиг или перемешивание памяти с целью объединения всех не смежных свободных областей в один непрерывный блок.

Метод наиболее подходящего – метод решения общей задачи распределения памяти,при котором выбирается по списку свободный участок минимального размера, не меньшего, чем n.

Метод наименее подходящего – метод решения общей задачи распределения памяти,при котором выбирается по списку свободный участок максимального размера, не меньшего, чем n.

Метод первого подходящего – метод решения общей задачи распределения памяти,при котором выбирается первый по списку свободный участок подходящего размера (не меньшего, чем n ).

Общая задача распределения памяти— Имеется список свободных областей памяти и список занятых областей разного размера; реализовать оптимальный алгоритм выделения свободного смежного участка памяти длины n.

Откачка (swap out)— запись образа неактивного процесса на диск.

Откачка и подкачка (swapping) –действия операционной системы по откачке(записи) образа неактивного процесса на диск или подкачке(считыванию) активного процесса в основную память.

Подкачка (swap in)— считывание активного процесса с диска в основную память.

Разделяемые страницы– страницы, совместно используемые несколькими процессами и имеющие в их таблицах страниц одинаковые логические номера.

Регистр таблицы страниц (page table base register – PTBR) – регистр, указывающий на таблицу страниц и хранящий ее длину.

Регистр таблицы страниц пользователя (РТСП) –в системе » Эльбрус «: регистр, содержащий дескриптор таблицы страниц.

Cмежное распределение памяти– распределение памяти для пользовательских процессов в одной смежной области основной памяти.

Среднее время доступа (Effective Access Time — EAT)– оценка математического ожидания числа обращений к памяти при страничной организации.

Страничная организация (paging) –стратегия управления памятью, при которой логическая и физическая память делится на страницы одинаковой длины, и в основной памяти образы логических страниц могут размещаться произвольным образом.

Страницы– смежные области логической и физической памяти одинаковой длины, обычно – степень 2, используемые при страничной организации.

Таблица страниц( page table)– системная структура, выделяемой процессу операционной системой для трансляции его логических адресов в физические.

Файл откачки (backing store) —область дисковой памяти, используемая операционной системой для хранения образов откачанных процессов.

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

Фрейм –образ страницыв основной памяти.

Хешированная таблица страниц– таблица страниц, при обращении к которой выполняется поиск, основанный на хешировании номера логической страницы.

Откачка и подкачка – механизм сброса образов неактивных процессов на диск и, при их активизации, считывания обратно в основную память. Файл откачки – пространство на диске, где система хранит образы откачанных процессов.

Смежное распределение памяти – отведение памяти для всех процессов из одной смежной области памяти. Регистр перемещения используется для преобразования логического адреса в физический (суммируется с логическим адресом).

Читайте также:  Заполните таблицу международные организации и движения

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

Фрагментация – дробление свободной памяти на мелкие несмежные области. Внешняя фрагментация – ситуация, при которой имеется большая область свободной памяти, но она не является непрерывной. Внутренняя фрагментация – выделение «лишних» участков свободной памяти вследствие применения стратегии выделения памяти с точностью до страницы. Внешняя фрагментация может быть ликвидирована с помощью компактировки – перемешивания или сдвига свободной памяти с целью преобразования ее в одну смежную область.

Страничная организация – метод управления памятью, при котором логическая и физическая память делится на страницы одинаковой длины (степень двойки). Физические страницы (фреймы), выделяемые для логических страниц процесса, могут располагаться произвольным образом. Для трансляции логических адресов в физические используется таблица страниц процесса. Логический адрес состоит из номера страницы и смещения внутри страницы. ОС хранит список свободных фреймов в основной памяти.

Для реализации таблицы страниц в системе имеется регистр таблицы страниц, содержащий ее адрес и длину.

Для ускорения трансляции адресов используется ассоциативная память страниц ( TLB).

Для защиты памяти процесса используется бит valid – invalid в каждом элементе таблицы страниц, указывающий, принадлежит ли страница логической памяти процесса.

Таблицы страниц бывают различной структуры – иерархические, хешированные и инвертированные. Хешированные таблицы страниц требуют поиска нужной страницы по хеш-списку. Инвертированные таблицы страниц требуют поиска нужной физической страницы по номеру процесса и логическому номеру страницы.

Разделяемые страницы используется для совместного использования процессами одних и тех же областей памяти. Они имеют одинаковые логические номера в таблицах страниц процессов.

Вопросы для самопроверки:

1. Что такое откачка и подкачка?

2. Что такое файл откачки?

3. Как организовано смежное распределение памяти?

4. Как используется регистр перемещения для адресации?

5. Какие методы решения общей задачи распределения памяти Вам известны?

Источник

Работа с таблицами в текстовом редакторе Word

Опубликовано Михаил Непомнящий в 07.11.2016 07.11.2016

course promo

Использование таблиц – это удобный способ представления данных, будь то важный отчет крупной компании или рядовое резюме соискателя работы. Таблицы в текстовом редакторе Word представляют собой набор ячеек, расположенных в вертикальных и горизонтальных колонках.

Таблицы могут быть созданы в Word простым использованием ленточного меню пункта «Вставка» – «Таблица» – «Вставить таблицу». В той же области есть возможность вставить так называемую экспресс-таблицу, используя готовые образцы. Кроме того, превратить в таблицу можно выделенный текст или просто вручную нарисовать таблицу. После создания таблицы есть возможность выделять как отдельные ячейки, так и колонки строк или столбцов.

Онлайн-курс «Word от простого к сложному» Онлайн-курс «Word от простого к сложному» Освойте работу в главном текстовом редакторе на высоком уровне. Неважно новичок вы или уже работаете с Word, с нашим курсом вы станете настоящим гуру документов! Подробнее

Простая вставка таблицы

Из ленточного меню выберите пункт «Вставка», область «Таблицы». Нажмите на стрелочку под кнопкой «Таблица».

Из выпадающего списка выделением отметьте желаемое количество строк и столбцов в таблице. В процессе выделения, в вашем документе появится превью макета. Чтобы вставить тот или иной вариант таблицы просто нажмите левой клавишей мыши в крайней выбранной вами ячейке.

Вставка таблицы Word

Кликнув на любую из ячеек в созданной таблице, в ленточном меню добавится пункт «Конструктор», в котором можно удобно поменять дизайн таблицы, выбрав тот или иной стиль оформления, а также задать те или иные значения в области «Параметры стилей таблиц», например, добавить или удалить строку заголовка и строку итогов.

Кроме того, используя контекстное меню по нажатию правой клавиши мыши в области таблицы, можно выбрать пункт «Свойства таблицы» и в открывшемся окне отрегулировать те или иные значения. Установив же курсор в любую из ячеек, можно набирать в ней текст или цифры.

Объединение ячеек

Если вам необходимо объединить несколько ячеек в одну, например, в строке заголовка, то выделите соответствующие ячейки, используя мышь. В ленточном меню выберите пункт «Макет» и в области «Объединение» выберите опцию «Объединить ячейки».

Объединить ячейки таблицы Word

В этой же области можно также разделять ранее объединенные ячейки, а при желании можно разделить одну таблицу на несколько составляющих.

Выделение таблицы

Если вы хотите выделить всю таблицу, например, для ее копирования, перемещения или удаления, то поместить курсор в любую из ячеек, а из ленточного меню в пункте «Макет» в области «Таблица» нажмите кнопку «Выделить» и из выпадающего списка значение «Выделить таблицу». Аналогичным образом можно выделить ячейку, строку или столбец.

Более простой способ для выделения всей таблицы целиком – это нажать на специальную пиктограмму в правом верхнем углу над таблицей. Эта пиктограмма в виде четырех стрелок в разные стороны появляется при простом наведении курсора на таблицу, а также отображается всегда при работе с элементами таблицы.

Для выделения строки в таблице можно также использовать только курсор мыши – поместите его слева напротив строки для выделения. Стрелка курсора развернется вправо, после чего просто кликнете левой клавишей мыши. Для выделения столбца – поместите курсор мыши на границу верхней ячейки желаемого столбца – курсор должен принять вид черной стрелочки, повернутой вниз, после чего кликните мышью.

Превращаем текст в таблицу

Текстовый редактор Word позволяет преобразовывать готовый текст в таблицу. Для этого соответствующее содержимое должно быть разделено между собой табуляцией, либо символом точка с запятой (;).

Просто выделите набранный текст, в ленточном меню в пункте «Вставка» из области «Таблицы» кликните на кнопку «Таблица» и выберите значение «Преобразовать в таблицу».

Преобразовать текст в таблицу word

В открывшемся диалоговом меню убедитесь, что количество столбцов и строк соответствует выбранной области, при необходимости отрегулируйте значения. В этом же окне в области «Разделитель» убедитесь, что выбранное значение соответствует вашему примеру (если отделяли точками с запятой, то и здесь должен быть отмечен аналогичный пункт). После чего нажмите Ок.

Добавление строк и столбцов

Чтобы добавить новую строку в существующую таблицу, поместите курсор мыши по левому краю таблицы между теми строками, где необходимо добавить новую. Должен отобразиться круглый элемент со знаком плюсика, а граница между двумя строками будет выделена. По нажатию на знак с плюсиком в выбранном месте добавится пустая строка.

Добавить строку в таблице Word

Аналогичным образом можно вставлять и новые столбцы, помещая курсор мыши в области над таблицей между конкретными столбцами. Должен появиться аналогичный элемент с плюсиком.

Кроме того, добавлять строки и столбцы в таблицу можно через ленточное меню в пункте «Макет» в области «Строки и столбцы». Либо же используя контекстное меню и пункт «Вставить» с выбором конкретного значения – что и куда.

Вставить строки и столбцы в таблицу Word

Изменение границ и цвета

Если выбранный ранее стиль таблицы нас не совсем устраивает, мы можем вернуться в уже знакомую нам область ленточного меню «Конструктор». Здесь в области «Обрамление» можно изменить стиль краев как по контуру, так и внутри таблицы между ячейками. Используя элемент «Раскраска границ» можно дополнительно указать ширину и цвет для последующей раскраски, а в дальнейшем вручную изменить внешний вид краев там, где это требуется.

Изменить границы таблицы Word

Наконец, если вы хотите изменить цвет ячеек, то в том же пункте ленточного меню «Конструктор» нажимаем на кнопку «Заливка» и выбираем конкретный цвет, которым должны быть заполнены выделенные ячейки.

Источник