Виртуальная память?

Я очень запутался в этих вопросах.

  1. На 32-битном процессоре каждый процесс имеет 4 ГБ виртуальной памяти. Но если каждый процесс имеет 4 ГБ пространства, то это будет каждый огромный объем, если запущено 100 процессов -, это больше, чем область подкачки. Может кто-нибудь объяснить это; Я очень смущен.

  2. Как операционная система выделяет память процессу? Предположим, что процесс имеет a = malloc(2). Кто будет выделять эту память процессу? Отдаст ли ОС эти 2 байта памяти процессу.
    (Мы обращаемся к a[2], он генерирует ошибку сегментации ).

  3. Где остаются различные части процесса (Код, Данные, Стек, Куча )в основной памяти или во вторичной памяти.

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

6
задан Nathan S. 1 January 2015 в 06:56
поделиться