Пейджинг - Paging

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

Для простоты основная память называется «ОЗУ» (сокращение от «оперативная память "), а вторичное хранилище называется" диск "(сокращение от"привод жесткого диска, барабанная память или же твердотельный накопитель "), но концепции не зависят от того, применимы ли эти термины буквально к конкретной компьютерной системе.

История

Ферранти ввел пейджинг на Атлас, но первые страницы памяти для массового рынка были концепциями компьютерной архитектуры, независимо от того, перемещалась ли страница между RAM и диском.[2][3] Например, на PDP-8, 7 битов инструкции содержали адрес памяти, который выбирал один из 128 (27) слова. Эта зона памяти получила название страница. Сейчас этот термин используется редко. В 1960-х годах свопинг был одним из первых методов виртуальной памяти. Вся программа будет «выгружена» (или «развернута») из ОЗУ на диск, а другая будет заменен (или же катился в).[4][5] Выгруженная программа будет текущей, но ее выполнение будет приостановлено, пока ее оперативная память используется другой программой.

Программа может включать несколько накладки которые занимают одну и ту же память в разное время. Наложения - это не метод подкачки RAM на диск, а просто минимизация использования RAM программой. Последующие использованные архитектуры сегментация памяти, а отдельные программные сегменты стали единицами обмена между диском и ОЗУ. Сегмент представлял собой весь сегмент кода программы или сегмент данных, а иногда и другие большие структуры данных. Эти сегменты должны были быть смежный когда находится в ОЗУ, требуя дополнительных вычислений и перемещения для исправления фрагментация.[6]

Изобретение таблица страниц позволить процессору работать с произвольными страницами в любом месте ОЗУ как с кажущимся непрерывным логический адрес Космос. Эти страницы стали единицами обмена между диском и ОЗУ.

Ошибки страницы

Когда процесс пытается ссылаться на страницу, которая в настоящее время отсутствует в ОЗУ, процессор рассматривает эту недопустимую ссылку на память как ошибка страницы и передает управление от программы операционной системе. Операционная система должна:

  1. Определите расположение данных на диске.
  2. Получите пустой рамка страницы в ОЗУ для использования в качестве контейнера для данных.
  3. Загрузите запрошенные данные в доступный фрейм страницы.
  4. Обновите таблица страниц для ссылки на новый фрейм страницы.
  5. Вернуть управление программе, прозрачно повторив попытку инструкция это вызвало ошибку страницы.

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

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

Методы замены страниц

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

Предварительный пейджинг
Этот метод, иногда также называемый предварительная выборка подкачки, предсказывает, на какие страницы будут ссылаться в ближайшее время, чтобы минимизировать ошибки страниц в будущем. Например, после чтения страницы для обслуживания ошибки страницы операционная система может также прочитать следующие несколько страниц, даже если они еще не нужны (прогноз с использованием местонахождение ссылки ). Если программа завершается, операционная система может отложить освобождение ее страниц, если пользователь снова запустит ту же программу.
Бесплатная очередь страниц, кража и возврат
Очередь свободных страниц - это список страничных фреймов, доступных для назначения. Предотвращение опустошения этой очереди сводит к минимуму вычисления, необходимые для обслуживания ошибки страницы. Некоторые операционные системы периодически ищут страницы, на которые в последнее время не ссылались, а затем освобождают фрейм страницы и добавляют его в очередь свободных страниц - процесс, известный как «кража страниц». Некоторые операционные системы[b] поддерживать восстановление страницы; если программа совершает ошибку страницы, ссылаясь на украденную страницу, операционная система обнаруживает это и восстанавливает кадр страницы без необходимости считывать содержимое обратно в ОЗУ.
Предварительная очистка
Операционная система может периодически предварительно очищать грязные страницы: записывать измененные страницы обратно на диск, даже если они могут быть изменены. Это сводит к минимуму объем очистки, необходимый для получения новых страничных фреймов в момент запуска новой программы или открытия нового файла данных, и повышает скорость отклика. (Операционные системы Unix периодически используют синхронизировать предварительно очистить все грязные страницы; В операционных системах Windows используются потоки «модифицированного модуля записи страниц».)

Взбучка

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

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

Худший случай может произойти на VAX процессоры. Один MOVL, пересекающий границу страницы, может иметь исходный операнд, использующий режим отложенной адресации смещения, где длинное слово, содержащее адрес операнда, пересекает границу страницы, и операнд назначения, использующий режим отложенной адресации смещения, где длинное слово, содержащее адрес операнда, пересекает граница страницы, а источник и место назначения могут пересекать границы страницы. Эта единственная инструкция ссылается на десять страниц; если не все находятся в ОЗУ, каждый вызовет ошибку страницы. При возникновении каждого сбоя операционная система должна выполнять обширные процедуры управления памятью, что может вызвать несколько операций ввода-вывода, которые могут включать запись других страниц процесса на диск и чтение страниц активного процесса с диска. Если операционная система не может выделить десять страниц для этой программы, то при устранении ошибки страницы будет отброшена другая страница, в которой нуждается инструкция, и любой перезапуск инструкции снова приведет к ошибке.

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

Обмен

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

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

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

Реализации

Ферранти Атлас

Первым компьютером, поддерживающим пейджинг, был суперкомпьютер. Атлас,[7][8][9] совместно разработан Ферранти, то Манчестерский университет и Плесси в 1963 году. Машина имела ассоциативный (адресный по содержанию ) память с одной записью на каждую страницу размером 512 слов. Наблюдатель[10] обработанные неэквивалентные прерывания[c] и управлял переносом страниц между ядром и барабаном, чтобы обеспечить одноуровневое хранилище[11] программам.

Майкрософт Виндоус

Windows 3.x и Windows 9x

Пейджинг был особенностью Майкрософт Виндоус поскольку Windows 3.0 в 1990 году. Windows 3.x создает скрытый файл названный 386SPART.PAR или же WIN386.SWP для использования в качестве файла подкачки. Обычно встречается в корневая директория, но он может появиться в другом месте (обычно в каталоге WINDOWS). Его размер зависит от того, сколько места подкачки имеется в системе (параметр, выбранный пользователем в разделе Панель управления → Улучшено в разделе «Виртуальная память»). Если пользователь перемещает или удаляет этот файл, синий экран появится при следующем запуске Windows с сообщение об ошибке «Постоянный файл подкачки поврежден». Пользователю будет предложено выбрать, следует ли удалить файл (независимо от того, существует он или нет).

Windows 95, Windows 98 и Windows Me используйте аналогичный файл, и его настройки находятся в Панели управления → Система → вкладка Производительность → Виртуальная память. Windows автоматически устанавливает размер файла подкачки, чтобы он начинался с 1,5-кратного размера физической памяти и при необходимости расширялся до 3-кратного размера физической памяти. Если пользователь запускает приложения с интенсивным использованием памяти в системе с небольшим объемом физической памяти, желательно вручную установить для этих размеров значение выше, чем по умолчанию.

Windows NT

Файл, используемый для подкачки в Windows NT семья это pagefile.sys. По умолчанию файл подкачки находится в корневом каталоге раздела, где установлена ​​Windows. Windows можно настроить на использование свободного места на любых доступных дисках для файлов подкачки. Однако требуется, чтобы в загрузочном разделе (т. Е. На диске, содержащем каталог Windows) был файл подкачки, если система настроена на запись дампов ядра или полных дампов памяти после Синий экран смерти. Windows использует файл подкачки как временное хранилище для дампа памяти. Когда система перезагружается, Windows копирует дамп памяти из файла подкачки в отдельный файл и освобождает место, которое использовалось в файле подкачки.[12]

Фрагментация

В конфигурации Windows по умолчанию файлу подкачки разрешено при необходимости расширяться за пределы своего первоначального выделения. Если это происходит постепенно, это может сильно затруднить фрагментированный что потенциально может вызвать проблемы с производительностью.[13] Обычный совет, чтобы избежать этого, - установить единый «заблокированный» размер файла подкачки, чтобы Windows не расширяла его. Однако файл подкачки расширяется только после заполнения, что в конфигурации по умолчанию составляет 150% от общего объема физической памяти.[нужна цитата ] Таким образом, общая потребность в виртуальной памяти с поддержкой файла подкачки должна превышать 250% физической памяти компьютера, прежде чем файл подкачки будет расширяться.

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

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

Требуемое дисковое пространство может быть легко выделено в системах с более поздними спецификациями (т. Е. В системе с 3 ГБ памяти, имеющей файл подкачки фиксированного размера 6 ГБ на диске 750 ГБ, или в системе с 6 ГБ памяти и 16 ГБ файл подкачки фиксированного размера и 2 ТБ дискового пространства). В обоих примерах система использует около 0,8% дискового пространства с предварительно расширенным до максимума файлом подкачки.

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

Unix и Unix-подобные системы

Unix системы и другие Unix-подобный операционные системы, используйте термин «своп» для описания процесса перемещения страниц памяти между ОЗУ и диском,[нужна цитата ] и регион диска, на котором хранятся страницы. В некоторых из этих систем для подкачки обычно выделяют целый раздел жесткого диска. Эти перегородки называются поменять местами разделы. Многие системы имеют целый жесткий диск, предназначенный для подкачки, отдельно от диска (ов) с данными, содержащий только раздел подкачки. Жесткий диск, предназначенный для подкачки, называется «подкачка», «рабочий диск» или «рабочий диск ". Некоторые из этих систем поддерживают только переключение на раздел подкачки, другие также поддерживают обмен файлами.

Linux

Ядро Linux поддерживает практически неограниченное количество серверных модулей подкачки (устройств или файлов), а также поддерживает назначение внутренних приоритетов. Когда ядро ​​подкачивает страницы из физической памяти, оно использует серверную часть с наивысшим приоритетом и доступным свободным пространством. Если нескольким бэкэндам подкачки назначен одинаковый приоритет, они используются в по-круговой мода (которая чем-то похожа на RAID 0 схемы хранения), обеспечивая повышенную производительность, если к базовым устройствам можно эффективно обращаться параллельно.[14]

Файлы подкачки и разделы

С точки зрения конечного пользователя файлы подкачки в версиях 2.6.x и новее ядра Linux работают практически так же быстро, как разделы подкачки; ограничение состоит в том, что файлы подкачки должны размещаться непрерывно в своих файловых системах. Чтобы повысить производительность файлов подкачки, ядро ​​хранит карту их размещения на базовых устройствах и обращается к ним напрямую, таким образом обходя кеш и избегая накладных расходов файловой системы.[15][16] Несмотря на, Красная шляпа рекомендует использовать разделы подкачки.[17] При размещении на жестких дисках, которые представляют собой вращающиеся магнитные носители, одним из преимуществ использования разделов подкачки является возможность размещать их на смежных областях жесткого диска, что обеспечивает более высокую пропускную способность данных или более быстрое время поиска. Однако административная гибкость файлов подкачки может перевесить определенные преимущества разделов подкачки. Например, файл подкачки может быть размещен в любой смонтированной файловой системе, может иметь любой желаемый размер и может быть добавлен или изменен по мере необходимости. Разделы подкачки не такие гибкие; их нельзя увеличить без использования разделения или управление томом инструменты, которые привносят различные сложности и потенциальные простои.

Подкачка

Подкачка это Ядро Linux параметр, который контролирует относительный вес, присвоенный замена из оперативная память, а не отбрасывать страницы из системы кеш страницы, всякий раз, когда запрос на выделение памяти не может быть удовлетворен из свободной памяти. Для подкачки можно установить значения от 0 до 100 (включительно). Низкое значение приводит к тому, что ядро ​​предпочитает удалять страницы из кеша страниц, в то время как более высокое значение заставляет ядро ​​предпочитать выгружать «холодные» страницы памяти. В значение по умолчанию является 60; установка более высокого значения может вызвать высокую задержку, если холодные страницы необходимо вернуть обратно (например, при взаимодействии с программой, которая бездействовала), а установка более низкого значения (даже 0) может вызвать высокую задержку, когда файлы, которые были вытеснены из кеш нужно читать заново, но более отзывчивые программы. Свопинг тоже может замедлить Жесткие диски далее, потому что он включает в себя множество случайных записей, а SSD нет этой проблемы. Конечно, значения по умолчанию хорошо работают в большинстве рабочих нагрузок, но настольные компьютеры и интерактивные системы для любой ожидаемой задачи могут захотеть снизить значение параметра, а пакетная обработка, а менее интерактивные системы могут захотеть его увеличить.[18]

Заменить смерть

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

Смерть свопа может произойти из-за неправильно настроенной чрезмерное использование памяти.[21][22][23]

Первоначальное описание проблемы «подмены смерти» относится к X сервер. Если код или данные, используемые X-сервером для ответа на нажатие клавиши, не находятся в основной памяти, тогда, если пользователь вводит нажатие клавиши, сервер принимает одну или несколько ошибок страницы, требуя, чтобы эти страницы были прочитаны из свопа, прежде чем нажатие клавиши может быть обрабатывается, замедляя реакцию на него. Если эти страницы не остаются в памяти, для обработки следующего нажатия клавиши их придется снова вызвать, в результате чего система практически не отвечает, даже если она фактически выполняет другие задачи в обычном режиме.[24]

macOS

macOS использует несколько файлов подкачки. При установке по умолчанию (и рекомендуется Apple) они помещаются в корневой раздел, хотя вместо этого можно разместить их на отдельном разделе или устройстве.[25]

AmigaOS 4

AmigaOS 4.0 представила новую систему выделения оперативной памяти и дефрагментации физической памяти. Он по-прежнему использует плоское общее адресное пространство, которое нельзя дефрагментировать. Он основан на метод размещения плит и память подкачки, которая позволяет осуществлять подкачку. Пейджинг был реализован в AmigaOS 4.1 но может заблокировать систему, если вся физическая память израсходована.[26] Память подкачки может быть активирована и деактивирована в любой момент, позволяя пользователю использовать только физическую RAM.

Спектакль

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

  • Linux предлагает / proc / sys / vm /обмен параметр, который изменяет баланс между выгрузкой оперативной памяти, в отличие от удаления страниц из системы кеш страницы.
  • Windows 2000, XP и Vista предлагают DisablePagingExecutive параметр реестра, который определяет, могут ли код и данные режима ядра быть выгруженными.
  • В мэйнфрейм-компьютерах часто использовались жесткие диски или барабаны для хранения страниц и подкачки, чтобы сократить время поиска, а также несколько технологий[27] иметь несколько одновременных запросов к одному и тому же устройству, чтобы уменьшить задержка вращения.
  • Флэш-память имеет конечное количество циклов стирания-записи (см. ограничения флеш-памяти ), а наименьший объем данных, который можно стереть за один раз, может оказаться очень большим (128 КБ для твердотельного накопителя Intel X25-M [28]), редко совпадающего с размером страницы. Следовательно, флэш-память может быстро изнашиваться, если она используется в качестве места подкачки в условиях ограниченного объема памяти. С другой стороны, флеш-память практически без задержек по сравнению с жесткими дисками, а не летучий как чипы RAM. Схемы вроде ReadyBoost и Память Intel Turbo созданы для использования этих характеристик.

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

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

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

Ограничения адресации на 32-битном оборудовании

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

Оперативная память меньше виртуальной памяти

В большинстве систем размер виртуального адресного пространства процесса намного больше доступной основной памяти.[29] Например:

  • В адресная шина , который подключает ЦП к основной памяти, может быть ограничен. В i386SX процессор 32-битные внутренние адреса могут адресовать 4 ГБ, но он имеет только 24 контакта, подключенных к адресной шине, что ограничивает размер установленной физической памяти до 16 МБ. Могут быть другие аппаратные ограничения на максимальный объем устанавливаемой оперативной памяти.
  • Максимальный объем памяти может быть не установлен из-за стоимости, из-за того, что в стандартной конфигурации модели он отсутствует, или из-за того, что покупатель не считал это выгодным.
  • Иногда в любом случае не все внутренние адреса можно использовать для памяти, поскольку аппаратная архитектура может резервировать большие области для ввода-вывода или других функций.

Основная память того же размера, что и виртуальная память

Компьютер с истинным п-битовая адресация может иметь 2п установлены адресные блоки ОЗУ. Пример - 32-битный x86 процессор с 4ГБ и без Расширение физического адреса (PAE). В этом случае процессор может обращаться ко всей установленной оперативной памяти и не более того.

Однако даже в этом случае подкачку можно использовать для создания виртуальной памяти размером более 4 ГБ. Например, многие программы могут работать одновременно. Вместе им может потребоваться более 4 ГБ, но не все из них сразу должны быть в ОЗУ. Система подкачки принимает эффективные решения о том, какую память передать вторичной памяти, что приводит к наилучшему использованию установленной оперативной памяти.

Хотя процессор в этом примере не может обращаться к ОЗУ за пределами 4 ГБ, операционная система может предоставлять услуги программам, которые предполагают больший объем памяти, например файлы, размер которых может превышать предел установленной ОЗУ. Операционная система позволяет программе произвольно манипулировать данными в файле, используя разбиение на страницы для переноса частей файла в ОЗУ, когда это необходимо.

Основная память больше, чем виртуальное адресное пространство

У некоторых компьютеров основная память больше, чем виртуальное адресное пространство процесса, например Magic-1,[29] немного PDP-11 машины и некоторые системы, использующие 32-битные x86 процессоры с Расширение физического адреса. Это сводит на нет значительное преимущество разбиения на страницы, поскольку отдельный процесс не может использовать больше оперативной памяти, чем объем его виртуального адресного пространства. Такие системы часто используют методы подкачки для получения дополнительных преимуществ:

  • «Дополнительная память» может быть использована в кеш страницы для кэширования часто используемых файлов и метаданных, таких как информация каталога, из вторичного хранилища.
  • Если процессор и операционная система поддерживают несколько виртуальных адресных пространств, «дополнительная память» может использоваться для запуска большего количества процессов. Пейджинг позволяет совокупному количеству виртуальных адресных пространств превышать физическую основную память.
  • Процесс может хранить данные в файлы с отображением памяти в файловых системах с поддержкой памяти, таких как tmpfs файловая система или файловые системы на RAM диск и отображать файлы в адресное пространство и из него по мере необходимости.
  • Набор процессов может по-прежнему зависеть от улучшенных функций безопасности, которые изоляция на основе страниц может привнести в среду многозадачности.

Общий размер виртуальных адресных пространств по-прежнему ограничен объемом доступной вторичной памяти.

Смотрите также

Примечания

  1. ^ Первоначально барабаны, а потом жесткие диски и твердотельные накопители были использованы для подкачки.
  2. ^ Например, MVS (Несколько виртуальных хранилищ).
  3. ^ Прерывание неэквивалентности происходит, когда старшие биты адреса не совпадают ни с одной записью в ассоциативной памяти.

Рекомендации

  1. ^ Arpaci-Dusseau, Remzi H .; Арпачи-Дюссо, Андреа К. (2014), Операционные системы: три простых элемента (глава: пейджинг) (PDF), Книги Арпачи-Дюссо, в архиве (PDF) из оригинала от 22.02.2014
  2. ^ Дейтель, Харви М. (1983). Введение в операционные системы. Эддисон-Уэсли. С. 181, 187. ISBN  0-201-14473-5.
  3. ^ Белзер, Джек; Хольцман, Альберт Г .; Кент, Аллен, ред. (1981). "Операционные системы". Энциклопедия информатики и технологий. 11. CRC Press. п. 433. ISBN  0-8247-2261-2. В архиве из оригинала от 27.02.2017.
  4. ^ Белзер, Джек; Хольцман, Альберт Г .; Кент, Аллен, ред. (1981). "Операционные системы". Энциклопедия информатики и технологий. 11. CRC Press. п. 442. ISBN  0-8247-2261-2. В архиве из оригинала от 27.02.2017.
  5. ^ Крагон, Харви Г. (1996). Системы памяти и конвейерные процессоры. Джонс и Бартлетт Издательство. п. 109. ISBN  0-86720-474-5. В архиве из оригинала от 27.02.2017.
  6. ^ Белзер, Джек; Хольцман, Альберт Г .; Кент, Аллен, ред. (1981). «Системы виртуальной памяти». Энциклопедия информатики и технологий. 14. CRC Press. п. 32. ISBN  0-8247-2214-0. В архиве из оригинала от 27.02.2017.
  7. ^ Sumner, F.H .; Haley, G .; Чен, Э. С. Я. (1962). «Центральный блок управления компьютера« Атлас »». Обработка информации 1962 г.. Материалы Конгресса ИФИП. Материалы Конгресса ИФИП 62. Спартанец.
  8. ^ "Атлас". Манчестерский университет: факультет компьютерных наук. Архивировано из оригинал на 2012-07-28.
  9. ^ «Атлас Архитектура». Компьютер Атлас. Чилтон: Компьютерная лаборатория Атласа. В архиве из оригинала от 10.12.2012.
  10. ^ Килберн, Т .; Payne, R. B .; Ховарт, Д. Дж. (Декабрь 1961 г.). "Супервайзер Атласа". Компьютеры - ключ к тотальному управлению системами. Материалы конференций. Том 20, Труды Восточной совместной компьютерной конференции, Вашингтон, округ Колумбия, Макмиллан. С. 279–294. В архиве из оригинала 31 декабря 2009 г.
  11. ^ Kilburn, T .; Эдвардс, Д. Б. Г .; Ланиган, М. Дж .; Самнер, Ф. Х. (апрель 1962 г.). «Одноуровневая система хранения». Операции IRE на электронных компьютерах. Институт Радиоинженеров (2): 223–235. Дои:10.1109 / TEC.1962.5219356.
  12. ^ Цигкогианнис, Илиас (11 декабря 2006 г.). «Анализ аварийного дампа». водитель пишет! = вождение автобуса. Microsoft. В архиве из оригинала от 07.10.2008. Получено 2008-07-22.
  13. ^ "Windows Sysinternals PageDefrag". Sysinternals. Microsoft. 2006-11-01. В архиве из оригинала от 25.12.2010. Получено 2010-12-20.
  14. ^ "swapon (2) - справочная страница Linux". Linux.Die.net. В архиве из оригинала от 28.02.2014. Получено 2014-09-08.
  15. ^ ""Джеспер Джул ": Re: Как отправить паузу? - дамп из зависшего 64-битного linux". LKML. 2006-05-29. В архиве из оригинала 24.11.2010. Получено 2010-10-28.
  16. ^ «Эндрю Мортон: Re: раздел подкачки или файл подкачки». LKML. В архиве из оригинала 24.11.2010. Получено 2010-10-28.
  17. ^ Глава 7. Пространство подкачки - Портал для клиентов Red Hat «Пространство подкачки может быть выделенным разделом подкачки (рекомендуется), файлом подкачки или комбинацией разделов подкачки и файлов подкачки».
  18. ^ Эндрюс, Джереми (2004-04-29). «Linux: настройка подкачки». kerneltrap.org. Архивировано из оригинал на 2013-05-24. Получено 2018-01-03.
  19. ^ Рик ван Риель (1998-05-20). "поменять местами смерть (как в 2.1.91) и таблицы страниц". В архиве из оригинала от 29.12.2017.
  20. ^ Кайл Рэнкин (2012). Устранение неполадок DevOps: передовые методы работы с Linux Server. Эддисон-Уэсли. п. 159. ISBN  978-0-13-303550-6. В архиве из оригинала от 29.12.2017.
  21. ^ Андрис Брауэр. «Ядро Linux: память». В архиве из оригинала от 13.08.2017.
  22. ^ Красная шляпа. «Настройка мощности». В архиве из оригинала от 23.07.2017.
  23. ^ "Настройки чрезмерной фиксации памяти". В архиве из оригинала 31.05.2017.
  24. ^ Питер Макдональд (1993-02-10). "обмен на смерть". В архиве из оригинала от 28.03.2017.
  25. ^ Джон Сиракуза (2001-10-15). «Mac OS X 10.1». Ars Technica. В архиве из оригинала от 05.09.2008. Получено 2008-07-23.
  26. ^ AmigaOS Core Developer (08.01.2011). "Re: Проблема с подкачкой и в обновлении 4?". Hyperion Entertainment. В архиве из оригинала 2013-04-12. Получено 2011-01-08.
  27. ^ Например, определение положения вращения в канале блочного мультиплексора.
  28. ^ «Выравнивание файловых систем по размеру стираемого блока SSD | Мысли Теда». Thunk.org. 2009-02-20. В архиве из оригинала 13.11.2010. Получено 2010-10-28.
  29. ^ а б Билл Бузби. "Magic-1 Minix Demand Paging Design". В архиве из оригинала от 05.06.2013. Получено 2013-12-09.

внешняя ссылка