IT консалтинг - статьи

         

Оптимизация


Наиболее объемные элементы программ — разделяемые библиотеки, которые являются стандартными практически для всех виртуальных сред, да к тому же не меняются в процессе исполнения программы. Это позволяет использовать их сразу во всех средах, делая ссылку на эту физическую область. В Virtuozzo это реализовано с помощью функции mmap, которая обеспечивает работу с картами памяти. Если же процесс имеет право на изменение общего кода, то ядро вначале копирует этот сегмент в свободную область памяти, а только потом изменяет его содержимое.

Аналогичный механизм оптимизации используется и дисковых накопителей. Для его поддержки разработчики SWsoft реализовали дополнительную прослойку между VFS - виртуальной файловой системой Unix, и драйверами физических файловых систем, таких как ext2, RaiserFS или других. Эта прослойка, называемая VZFS, обеспечивает хранение не изменяемых файлов в единственном экземпляре. Эта прослойка также позволяет реализовать механизм копирования при записи и оптимизацию по памяти, описанную выше.

При использовании подобной системы оптимизации важно правильно решить проблему модернизации программного обеспечения. Эту операцию логично делать централизованно, чтобы модернизированные программы также имели на диске только одну копию. Для реализации такой возможности в SWsoft разработала специализированный инструментарий централизованного обновления.



Содержание раздела