Дедупликация страницы исполняемого кода драйверов OC Windows (1187398), страница 11
Текст из файла (страница 11)
Это означает, не делать тестраниц, которые были Pageable не подкачиваемыми, а использовать существующий вWindows механизм Copy On Write для Paged памяти.Сессионные драйвера. Ведь, в данной работе, речь шла только о не сессионныхдрайверах.Добавление поддержки Large Pages. Поскольку многие экземпляры могутпроизводить одинаковые записи в свои страницы, то можно не просто разъединятьизмененные страницы, как это происходит сейчас, а можно среди измененных страницнаходить одинаковые и объединять их в одну, до следующей записи на одну их этихстраниц. Это может дать еще довольно существенную экономию памяти для некоторыхтипов драйверов. А именно, для тех, которые делают в свои страницы много однотипныхзаписей.Кроме того, можно сделать более быстрое пополнение резервного буфера страницдля работы на высоких IRQL.
Это бы увеличило надежность.663.3. Возможные применения3.3.1. Возможные применения метода дедупликации одинаковых страниц.Контейнерная виртуализация для Windows.Проблема, решаемая в данной работе, возникла из контейнерной виртуализациидля Windows. И именно там находится ее главная область применения.Предлагаемый метод решения может оказаться полезным и во многих другихситуациях, когда в системе Windows загружено одновременно несколько экземпляроводного драйвера.Как оптимизация памяти в виртуальных машин Windows.Однако, некоторые описываемые здесь аспекты, касающиеся поиска одинаковыхстраниц, могут оказаться полезными для виртуальных машин как оптимизацияраспределения памяти между машинами на ОС Windows, если вклиниться внутрь ядра ОСи отслеживать загрузку отгрузку драйверов, а остальную работы производить на хосте.Таким образом, если раньше приходилось анализировать память, чтобы найти идентичныестраницы, то теперь можно получать часть информации от самой ОС.На пользовательских компьютерах.На пользовательских компьютерах данная технология тоже может быть полезнадля драйверов, несколько экземпляров которых работают одновременно.
(...подробнее...)Для данных.Тоже самое можно сделать и для виртуальных страниц с данными, если заранееизвестно, что записи в них происходят редко.3.3.2. Возможные применения Copy On Write в NonPaged MemoryКроме того, реализованная технология Copy on Write в NonPaged пуле памяти вWindows не имеет аналогов и может сама по себе иметь гораздо более широкоеприменение. Только следует помнить, что неверная конфигурация параметров (а именноразмера резервного буфера) может приводить к сбоям в работе на высоких IRQL в случае,если попытки записи будут происходить слишком часто.67Контейнерная виртуализация для Windows.Опять таки это контейнерная виртуализация для Windows, но можно объединять нетолько код драйверов, но и любые страницы в различных контейнерах.
Важно только,чтобы они были идентичны и записи в них производились редко.Как аналог KSM для ядра Windows.То есть для периодического сканирования памяти системы, нахожденияодинаковых страниц, и объединения их в одну с помощью описанного здесь механизмаCopy on Write в NonPaged Memory.684. Список литературы1. Руссинович М., Соломон Д. «Внутреннее устройство Microsoft Windows».
– М.:Русская Редакция; СПб.: Питер, 2008. – 992 с. Главы 1-4, 7, 9.2. Intel 64 and IA-32 Architecture Software Developer's Manual, volume "SystemProgramming Guide, Part 1"– Intel, 2012. – 1333 c.3. Oney W. "Programming the Microsoft Windows Driver Model" – Redmond,Washington: Microsoft Press, 2003 - 846 c. Главы 1, 2.4. Nebbett G. "Windows NT/2000 Native API Reference"–Indianapolis: PearsonEducation (US) , 2000.
– 512 c.5. Таненбаум Э., "Современные операционные системы"– СПб.: Питер, 2010. – 1120 c.Главы 1, 4, 5, 11.6. М. Тим Джонс, «Виртуальный Linux. Обзор методов виртуализации, архитектур иреализаций», 20077. Сергей Озеров, Александр Карабуто «Технологии виртуализации: вчера, сегодня,завтра»8. Keith Adams, Ole Agesen A Comparison of Software and Hardware Techniques for x86Virtualization9. Crowley Charles, "Operating Systems, A Design-Oriented Approach".10.
Smith J., Nair R., "Virtual Machines, versatile Platforms for Systems and Processes".11. МендельРозенблюм,ТэлГарфинкель Мониторывиртуальныхмашин:современность и тенденции (рус.). Издательство «Открытые системы»12. Андрей Колесов Вернемся к нашим гипервизорам, PC Week/RE № 16 — 17 (670—671).13. Горбачев О.Г., Гуз С.А., Натан А.А. "Основы теории случайных процессов.", Главы1-3, Москва 2002.14. Гнеденко Б.В.
"Курс теории вероятностей." –М.: Наука, 1988.15. Гнеденко Б.В.,Беляев Ю.К.,Соловьев А.Д. "Математические методы в теориинадежности." –М.: Наука, 1965.16.Archana Ganapathi, Viji Ganapathi, David Patterson " Windows XP KernelCrash Analysis"– University of California, Berkeley.17. http://habrahabr.ru/company/parallels/blog/245533/18. https://infoboxcloud.ru/community/blog/iaas/220.html19.
http://www.linux-kvm.com/sites/default/files/KvmForum2008_KSM.pdf6920. http://www.linux-kvm.org/page/KSM21. https://www.kernel.org/doc/Documentation/vm/ksm.txt22. https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/chapKSM.html23. http://www.vmware.com/files/pdf/mem_mgmt_perf_vsphere5.pdf24. http://www.vmgu.ru/search/ESX%7C%20/2425. http://www.vmgu.ru/articles/vmware-transparent-page-sharing26. http://hosting101.ru/articles/virtualization.html27. http://www.ixbt.com/cm/virtualization-h.shtml28. http://www.intel.com/cd/corporate/europe/emea/rus/update/360260.htm29. http://msdn.microsoft.com/en-us/library/windows/hardware/ff545448(v=vs.85).aspx30.
http://support.microsoft.com/kb/244617/ru70.