2016-02-19 4 views
0

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

Со стороны ОС, возможно, это предотвратит загрузку процесса в память?

И что с сайта разработчиков, что они могут сделать, чтобы улучшить ситуацию?

+2

Алгоритмы замены страниц, виртуальная память, MMU и т. Д. Я думаю, что это термины, которые вы должны искать. – Downvoter

ответ

0

Я подозреваю, что ваше замешательство здесь связано со значением термина «рабочий набор». Этот термин имеет другое значение в теоретической информатике и в реализации операционной системы.

В первом рабочий набор - это объем памяти, который требуется процессу в данный момент времени.

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

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

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