Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET
Работая с нашим сайтом, вы даете свое согласие на использование файлов cookie. Это необходимо для нормального функционирования сайта, показа целевой рекламы и анализа трафика. Статистика использования сайта отправляется в «Яндекс» и «Google»
Научный журнал Моделирование, оптимизация и информационные технологииThe scientific journal Modeling, Optimization and Information Technology
cетевое издание
issn 2310-6018

Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET

Попова Е.В.  

УДК 519.6; 004.02
DOI: 10.26102/2310-6018/2020.30.3.013

  • Аннотация
  • Список литературы
  • Об авторах

Представлено исследование алгоритма Dispose-паттерна, который используется в теории принятия решений в задачах управления памятью приложений в .NET. В долго работающих приложениях, с избыточным использованием памяти появляются предпосылки для частого запуска сборщика мусора, который работает с управляемыми ресурсами. Неуправляемые ресурсы без явной очистки могут инициировать проблемы памяти при ликвидации связанных с ними управляемых ресурсов. Составлена блок-схема метода очистки, получен алгоритм использования Dispose-паттерна в клиент-компонентной модели. Получены количественные значения различных характеристик работы сборщика мусора таких, как объем физической памяти, величина процессорного времени, максимальная пауза работы процесса и др. Данные собраны на основе приложения, состоящего из компонента и клиента, написанных на языке С#, запущенных в среде Visual Studio. Рассматриваемый компонент совместим с .NET Framework и не является компонентом Component Object Model. Сравниваются результаты работы приложения с запуском финализатора и без него. Полученные результаты помогут лицу, принимающему решение в выборе критерия оценки различных методов управления памятью, формировании однокритериальной или многокритериальной оптимизационной модели при принятии решения.

1. Анализ проблем с памятью .NET Framework. Microsoft. Документация. 2016. Доступно по адресу: https://technet.microsoft.com/ru-ru/evalcenter/dn342825(v=vs.85)/ (дата обращения: 20.06.2020 г.).

2. Костикова А. В. Исторические аспекты развития теории принятия решений. Философия науки, 2014;3(62):16-28.

3. Уотсон Бен. Высокопроизводительный код на платформе .NET. 2-е изд. - СПб.: Питер, 2019:1-416.

4. Atienza D., Mamagkakis S. Dynamic Memory Management Design Methodology for Reduced Memory Footprint in Multimedia and Wireless Network Applications. Computer Science Proceedings Design, Automation and Test in Europe Conference and Exhibition. 2004:1-74.

5. GC.Collect Method. Microsoft. Документация. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/api/system.gc.collect?view=netcore-2.0/ (дата обращения: 15.06.2020 г.).

6. Производительность .NET Framework. Microsoft. Документация. 2017. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/framework/performance/ (дата обращения: 19.07.2020 г.).

7. Албахари Д., Албахари Б. C# 5.0. Справочник. Полное описание языка. :Пер. с англ. - М.:ООО "И. Д. Вильямс", 2014:1-1008.

8. Реализация метода Dispose. Microsoft. Документация. 2020. Доступно по адресу: https://docs.microsoft.com/ru-ru/dotnet/standard/garbage-collection/implementingdispose/ (дата обращения 10.07.2020 г.).

9. Michaelis M. Essential C# 3.0: For .NET Framework 3.5, Pearson Education, Inc., 2009:1- 335.

10. ГОСТ 19.701-90 (ИСО 5807-85) "Единая система программной документации". М.: Стандартинформ, 2010:1-23.

11. Parkinson M. et al. Project Snowflake: Non-blocking Safe Manual Memory Management in .NET. Microsoft Research, 2017:1-40.

Попова Елена Владимировна
кандидат технических наук, доцент
Email: serana5@inbox.ru

СПбГЭТУ «ЛЭТИ»

Санкт-Петербург, Российская Федерация

Ключевые слова: алгоритм метода управления памятью, принятие решений, dispose-паттерн, финализатор, клиент-компонентная модель

Для цитирования: Попова Е.В. Исследование алгоритма Dispose-паттерна при принятии решений управления памятью в клиент-компонентной модели .NET. Моделирование, оптимизация и информационные технологии. 2020;8(3). Доступно по: https://moit.vivt.ru/wp-content/uploads/2020/08/Popova_3_20_1.pdf DOI: 10.26102/2310-6018/2020.30.3.013

596

Полный текст статьи в PDF