Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Процессу, выбранному для выполнения, менеджер страниц отводит таблицу карт. При этом менеджер страниц обнуляет содержимое таблицы. Затем рабочий набор процесса сохраняется в таблице карт, а сам процесс передается на обработку программе диспетчера. В процессе работы программы элементы в таблице карт модифицируются согласно выдаваемым запросам на загрузку страниц.
При повторной обработке процесса планировщиком его таблица трансляции удаляется, а карта освобождается для назначения другому процессу. Каждая страница рабочего набора освобождается и помещается в список доступных страниц.
Таблица страниц. Таблица страниц содержит по одному элементу, называемому дескриптором страницы, для каждой физической страницы в основной памяти. Этот элемент содержит текущий статус страницы с точки зрения ее защиты, признак постоянного присутствия в рабочем наборе процесса, степень использования и ее физический адрес на диске. В этот элемент обычно входят следующие поля:
Мнемоника | Назначение |
статус – страницы | Характеризует текущее использование страницы (см. ниже) |
защита – записи | Указывает на защиту страницы по записи после загрузки последней |
признак – изменения | Указывает на то, что содержимое страницы было изменено некоторым процессом |
счетчик – использования | Указывает время, прошедшее с момента последней адресации к странице |
признак – блокировки | Указывает на то, что данная страница после своей загрузки должна постоянно присутствовать в рабочем наборе |
идентификатор – виртуальной – страницы | Идентификатор виртуальной страницы в таблице карт |
дисковый – адрес | Адрес образца данной страницы на диске |
признак –запись-чтение | Указывает на то, что элемент должен быть считан или записан на диск |
Активная физическая страница может пребывать в четырех состояний, определенных полем СТАТУС - СТРАНИЦЫ. Соответствующие значения статуса:
Значение | Назначение |
0 1 2 3 | Страница активна Страница находится в очереди на удаление Страница недоступна (т. е. находится в режиме удаления или загрузки) Страница доступна для выделения ее некоторому процессу |
Страница может быть защищена от записи в нее информации процессом. В системах с реентерабельными программами страницы часто подразделяются на содержащие кодовые сегменты и содержащие сегменты данных. Все страницы, содержащие кодовые сегменты, имеют ПРИЗНАК-АКТИВНОСТИ, установленный в единицу. ПРИЗНАК-ИЗМЕНЕНИЯ указывает те страницы, содержимое которых было изменено. Если необходимость присутствия страницы в рабочем наборе отпадает и ПРИЗНАК-ИЗМЕНЕНИЯ установлен в единицу, она переписывается на диск. ПРИЗНАК-БЛОКИРОВКИ устанавливается в том случае, если имеется необходимость постоянного присутствия данной страницы в основной памяти. Фактически блокированные страницы никогда не рассматриваются как кандидаты на удаление.
Физическая страница связывается с таблицей карт с помощью ИДЕНТИФИКАТОРА-ВИРТУАЛЬНОЙ-СТРАНИЦЫ. Это упрощает механизм обновления таблиц карт. При удалении таблицы из памяти система должна обновить соответствующий элемент таблицы карт, зарегистрировав этим отсутствие данной страницы. ДИСКОВЫЙ-АДРЕС содержит адрес образа страницы на диске. Он используется системой для обновления страницы вследствие изменения содержимого данной страницы в памяти.
Рабочая область менеджера страниц. Для управления страницами менеджеру страниц необходимо рабочее пространство. Это пространство образуется из дополнительных элементов в БУП, а также пространством, отводимым для этого в БУП динамически. Ниже перечисленные элементы дополняют стандартный набор данных процесса:
Мнемоника | Применение |
активное – время | Процессорное время, истекшее с момента начала работы процесса |
квант | Квант процессорного времени, отводимый данному процессу |
текущий– размер –рабочего – набора | Текущий размер рабочего набора, отводимого данному процессу |
прежний– размер –рабочего – набора | Размер рабочего набора к концу предыдущего активного периода |
первая – виртуальная – страница | Первая виртуальная страница, необходимая для активизации данного процесса |
адрес – рабочего – набора | Адрес рабочего набора для данного процесса |
величина интервала | Время, остающееся в текущем рабочем интервале |
Величина АДРЕС-РАБОЧЕГО-НАБОРА определяет то место в БУП, где находится информация о текущих страницах рабочего набора. О каждой странице рабочего набора поддерживается следующая информация: идентификатор виртуальной страницы, адрес страницы на диске и признак защиты записи. Число элементов указывается в ТЕКУЩЕМ-РАЗМЕРЕ-РАБОЧЕГО-НАБОРА.
5. ФУНКЦИИ УПРАВЛЕНИЯ СТРАНИЦАМИ
Подсистема управления страницами управляется прерываниями в том смысле, что после того, как процесс начал свое выполнение, вызов менеджера страниц происходит вследствие возникновения прерывания. При выполнении процесса из памяти извлекается инструкция, соответствующие адреса транслируются в реальные адреса памяти, и затем эта инструкция выполняется. После завершения выполнения инструкции CPU анализирует, не произошло ли прерывания, переходя в этом случае к резидентной программе обслуживания прерывания. На работу менеджера страниц влияют следующие прерывания:
Прерывание по таймеру интервалов. Рабочий интервал времени В для данного процесса окончился и процесс помещается в очередь на выполнение.
Сбой страницы. Запрашиваемая страница в текущий момент отсутствует в памяти, поэтому процесс блокируется на время ее загрузки.
Переполнение рабочего набора. Число страниц, запрошенное процессом, превысило максимально разрешенное число страниц в его рабочем наборе, вследствие чего он помещается в очередь на выполнение.
Ошибка адресации. Была сделана ссылка по недопустимому адресу, вызвавшая прекращение работы процесса.
Страничное прерывание. Страница была успешно удалена из памяти, что требует обновления соответствующих таблиц менеджера страниц.
Ниже описаны процедуры, обслуживающие эти прерывания, Каждая из этих процедур в свою очередь вызывает вспомогательные процедуры.
5.1. Обработка прерываний по таймеру интервалов.
Таймер интервалов предназначен для отсчитывания времени, отведенного процессу на один рабочий период. При диспетчеризации процесса таймер интервалов загружается конечным значением времени работы процесса. По истечении этого периода и при условии, что никакие другие прерывания не возникли, таймер интервалов генерирует прерывание, вынуждая процесс повторно осуществлять свое планирование. Выбор рабочего периода в системе со страничной организацией во многом определяет эффективность системы. Слишком короткое время требует большой работы операционной системы по “переключению” процессов. Слишком большое время в сочетании с неподходящим размером рабочего набора может привести систему в режим “пробуксовки”.
Процедура прерываниями по таймеру приведена в модуле 1. Квант процессорного времени может составлять несколько рабочих периодов. Между периодами повторного планирования процесса не происходит.
Если квант процессорного времени еще не исчерпан, процедура проверяет, есть ли время на то, чтобы модифицировать размер рабочего набора. ВРЕМЯ-РАБОЧЕГО-НАБОРА - это число рабочих периодов (обычно четное число), требуемое для вычисления рабочего набора. Число свободных страниц модифицируется в соответствии с произошедшими изменениями. Процесс затем помещается в очередь выполняющихся процессов, ожидая начала своего рабочего периода. Процедура ЦИРКУЛЯЦИЯ помещает процесс в очередь выполняющихся процессов согласно установленным критериям (т. е. приоритет, “первый поступивший первым обслуживается” и т. д.).
МОДУЛЬ ОБРАБОТКИ ПРЕРЫВАНИЯ ПО ТАЙМЕРУ (Модуль 1).
PROCEDURE прерывание – по – таймеру – интервалов [процесс]
INCREMENT активное – время [процесс] ВУ рабочий – период
SET рабочий – период ТО величина – интервала [процесс]
IF активное – время [процесс]
квант [процесс]
THEN
деактивизировать (процесс, очередь – на – выполнение)
ELSE
IF активное – время [процесс] < (рабочий – период + время – раб – набора)
THEN
IF активное – время [процесс]
время – рабочего – набора
THEN
прежний – размер – рабочего – набора —– текущий – размер – рабочего –
набора
изменение – рабочего – набора
INCREMENT число – свободных – страниц BY изменение – рабочего – набора
ENDIF
ENDIF циркуляция [процесс]
ENDIF
ENDPROC
5.2. Обработка страничных сбоев.
При обнаружении УУП прерывания по сбою страницы для загрузки требуемой страницы вызывается процедура СБОЙ-СТРАНИЦЫ. Поскольку эта страница отсутствует в таблицах трансляции, она, следовательно, не принадлежит рабочему набору и должна быть загружена в память. Размер рабочего набора увеличивается на единицу. Значение таймера интервалов сохраняется в рабочем пространстве процесса до того момента, пока страница не будет загружена в память. Это значение затем записывается в таймер интервалов, давая возможность процессу завершить свой рабочий период.
Процедура предполагает, что страница отсутствует в памяти. (В действительности страница может присутствовать в памяти в качестве члена предыдущего рабочего набора). Процедура ПРОВЕРИТЬ-ТАБЛИЦУ-СТРАНИЦ используется для выяснения того, находится ли страница физически в памяти.
Если УСПЕХ равен единице, то страница находится в памяти и располагается в одной из очередей менеджера страниц. Страница извлекается из очереди, добавляется к списку страниц, образующих рабочий набор процесса. Дескриптор страницы устанавливается в активное состояние и сохраняется в таблице карт процесса. Если страница находилась в списке доступных страниц, переменные СЧЕТЧИК-ДОСТУПНЫХ-СТРАНИЦ и СЧЕТЧИК-НАЗНАЧЕННЫХ-СТРАНИЦ увеличиваются на единицу. СЧЕТЧИК-НАЗНАЧЕННЫХ-СТРАНИЦ содержит число реальных страниц, отведенных менеджеру страниц в противоположность страницам, отведенным различным пользовательским процессам.
Если УСПЕХ равен нулю, то это означает, что реальная страница отсутствует в памяти. Процедура проверяет, имеются ли еще страницы, отведенные менеджеру страниц. Если таких нет, страница для замены должна быть выбрана из текущего рабочего набора самого процесса.
Процедура ПОГЛОТИТЬ (не описывается) выбирает соответствующую страницу, если выполняющийся процесс (исключая системный) — единственный. В противном случае процесс помещается в очередь для повторной обработки планировщиком, ожидая появления доступной страницы, освобожденной другим процессом. Запрашиваемая страница помещается в очередь на ввод на то время, пока процесс ожидает окончания ее загрузки в память, а соответствующие счетчики модифицируются.
МОДУЛЬ ОБРАБОТКИ СБОЯ СТРАНИЦЫ (Модуль 2).
PROCEDURE сбой–страницы(виртуальная–страница, реальная–страница)
CLEAR успех
INCREMENT текущий–размер–рабочего–набора [процесс]
читать–таймер–интервалов( )
величина–интервала [процесс]
IF реальная–страница = 0
THEN проверить–таблицу–страниц (реальная–страница, виртуальная–страница,
процесс, адрес–очереди) -> успех
ENDIF
IF успех = 1
THEN отделить–дескриптор–страниц (реальная–страница, адрес–очереди,
адрес–дескриптора–страниц)
DECREMENT счетчик–свободных–страниц
IF адрес–очереди = список–доступных–страниц
THEN
DECREMENT счетчик–доступных–страниц
DECREMENT счетчик–назначенных–страниц
ENDIF
добавить–дескриптор–страниц (реальная–страница, список–процессов [процесс],
адрес–дескриптора–страниц)
SET 1 ТО признак–активности [адрес–буфера–динамической–трансляции]
сохранить–карту(виртуальная–страница,адрес–буфера–динамической–трансляции)
ELSE
IF счетчик–назначенных–страниц = 0
THEN
IF счетчик [очередь–на–выполнение]
0
THEN
поглотить (реальная–страница, список–процессов [процесс])
DECREMENT текущий–размер–рабочего–набора
ENDIF
ELSE
деактивизировать(процесс, очередь–на–выполнение)
ENDIF
поставить–в–очередь–на–ввод (процесс, виртуальная–страница)
DECREMENT счетчик–назначенных–страниц
DECREMENT счетчик–свободных–страниц
ENDIF
ENDPROC
5.3. Проверка элементов таблицы страниц.
Эта процедура, приведенная в модуле 3, просматривает таблицу страниц, проверяя, присутствует ли физически в памяти страница, указанная в таблице карт. Возможны два варианта:
1. Если реальная страница соответствует запрашиваемой физической странице и в данный момент содержит идентификатор требуемого процесса, то она, следовательно, принадлежит к рабочему набору данного процесса. Переменная УСПЕХ в этом случае устанавливается в единицу.
2. В противном случае страница не принадлежит требуемой рабочей области и переменная УСПЕХ устанавливается в нуль.
Процедура, кроме того, проверяет, не находится ли страница в очереди на удаление, являясь тем самым недоступной для любого процесса. Если УСПЕХ равен единице, то вызывающей программе возвращается адрес очереди, в которой находится необходимая реальная страница.
МОДУЛЬ ОБРАБОТКИ ТАБЛИЦ СТРАНИЦ (Модуль 3).
PROCEDURE проверить–таблицу–страниц (реальная–страница,
виртуальная–страница, адрес–очереди
успех)
виртуальная–страница
виртуальная–страница
адрес–очереди
очереди
загрузить–дескриптор–страницы (реальная–страница, адрес–дескриптора–страницы)
IF виpтуaльнaя–cтpаница<мaкcимальное–числo –виpтуальных–cтpаниц [процесс]
THEN
IF статус–страницы (адрес–дескриптора–страницы) = 2
THEN
IF виртуальная–страница—ид–виртуальной–страницы [адрес-дескриптора-стр]
THEN
IF процесс–ид–процесса [адрес–дескриптора–страницы]
THEN
SET I TO успех
ELSE
CLEAR успех
ENDIF
ENDIF
ENDIF
ENDIF
IF успех = I
THEN
IF статус-страницы [адрес-дескриптора-cтpаницы] = 1
THEN
SET список–обменных–страниц TO адрес–очереди
ELSE
SET список–обменных–страниц TO адрес–очереди
ENDIF
ENDIF
ENDPROC
5.4. Постановка страниц в очередь на ввод.
Если страница отсутствует в памяти, то ее нужно загрузить с устройства страничной памяти. Процедура, инициализирующая дескриптор требуемой страницы, приведена в модуле 4. Она анализирует два возможных случая:
1. Если для загрузки виртуальной страницы существует доступная физическая страница, то ее дескриптор удаляется из списка доступных страниц и заполняется соответствующей информацией для виртуальной страницы. Запрос помещается в список обменных страниц. При этом признак записи-чтения устанавливается в нуль, указывая на то, что данная страница подлежит чтению. Процесс приостанавливается до того момента, когда страница станет доступной.
2. Если требуемая физическая страница недоступна, процесс помещается в очередь–ожидания–страницы до момента освобождения этой физической страницы другим процессом. Система поддерживает информацию о запрошенной странице, сохраняя ее в блоке данных процесса.
В любом случае процедура удаляет первую страницу (если таковая .имеется) из списка обменных страниц и подготавливает ее для записи во “внешнюю память (признак записи-чтения устанавливается в единицу). Эта операция обеспечивает освобождение данной страницы системой и добавление ее к списку доступных страниц.
Процедура ПОСТАВИТЬ-В-ОЧЕРЕДЬ-НА-ВВОД вызывает вспомогательную процедуру УДАЛИТЬ–СЛЕДЫ. Эта процедура (не приводится) удаляет всю информацию из дескриптора физической страницы, которая 'могла оставаться от таблицы карт другого процесса.
МОДУЛЬ ПОСТАНОВКИ В ОЧЕРЕДЬ НА ВВОД (Модуль 4).
PROCEDURE поставить–в–очередь–на–ввод(процесс, виртуальная–страница)
IF счетчик–назначенных–страниц = 0
THEN удалить–дескриптор–страницы (реальная–страница, список–
доступных–страниц, адрес–дескриптора–страницы)
DECREMENT список–доступных–страниц
ид–процесса (адрес–дескриптора–страницы, процесс)
адрес–процесса
ид–виртуальной–страницы [адрес–дескриптора–страницы]
ид–вирт–стр
удaлить-следы(ид–виpт–cтp, адрес–процесса)
CLEAR статус-страницы [адрес-дескриптора-стр]
SET виртуальная-стр ТО ид-виртуальной-стр [адрес-дескриптора-стр]
сохр-защиту-записи (виртуальная-стр, процесс) -> защита-
зaпиcи [адрес-дecкpиптopa-cтp]
CLEAR призн-изменения [адрес-дескриптора-стр]
CLEAR счетчик-использ [адрес-дескриптора-стр]
процесс -> ид-процесса [адрес-дескриптора-стр]
сохр-адр-на-диске (виртуальная-стр, процесс) -> диск-
адрес[адрес-дескриптора-стр]
CLEAR призн-запись-чтепие [адрес-дескриптора-стр]
сохр-дескриптор-стр(реальная-стр, адрес-дескриптора-стр)
запрос-к-очереди (реальпая-стр)
приостановить (процесс)
ELSE
деактивизировать (процесс, очер-ожидапия-стр)
SET виртуальная-стр ТО требуемая-вирт-стр[процесс]
ENDIF
IF первая-стр[список-обменных-стр] =0
THEN удалить-дескриптор-стр(реальная-стр, список-обменных-стр,
адрес-дескриптора-стр)
SET 1 ТО призн-запись-чтение[адрес-дескриптора-стр]
сохр-дескриптор-стр(реальная-стр, адрес-дескриптора-стр)
запрос-к-очереди (реальная-стр)
ENDIF
ENDPROC
5.5. Прерывание по обмену со страничной памятью (прерывание по обмену с диском).
Пересылка страницы с диска в основную память осуществляется по прерыванию. При возникновении такого прерывания система сохраняет текущее содержимое регистров, чтобы процесс мог в дальнейшем сразу продолжить свое выполнение. В зависимости от направления передачи (с диска или на диск) возможны два случая:
1. Если страница загружается в память, то ожидающий ее процесс помещается в очередь на выполнение. Дескриптор страницы извлекается из таблицы страниц для установки соответствующего элемента в таблице карт, размещения страницы в рабочем наборе процесса и постановки процесса в очередь на выполнение.
2. Если страница была удалена из памяти, ее дескриптор добавляется к списку доступных страниц, а счетчик доступных страниц увеличивается на единицу. Список–ожидания–страницы просматривается для выяснения того, существуют ли еще процессы, ожидающие появления доступных страниц. Если такой процесс находится, то он удаляется из списка, а необходимая ему виртуальная страница помещается в очередь за ввод.
По окончании операции обмена регистры процесса восстанавливаются и он возобновляет свою работу (модуль 5).
МОДУЛЬ ОБРАБОТКИ ПРЕРЫВАНИЯ ПО ОБМЕНУ С ДИСКОМ (Модуль 5).
PROCEDURE прерывание-по-обмену-с-диском (режим-передачи-стр, яд- страницы, процесс)
сохр-регистры (процесс)
IF режим-передачи-стр-ввода-страницы
THEN
загрузить-дескриптор-страницы (ид-страницы, адрес-дескриптора-стр)
установить-эленент-карты (ид-страницы, адрес-дескриптора-стр)
ид-процесса (адрес-дескриптора-стр) ->адрес-процесса
список-процессов [адрес-процесса] -> текущая-очередь
добавить-процесс(адрес-процесса, очередь-на-вып)
ENDIF
IF режим-передачи-стр = вывод-страницы
THEN дoбaвить-деcкpиnтop-cтp(ид-cтpaнцы, список-доступных-етр,
адрес-дескриптора-стр)
INCREMENT счетчик-доступных-стр
IF начало[список-ожидания-стр] =0
THEN
удалить-процесс(текущ-процесс, список-ожидания-стр)
требуемая-вирт-стр[текущ-процесс] -> ид-вирстр
поставить-в-очер-на-ввод (текущ-процесс, ид-вирстр)
ENDIF
ENDIF
восстановить-регистры (процесс)
ENDPROC
5.6. Вывод процесса из активного состояния (модуль деактивизации).
Как мы уже видели, процесс может быть выведен из активного состояния по нескольким причинам: при ожидании загрузки страницы, по окончании своего кванта рабочего времени или при переполнении своего рабочего набора. Вывод процесса из активного состояния требует от операционной системы выполнения большого количества операций. Все физические страницы, поддерживаемые системой, должны быть освобождены и помещены в список свободных страниц. Это требует обновления таблицы карт и таблицы страниц процесса. Карта памяти освобождается для назначения ее другому процессу, а ее содержимое копируется в блок данных процесса.
Процедура, выполняющая эти операции, приведена в модуле 6. Для модификации размера рабочего набора процедура использует активное время самого процесса. Процедура ОСВОБОДИТЬ-СТРАНИЦУ удаляет каждую страницу рабочего набора процесса из таблицы страниц и помещает ее в список доступных страниц или список обменных страниц. Процесс удаляется из очереди на выполнение и помещается в очередь, указанную вызывающей программой. Вектор состояния процесса (т. е. регистры т. д.) сохраняется в БУП, а из очереди на выполнение извлекается следующий процесс и инициализируется. Отметим, что очередь реальных страниц, первоначально назначенных “деактивизированному” процессу, присваивается теперь новому процессу (модуль 6).
МОДУЛЬ ДЕАКТИВИЗАЦИИ (ОШИБКА АДРЕСАЦИИ) (Модуль 6).
PROCEDURE деактивизировать (процесс, адрес-очереди)
активн-время [процесс] -> текущ-активн-вр
CLEAR активн-время [процесс]
список-процессов [процесс] -> текущая-очередь
IF текущ-актквн-вр> = текущ-разм-раб-набора
THEN
IF прежний-разм-раб-набора<текущ-разм-раб-набора[процесс]
THEN
текущ-разм-раб-набора[процесс] -> прежний-разм-раб-набора [процесс]
ENDIF
ENDIF
CLEAR текущ-разм-раб-набора[процесс]
первая-стр (текущая-очередь) -> следующая-сти
WHILE следующая-стр = 0
DO
следующая-стр -> ид-страницы
отделить-дескриптор-стр(ид-страницы, адрес-дескриптора-стр)
освободить-страницу(ид-страницы, адрес-дескриптора-стр)
связь-вперед(адрес-дескриптора-стр) -> следующая-стр
ENDDO
удалить-процесс (процесс, очередь-выполняющихся-проц)
добавить-процесс (процесс, адрес-очереди)
сохранить-вектор-сост (процесс)
выбрать-следующ-проц(процесс, очередь-выполняющихся-проц)
текущая-очередь -> список-процессов [процесс]
загрузить-вектор-сост (процесс)
установить-таймер-интервалов (величина-интервала [процесс] )
ENDPROC
5.7. Освобождение страницы процесса.
Реальная страница, принадлежащая процессу, может быть освобождена (т.е. изъята у него) по двум причинам: 1) процесс выведен из активного состояния и 2) страница “поглощается”, так как рабочий набор переполнен.
Процедура уточняет статус страницы, проверяя, не произошло ли изменений в ее содержимом. Если содержимое изменилось, страница помещается в список обменных страниц и помечается как недоступная. Счетчики свободных страниц и страниц, отведенных менеджеру страниц, увеличиваются на единицу (модуль 7).
МОДУЛЬ ОСВОБОЖДЕНИЯ СТРАНИЦЫ (Модуль 7).
PROCEDURE освободнть-страницу(ид-страницы, адрес-дескриптора-стр)
IF призн-иэменения [адрес-дескриптора-стр] = 1
THEN
добавить-дескриптор-стр(ид-странипы, список-обменных-стр, адрес-дескриптора-стр)
ELSE
добавить-дескриптор-стр (ид-страницы, список-доступн-стр, адрес-деосриптора-стр)
INCREMENT счетчик-доступных-стр
ENDIF
INCREMENT счетчик-назначепных-стр
INCREMENT счетчик-свободных-страниц
ENDPROC
5.8. Менеджер страниц.
Все приводимые ниже модули образуют подсистему управления страницами. Предыдущие модули выполнялись в пассивном режиме; это означает, что их работа начиналась при возникновении какого-то внешнего события. Описываемая подсистема включает в себя также и активную компоненту - менеджер страниц, инициализируемый на этапе начальной загрузки системы.
Каждый раз при своем выполнении менеджер страниц осуществляет две операции: 1) обновляет содержимое счетчика использования для каждой страницы из таблицы страниц и 2) активизирует процесс из очереди на выполнение, если в памяти имеется достаточно свободного места для размещения его рабочего набора.
Программа, реализующая функции менеджера страниц, приведена в модуле 8. Она сканирует таблицу страниц в поиске тех находящихся в памяти страниц, обращения к которым. не было в течение последних J секунд (т. е. таких, для которых: счетчик -использования больше или равен J). Любая найденная страница, удовлетворяющая этому условию, “отбирается” у владеющего ей процесса. Размер рабочего набора процесса. уменьшается на единицу и страница освобождается. Затем менеджер страниц ищет в списке готовых к выполнению такие процессы, чей рабочий набор может быть размещен в памяти. Найденный процесс удаляется из списка, а его статус устанавливается в состояние “ожидание–страницы”. Первая страница, необходимая для инициализации выбранного процесса, помещается в очередь на ввод (модуль 8).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


