разделения времени и реального времени. 6 глава

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

Рассредотачивание памяти динамическими разделами

В данном случае память машины не делится заблаговременно на разделы. Поначалу вся память, отводимая для приложений, свободна. Каждому вновь поступающему на выполнение приложению на шаге сотворения процесса выделяется вся нужная ему память (если достаточный разделения времени и реального времени. 6 глава объем памяти отсутствует, то приложение не принимается на выполнение и процесс для него не создается). После окончания процесса память освобождается, и на это место может быть загружен другой процесс. Таким макаром, в случайный момент времени оперативка представляет собой случайную последовательность занятых и свободных участков (разделов) случайного размера. На рис. 5.9 показано разделения времени и реального времени. 6 глава состояние памяти в разные моменты времени при использовании динамического рассредотачивания. Так, в момент t0 в памяти находится только ОС, а к моменту t1 память разбита меж 5 процессами, при этом процесс П4, завершаясь, покидает память. На освободившееся от процесса П4 место загружается процесс П6, поступивший в момент t3.

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

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

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

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

После окончания процесса корректировка таблиц свободных и занятых областей.

Рис. 5.9. Рассредотачивание памяти динамическими разделами

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

Рассредотачивание памяти динамическими разделами лежит в базе подсистем управления разделения времени и реального времени. 6 глава памятью многих мультипрограммных операционных системах 60-70-х годов, а именно таковой пользующейся популярностью операционной системы, как OS/360.

Сегментное рассредотачивание

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

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

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

Реентерабельность (reentrantable) — свойство повторной входимости кода, которое позволяет сразу использовать его несколькими процессами. При выполнении реентерабельного кода процессы не изменяют его, потому в память довольно загрузить только разделения времени и реального времени. 6 глава одну копию кода.

Рис. 5.18. Рассредотачивание памяти секторами

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

На шаге сотворения процесса во время загрузки его вида в оперативку система делает таблицу частей процесса (аналогичную таблице страничек), в какой для разделения времени и реального времени. 6 глава каждого сектора указывается:

· базисный физический адресок сектора в оперативки;

· размер сектора;

· правила доступа к сектору;

· признаки модификации, присутствия и воззвания к данному сектору, также некая другая информация.

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

Как видно, сегментное рассредотачивание памяти имеет сильно много общего со страничным рассредотачиванием.

Механизмы преобразования адресов этих 2-ух методов управления памятью тоже очень идентичны, но в их имеются и значительные отличия, которые являются следствием того, что сегменты в отличие от разделения времени и реального времени. 6 глава страничек имеют случайный размер. Виртуальный адресок при сегментной организации памяти может быть представлен парой (g, s), где g — номер сектора, a s — смещение в секторе. Физический адресок выходит методом сложения базисного адреса сектора, который определяется по номеру сектора g из таблицы частей и смещения s (рис. 5.19).

Рис. 5.19. Преобразование разделения времени и реального времени. 6 глава виртуального адреса при сегментной организации памяти

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

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

Но разделения времени и реального времени. 6 глава главный недочет сегментного рассредотачивания — это фрагментация, которая появляется из-за непредсказуемости размеров частей. В процессе работы системы в памяти образуются маленькие участки свободной памяти, в которые не может быть загружен ни один сектор. Суммарный объем, занимаемый кусками, может составить существенную часть общей памяти системы, приводя к ее неэффективному использованию.

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

Одним из существенных различий сегментной организации памяти от страничной является возможность задания разделения времени и реального времени. 6 глава дифференцированных прав доступа процесса к его секторам. К примеру, один сектор данных, содержащий начальную информацию для приложения, может иметь права доступа «только чтение», а сектор данных, представляющий результаты, — «чтение и запись». Это свойство дает принципное преимущество сегментной модели памяти над страничной.

Страничное рассредотачивание

На рис. 5.12 показана схема страничного рассредотачивания разделения времени и реального времени. 6 глава памяти. Виртуальное адресное место каждого процесса делится на части схожего, фиксированного для данной системы размера, именуемые виртуальными страничками (virtual pages). В общем случае размер виртуального адресного места процесса не кратен размеру странички, потому последняя страничка каждого процесса дополняется фиктивной областью.

Вся оперативка машины также делится на части разделения времени и реального времени. 6 глава того же размера, именуемые физическими страничками (либо блоками, либо кадрами). Размер странички выбирается равным степени двойки: 512, 1024, 4096 б и т. д. Это позволяет упростить механизм преобразования адресов.

Рис. 5.12. Страничное рассредотачивание памяти

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

Запись таблицы, именуемая дескриптором странички, включает последующую информацию:

· номер физической странички, в которую загружена данная виртуальная страничка;

· признак разделения времени и реального времени. 6 глава присутствия, устанавливаемый в единицу, если виртуальная страничка находится в оперативки;

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

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

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

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

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

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

Виртуальный адресок при страничном рассредотачивании может быть представлен в виде пары (р, sv), где р — порядковый номер виртуальной странички процесса (нумерация страничек начинается с 0), a sv — смещение в границах виртуальной странички разделения времени и реального времени. 6 глава. Физический адресок также может быть представлен в виде пары (n, sf), где n — номер физической странички, a sf — смещение в границах физической странички. Задачка подсистемы виртуальной памяти состоит в отображении (р, sv) в (n, sf).

До того как приступить к рассмотрению схемы преобразования виртуального адреса в физический, остановимся на 2-ух базовых разделения времени и реального времени. 6 глава свойствах страничной организации.

1-ое из их заключается в том, что объем странички выбирается равным степени двойки — 2k. Из этого следует, что смещение s может быть получено обычным отделением k младших разрядов в двоичной записи адреса, а оставшиеся старшие разряды адреса представляют собой двоичную запись номера странички (при всем этом разделения времени и реального времени. 6 глава непринципиально, является страничка виртуальной либо физической). К примеру, если размер странички 1 Кбайт (210), то из двоичной записи адреса 50718 = 101 000 111 0012 можно найти, что он принадлежит страничке, номер которой в двоичном выражении равен 102 и сдвинут относительно ее начала на 1 000 111 0012 б (рис. 5.13).

Рис. 5.13. Двоичное представление адресов

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

2-ое свойство состоит в том, что в границах странички непрерывная последовательность виртуальных адресов совершенно точно отображается в непрерывную последовательность физических адресов, а означает, смещения в виртуальном и физическом адресах sv и sf равны меж собой (рис. 5.14).

Рис. 5.14. При отображении виртуального адреса в физический смещение не разделения времени и реального времени. 6 глава меняется

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

Итак, пусть вышло разделения времени и реального времени. 6 глава воззвание к памяти по некому виртуальному адресу. Аппаратными схемами микропроцессора производятся последующие деяния:

1. Из специального регистра микропроцессора извлекается адресок AT таблицы страничек активного процесса. На основании исходного адреса таблицы страничек, номера виртуальной странички р (старшие разряды виртуального адреса) и длины отдельной записи в таблице страничек L (системная константа) определяется разделения времени и реального времени. 6 глава адресок подходящего дескриптора в таблице страничек: a=AT+(pxL).

2. Из этого дескриптора извлекается номер соответственной физической странички — n.

3. К номеру физической странички присоединяется смещение s (младшие разряды виртуального адреса).

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

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

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

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

При выборе странички на выгрузку могут быть применены разные аспекты, смысл которых сводится к одному: на диск разделения времени и реального времени. 6 глава выталкивается страничка, к которой в дальнейшем начиная с данного момента подольше всего не будет воззваний. Так как точно предсказать ход вычислительного процесса нереально, то нереально точно найти страничку, подлежащую выгрузке. В таких критериях решение принимается на базе некоторых эмпирических критериев, нередко основывающихся на предположении об инерционности вычислительного процесса. Так разделения времени и реального времени. 6 глава, к примеру, из того, что страничка не использовалась длительное время, делается вывод о том, что она, вероятнее всего, не будет употребляться и в последнее время. Но вербование критериев такового рода не исключает ситуаций, когда сходу после выгрузки странички к ней происходит воззвание и она опять должна быть загружена разделения времени и реального времени. 6 глава в память. Возможность таких «напрасных» перемещений так велика, что в неких реализациях виртуальной памяти вообщем отрешаются от количественных критериев и предпочитают случайный выбор, при котором на диск выгружается 1-ая попавшаяся страничка. Возникающее при всем этом некое повышение интенсивности страничного обмена компенсируется понижением вычислительных издержек на поддержание и анализ разделения времени и реального времени. 6 глава аспекта подборки страничек на выгрузку.

Более пользующимся популярностью аспектом выбора странички на выгрузку является число воззваний к ней за последний период времени. Вычисление этого аспекта происходит последующим образом. Операционная система ведет для каждой странички программный счетчик. Значения счетчиков определяются значениями признаков доступа. Каждый раз, когда происходит воззвание к какой-нибудь страничке разделения времени и реального времени. 6 глава, микропроцессор устанавливает в единицу признак доступа в относящейся к данной страничке записи таблицы страничек. ОС временами просматривает признаки доступа всех страничек во всех имеющихся на этот момент записях таблицы страничек. Если какой-нибудь признак оказывается равным 1 (было воззвание), то система сбрасывает его в 0, увеличивая при всем разделения времени и реального времени. 6 глава этом на единицу значение связанного с этой страничкой счетчика воззваний. Когда появляется необходимость удалить какую-либо страничку из памяти, ОС находит страничку, счетчик воззваний которой имеет меньшее значение. Для того чтоб аспект учитывал интенсивность воззваний за последний период, ОС с соответственной периодичностью обнуляет все счетчики.

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

Другим принципиальным резервом увеличения производительности системы является верный выбор размера странички. Каким же должен быть лучший размер странички? С одной стороны, чтоб уменьшить частоту страничных прерываний, следовало бы наращивать размер странички. С другой стороны, если страничка велика, то велика и фиктивная область в последней разделения времени и реального времени. 6 глава виртуальной страничке каждого процесса. Если учитывать, что в среднем в каждом процессе фиктивная область составляет половину странички, то в сумме при большенном объеме странички утраты могут составить существенную величину. Из приведенных суждений еледует, что выбор размера странички является сложной оптимизационной задачей, требующей учета многих причин. На практике же разработчики ОС разделения времени и реального времени. 6 глава и микропроцессоров ограничиваются некоторым оптимальным решением, применимым для широкого класса вычислительных систем. Обычный размер странички составляет несколько кб, к примеру, более всераспространенные микропроцессоры х86 и Pentium компании Intel, также операционные системы, устанавливаемые на этих микропроцессорах, поддерживают странички размером 4096 б (4 Кбайт).

Размер странички оказывает влияние также на количество записей в таблицах разделения времени и реального времени. 6 глава страничек. Чем меньше страничка, тем паче большими являются таблицы страничек процессов и тем больше места они занимают в памяти. Беря во внимание, что в современных микропроцессорах наибольший объем виртуального адресного места процесса, обычно, не меньше 4 Гбайт (232), то при размере странички 4 Кбайт (212) и длине записи 4 б для хранения таблицы страничек может разделения времени и реального времени. 6 глава потребоваться 4 Мбайт памяти! Выходом в таковой ситуации является хранение в памяти только той части таблицы страничек, которая интенсивно употребляется в данный период времени — потому что сама таблица страничек хранится в таких же страничках физической памяти, что и описываемые ею странички, то принципно может быть временно теснить разделения времени и реального времени. 6 глава часть таблицы страничек из оперативки.

Конкретно таковой итог может быть достигнут методом более сложной структуризации виртуального адресного места, при котором все огромное количество виртуальных адресов процесса делится на разделы, а разделы делятся на странички (рис. 5.16). Все странички имеют однообразный размер, а разделы содержат однообразное количество страничек. Если размер странички и разделения времени и реального времени. 6 глава количество страничек в разделе избрать равными степени двойки (2k и 2" соответственно), то принадлежность виртуального адреса к разделу и страничке, также смещение снутри странички можно найти до боли просто: младшие k двоичных разрядов дают смещение, последующие п разрядов представляют собой номер виртуальной странички, а оставшиеся старшие разряды (обозначим их разделения времени и реального времени. 6 глава количество т) содержат номер раздела.

Для каждого раздела строится собственная таблица страничек. Количество дескрипторов в таблице и их размер подбираются такими, чтоб объем таблицы оказался равным объему странички. К примеру, в микропроцессоре Pentium при размере странички 4 Кбайт длина дескриптора странички составляет 4 б и количество записей в таблице страничек, помещающейся разделения времени и реального времени. 6 глава на страничку, приравнивается соответственно 1024. Любая таблица страничек описывается дескриптором, структура которого стопроцентно совпадает со структурой дескриптора обыкновенной странички. Эти дескрипторы сведены в таблицу разделов, именуемую также каталогом страничек. Физический адресок таблицы разделов активного процесса содержится в особом регистре микропроцессора и потому всегда известен операционной системе. Страничка, содержащая таблицу разделов, никогда разделения времени и реального времени. 6 глава не выгружается из памяти, в неприятном случае работа виртуальной памяти была бы невозможна.

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

Рис. 5.16. Структура виртуального адресного места с разделами

Проследим более тщательно схему преобразования адресов для варианта разделения времени и реального времени. 6 глава двухуровневой структуризации виртуального адресного места (рис. 5.17).:

1. Методом отбрасывания k+n младших разрядов в виртуальном адресе определяется номер раздела, к которому принадлежит данный виртуальный адресок.

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

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

4. Из дескриптора определяется номер (базисный адресок) физической странички, в которую разделения времени и реального времени. 6 глава загружена данная виртуальная страничка. К номеру физической странички пристыковывается смещение, взятое из k младших разрядов виртуального адреса. В итоге выходит разыскиваемый физический адресок.

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

Страничное рассредотачивание памяти может быть реализовано в облегченном варианте, без выгрузки страничек на диск. В данном случае все разделения времени и реального времени. 6 глава виртуальные странички всех процессов повсевременно находятся в оперативки. Таковой вариант страничной организации хотя и не предоставляет юзеру преимуществ работы с виртуальной памятью огромного объема, но сохраняет другое достоинство страничной организации — позволяет удачно биться с фрагментацией физической памяти. Вправду, во-1-х, программку можно разбить на части и загрузить в разрозненные участки разделения времени и реального времени. 6 глава свободной памяти, во-2-х, при загрузке виртуальных страничек никогда не появляется неиспользуемых остатков, потому что размеры виртуальных и физических страничек совпадают. Таковой режим работы системы управления памятью употребляется в неких специализированных ОС, когда требуется высочайшая реактивность системы и способность делать переменный набор приложений (пример — ОС семейства Novell разделения времени и реального времени. 6 глава NetWare 3.x и 4.x).


razdel-vidi-rechevoj-deyatelnosti-kultura-rechevogo-obsheniya-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya.html
razdel-vidi-rechevoj-i-chitatelskoj-deyatelnosti-obrazovatelnoj-programmi-nachalnogo-obshego-obrazovaniya-sistema.html
razdel-vidi-rechevoj-i-chitatelskoj-deyatelnosti-osnovnaya-obrazovatelnaya-programma-nachalnogo-obshego-obrazovaniya.html