2013-09-26 17 views
21

В операционной системе измельчение связано с управлением памятью. Почему происходит перелом? Как мы можем предотвратить это?Что рушится? Почему это происходит?

Я проверил Википедию (но мне нужно некоторое понимание).

+1

Прочитайте Галвина: Высокая активность подкачки называется ** бьет **. Процесс обмолота, если он тратит больше времени на пейджинг, а затем выполняет. –

+0

ОК. Галвин выдается нам из библиотеки. Я попытаюсь понять это и там. –

+0

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

ответ

31

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

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

+0

Ошибка страницы, связанная с изнашиванием? Извините, что я новичок в ОС. –

+1

@niss да, это сборы для алгорифма замены глобальной страницы. один процесс вырывает страницы (память) из другого процесса. (в модуле ввода/вывода) CPU становится свободным. И OS контролирует использование ЦП, если это слишком две ОС, увеличивает степень мультипрограммирования, позволяя выполнять новый процесс. Внедрение новых процессов означает больше ошибок страницы, что приводит к дальнейшему снижению использования CUP. - это называется обмолотом. –

+0

@niss В интервью часто задают вопрос. так изучите его. –

8

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

-1

Если вы хотите точно, что обмолота право ..

Если использование C.P.U 0 (холостой ход), то эту ситуацию называют обмолота.

Это произойдет во время ситуации Deadlock. В то время никакие ресурсы (например, принтеры и т. Д.) Не будут использовать C.P.U, поэтому он будет бездействовать, поэтому мы можем назвать эту ситуацию Thrashing.

Вот это про обмолот :)

+0

Это не отвечает на вопрос и довольно расплывчато. – ayushgp

0

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

6

Я знаю, что этот вопрос задан давно, но я просто хотел поделиться информацией с другими.

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

Теперь, если страница, которую процесс должен выполнить, не загружается в память, он генерирует ошибку страницы и просит ОС заменить страницу. Здесь процесс возобновляет выполнение.

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

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

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

0

Ошибка памяти - это проблема, возникающая, когда память выделяется больше, чем физическая память, и она недоступна в системе. Чтобы узнать, что происходит, вы должны сначала знать об обмене и ошибке страницы. Итак, давайте начнем с этих концепций: Page Fault and Swapping: - Ошибка страницы, когда запрашиваемый доступ к памяти (из виртуального адресного пространства) не сопоставляется с чем-то, что находится в ОЗУ. Затем должна быть отправлена ​​страница из ОЗУ для свопинга, чтобы запрошенная новая страница могла быть перенесена из свопинга в ОЗУ. Это приводит к 2 дисковым ввода-выводам. Теперь вы можете знать, что дисковый ввод-вывод работает очень медленно по сравнению с доступом к памяти.

Чтобы узнать, что это обмолота памяти, пожалуйста, обратитесь к следующей ссылке:

http://www.firmcodes.com/memory-thrashing-in-operating-system/

+0

Связанная статья не выглядит полной (кажется, останавливается в середине объяснения). Этот ответ сам по себе не добавляет к другим ответам, и, вернее, я не думаю, что он может помочь тем, кто уже не понимает ключевые понятия. –

+0

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

+0

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

0

Операционная система использует концепцию виртуальной памяти, чтобы обеспечить память для обработки в то время, когда основная память получить полную и не имеют места для обеспечения пространства для входящих процессов. Этот механизм использования virtual memory в качестве замещающей памяти является абстрактным, и пользователь не узнает, что происходит. Кажется пользователю, что новый процесс, который он выполнил только что получил место в main memory.

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

Теперь придет в обморок.

operating system Если используется такая page replacement algo, в которой существует высокая вероятность page fault произойдет, то большая часть цикла процессора будет впустую в обмене страниц взад и вперед между main memory и virtual memory .Это подавляет performance.This CPU процесс деградации в производительности ЦП из-за возникновения большого количества ошибок страницы называется Thrashing.

0

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

0

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

Теперь предположим, что фреймов недостаточно, чтобы соответствовать требованиям для всех страниц, которые необходимо загрузить. Затем удаленный фрейм снова потребует загрузки и снова произойдет сбой страницы. Это происходит в цикле. Между тем, поскольку процесс не может выполнить, загрузка процессора будет низкой, и диспетчер загрузит больше процессов в CPU, что еще больше ухудшит сценарий.

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

Пути предотвращения обмолота:

  1. проинструктировать среднесрочный планировщик выгрузить некоторые из процесса слишком оправиться от обмолота
  2. инструктажа диспетчеру не нагружать больше процессов после порога
+0

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

Смежные вопросы