Работа с памятью: Пейджинг, Свопинг и Трешинг
• Эффективное управление памятью — одна из ключевых задач ОС. Сегодня разберем три важных механизма: пейджинг (paging), свопинг (swapping) и трешинг (thrashing), которые напрямую влияют на производительность системы.
• Когда процесс запрашивает память, ОС выделяет ему страницы, однако, само чтение данных с диска не происходит сразу. Например, при вызове
mmap(), файл еще не загружен, но виртуальная память ведет себя так, будто он уже там. Этот механизм называется пейджингом — управлением страницами памяти, а так как чтение 1 байта и 3 мегабайт не отличается по ресурсам, в страницы будет прочитано гарантированно больше байта.• В какой-то момент оперативная память может закончиться. В таком случае ОС начинает выгружать неактивные страницы в swap — специальный раздел на диске. Это процесс называется свопингом.
• Если памяти слишком мало, ОС может попасть в ловушку бесконечного обмена страницами: Страничка выгружается в swap -> Процессу снова нужна эта страничка -> Загружается обратно -> Через мгновение ее опять выгружают, чтобы освободить место. И так по кругу…
• Такое поведение называется трешинг — и оно приводит к сильному торможению системы.
• Ставьте реакции, а то грустно все как-то... Удачи!
• Поддержать автора монеткой: @v_meshke
