Cтраница 2
Процедуры, обеспечивающие взаимодействие машин в сети, реализуются в виде специального программного обеспечения. Часть протоколов может быть реализована аппаратно. В этом контексте под системой понимается некоторое множество ЭВМ с соответствующим программным обеспечением, периферийными устройствами, операторами, физическими процессами и средствами обмена информацией, которое ( множество) способно выполнять обработку информации. Системы взаимодействуют посредством обмена информацией с использованием стандартных процедур. [16]
Это означает, что все действия, связанные с выделением памяти и ее последующим освобождением, должны явно проводиться самим программистом с сопутствующим этому риском возникновения фатальной ошибки, например, при отсутствии свободной памяти. Для этих целей в распоряжении программиста имеются стандартные процедуры new и dispose. При этом, если освобожденная с помощью стандартной процедуры dispose память выделяется для повторного использования с помощью процедуры new, возникает опасность, связанная с сохранением значения указателя на эту область памяти, оставшегося от ее предыдущего использования. Это может привести к очень трудно диагностируемым и непредсказуемым взаимодействиям по общим данным между различными, не связанными ( логически) друг с другом частями программы. Если же освобождаемая с помощью стандартной процедуры dispose память не поступает в пул для повторного использования ( с помощью стандартной процедуры new), то теряется смысл использования стандартной процедуры dispose. Причем в этом случае любая сколько-нибудь серьезная попытка организовать работу со списками, скорее всего, обречена на провал из-за быстрого исчерпания памяти, так как отсутствует возможность ее повторного использования. [17]