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