От науки 1-Самостоятельная работа Делал: Suvonov n принято: norov m 1-Самостоятельная работа Тема: Управление памятью в операционных системах. Память и ее представление, виртуальное адресное пространство
Download 58.02 Kb.
|
Operatsion tizimlar 1
- Bu sahifa navigatsiya:
- Эффективность
Ручное управление и точность
Ручное управление памятью при неправильном использовании, особенно во время сбоев, может привести к нескольким основным классам программных ошибок, известных как ненадежность памяти или утечки памяти. Важным их источником являются ошибки безопасности.Когда неиспользуемый объект никогда не возвращается в свободное хранилище, это называется утечкой памяти. В некоторых случаях утечка памяти может быть терпимой, например, программа, которая «утечка» ограниченного объема памяти в течение всего времени своего существования, или короткоживущая программа, основанная на ней. выделение своих ресурсов после завершения работы операционной системы. Однако в большинстве случаев утечки памяти происходят в долго работающих программах, и в таких случаях увеличивается объем неограниченной памяти. Когда это произойдет, количество доступного бесплатного магазина со временем уменьшится; когда он наконец завершается, программа вылетает. Динамическое управление памятью может привести к тому, что система несколько раз удалит резервную память объекта; объект явно несколько раз разрушался; Когда указатель не используется для управления объектом, программист, выделивший свободное хранилище, попытается освободить свободную память целевого объекта этого указателя; или объект через указатель на другой, манипулируя произвольной областью памяти, контролируемой неизвестной внешней задачей, потоком или процессом, программист может испортить состояние этого объекта, возможно, записав за его границы и став поврежденным информацию об управлении памятью. Результатом таких действий могут быть накопленные повреждения, преждевременное уничтожение другого (и вновь созданного) объекта, многократно занимающего ту же область памяти, что и удаляемый объект, программа из-за сбоя сегментации (нарушения защиты памяти) и другие формы. неопределенного поведения. Указатели на удаленные объекты становятся дикими указателями, если они используются после удаления; попытка использовать такие указатели может привести к ошибкам, которые трудно диагностировать.Известно, что языки, использующие только сборку мусора, избегают дефектов в последних двух классах. Утечки памяти все еще могут происходить (и ограниченные утечки часто возникают при генерации или консервативной сборке мусора), но обычно они менее распространены, чем утечки памяти в системах с ручным управлением.Динамическое выделение памятиЗадачей запроса на выделение является поиск блока неиспользуемой памяти достаточного размера. Требования к памяти удовлетворяются за счет выделения фрагментов из большого пула памяти, называемого В любой момент времени некоторые части кучи используются, а некоторые «свободны» (не используются) и, таким образом, доступны для будущего распределения. Эффективность Реализованный настраиваемый алгоритм динамического выделения памяти может оказать существенное влияние на производительность. В исследовании 1994 года, проведенном Digital Equipment Corporation, описываются дополнительные затраты на различные делители. Средняя минимальная длина пути инструкции, необходимая для выделения одного слота памяти, составляет 52 (по данным профилировщика уровня инструкций в различном программном обеспечении). Download 58.02 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling