Сравнительная таблица
Основа Сравнение | Непрерывное распределение памяти | Непрерывное распределение памяти |
---|---|---|
основной | Выделяет последовательные блоки памяти для процесса. | Выделяет отдельные блоки памяти для процесса. |
Накладные расходы | Непрерывное распределение памяти не приводит к накладным расходам на преобразование адресов при выполнении процесса. | Непрерывное выделение памяти приводит к накладным расходам на преобразование адресов при выполнении процесса. |
Скорость исполнения | Процесс выполняет fatser в непрерывном распределении памяти | Процесс выполняется сравнительно медленнее при непрерывном выделении памяти. |
Решение | Пространство памяти должно быть разделено на раздел фиксированного размера, и каждый раздел выделен только для одного процесса. | Разделите процесс на несколько блоков и поместите их в разные части памяти в соответствии с доступным объемом памяти. |
Таблица | Таблица поддерживается операционной системой, которая поддерживает список доступных и занятых разделов в области памяти | Таблица должна поддерживаться для каждого процесса, который содержит базовые адреса каждого блока, который был получен процессом в памяти. |
Определение непрерывного распределения памяти
Операционная система и пользовательские процессы должны быть размещены в основной памяти. Следовательно, основная память делится на два раздела: в одном разделе находится операционная система, а в другом - пользовательские процессы. В обычных условиях несколько пользовательских процессов должны находиться в памяти одновременно, и поэтому важно учитывать распределение памяти для процессов.
Непрерывное выделение памяти является одним из методов выделения памяти. При непрерывном распределении памяти, когда процесс запрашивает память, одному непрерывному участку блоков памяти назначается процесс в соответствии с его требованием.
В схеме разделения переменных операционная система поддерживает таблицу, в которой указывается, какой раздел памяти свободен, а какой занят процессами. Непрерывное выделение памяти ускоряет выполнение процесса за счет уменьшения накладных расходов на преобразование адресов.
Определение несмежного распределения памяти
Несмежное выделение памяти позволяет процессу получать несколько блоков памяти в разных местах в памяти в соответствии со своими требованиями. Непрерывное выделение памяти также уменьшает потери памяти, вызванные внутренней и внешней фрагментацией. В нем используются дыры в памяти, созданные при внутренней и внешней фрагментации.
Разбиение на страницы и сегментация являются двумя способами, которые позволяют физическому адресному пространству процесса быть несмежным. При несмежном выделении памяти процесс делится на блоки (страницы или сегменты), которые помещаются в разные области памяти в соответствии с доступностью памяти.
Непрерывное выделение памяти имеет преимущество, заключающееся в уменьшении потерь памяти, но, тем не менее, увеличивает накладные расходы на преобразование адресов. Поскольку части процесса размещаются в другом месте в памяти, это замедляет выполнение памяти, поскольку при трансляции адресов расходуется время.
Здесь операционная система должна поддерживать таблицу для каждого процесса, которая содержит базовый адрес каждого блока, который получен процессом в пространстве памяти.
Ключевые различия между смежным и несмежным распределением памяти
- Основное различие между непрерывным и несмежным выделением памяти заключается в том, что непрерывное выделение выделяет процессу один единственный непрерывный блок памяти, тогда как несмежное выделение разделяет процесс на несколько блоков и помещает их в другое адресное пространство памяти, т.е. несмежным образом,
- При непрерывном выделении памяти процесс сохраняется в непрерывном пространстве памяти; Таким образом, нет никаких затрат на трансляцию адресов во время выполнения. Но при несмежном выделении памяти возникают издержки на преобразование адресов при выполнении процесса, поскольку блоки процесса распределяются в пространстве памяти.
- Процесс, хранящийся в непрерывной памяти, выполняется быстрее по сравнению с процессом, хранящимся в несмежном пространстве памяти.
- Решение для непрерывного выделения памяти состоит в том, чтобы разделить пространство памяти на раздел фиксированного размера и выделить раздел только для одного процесса. С другой стороны, при непрерывном выделении памяти процесс делится на несколько блоков, и каждый блок размещается в разных местах в памяти в соответствии с доступностью памяти.
- При непрерывном распределении памяти операционная система должна вести таблицу, которая указывает, какой раздел доступен для процесса, а какой занят процессом. При непрерывном выделении памяти для каждого процесса поддерживается таблица, которая указывает базовый адрес каждого блока процесса, помещенного в пространство памяти.
Заключение:
Непрерывное выделение памяти не создает никаких накладных расходов и повышает скорость выполнения процесса, но увеличивает потери памяти . В свою очередь, непрерывное выделение памяти создает накладные расходы на преобразование адресов, снижает скорость выполнения процесса, но увеличивает использование памяти . Таким образом, есть плюсы и минусы обоих методов распределения.