LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Крайне рекомендую не полагаться на лоровских аналитиков а просто прочитать третью главу «Современные операционные системы» Эндрю Таненбаума, первых частей будет достаточно для базового понимания работы виртуальной памяти, накладных расходов и ограничений. И это будет в разы лучше чем бедный пересказ полученный тут.

В кратце - память(даже выделенная) якобы есть, но где она в данный момент(физически), и можно ли производить с ней i/o зависит только от наличия ресурсов в системе и того был ли уже доступ к конкретной странице. Поэтому, если хочется не получить segfault при использовании большого буфера, который вроде бы и выделен, но используется не сразу весь, будет хорошей идеей про инициализировать его например нулями(портабельный способ) или использовать специальное системное api, что бы попросить на самом деле выделить память.

Исходная версия pon4ik, :

Крайне рекомендую не полагаться на лоровских аналитиков а просто прочитать третью главу «Современные операционные системы» Эндрю Таненбаума, первых частей будет достаточно для базового понимания работы виртуальной памяти, накладных расходов и ограничений. И это будет в разы лучше чем бедный пересказ полученный тут.

В кратце - память(даже выделенная) якобы есть, но где она в данный момент, и можно ли производить с ней i/o зависит только от наличия ресурсов в системе и того был ли уже доступ к конкретной странице. Поэтому, если хочется не получить segfault при использовании большого буфера, который вроде бы и выделен, но используется не сразу весь, будет хорошей идеей про инициализировать его например нулями(портабельный способ) или использовать специальное системное api, что бы попросить на самом деле выделить память.