КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Средства сборки систем
Сборка систем — это очень трудоемкий вычислительный процесс. Например, процесс компиляции большой системы, состоящей из сотен компонентов, может занять несколько часов. Если компиляцию и связывание компонентов такой системы выполнять вручную, то оператор неизбежно сделает какие-либо ошибки. Средства сборки систем автоматизируют этот процесс, что исключает потенциальные ошибки, совершаемые при ручном компилировании, и, возможно, сокращает время сборки системы. Средства сборки систем могут быть как автономными, например соответствующие утилиты в системе Unix, так и интегрированными со средствами управления версиями. Как правило, CASE-средства сборки систем состоят из следующих компонентов. 1. Язык специфицирования зависимостей и соответствующий интерпретатор. Описывает и управляет зависимостями между системными компонентами и минимизирует возможные перекомпиляции. 2. Средства выбора и реализации. Это компиляторы и другие средства работы с файлами исходного кода. 3. Средства распределенной компиляции. Некоторые компоновщики систем, особенно интегрированные с системами управления конфигурациями, могут поддерживать распределенную (сетевую) компиляцию. Вместо выполнения всего процесса компиляции на одной машине компоновщик находит свободные процессоры в компьютерной сети и организует параллельную компиляцию. Это значительно сокращает время сборки системы. 4. Средство управления вторичными объектами. Вторичные — это объекты, которые создаются на основе других, исходных, объектов. Средство управления такими объектами связывает исходный код и вторичные объекты и создает новые объекты только тогда, когда изменяется исходный код.
Управление вторичными объектами и минимизацию количества перекомпиляций лучше всего объяснить на простом примере. Рассмотрим ситуацию, когда программа соmр создается из объектных модулей scan.о, syn.o, sem.o и cgen.o. Для объектных модулей существуют модули, содержащие исходный код и имеющие имена соответственно scan.c, syn.c, sem.c и cgen.c. Эти модули используют общий файл объявлений defs.h. Зависимости между модулями показаны стрелками на рис. 6 (стрелки можно "прочитать" как "зависит от"). Допустим, в модуль scan.c внесены изменения. Система сборки должна определить, что вторичный объект scan.о необходимо создать заново, и вызвать соответствующий компилятор для перекомпиляции модуля scan.c и создания нового экземпляра объекта scan.o. Далее система сборки на основании связи между соmр и scan.o определяет, что необходимо заново создать также программу сотр путем связывания модулей scan.о, syn.o, sem.o и cgen.o. При этом система определяет, что объектный код других компонентов не изменялся, поэтому перекомпиляция их исходного кода не требуется. Рис. 6. Схема зависимостей модулей
Некоторые системы сборки используют дату изменения файла как ключевой атрибут, определяющий, требуется или нет перекомпиляция. Если дата изменения файла исходного кода более поздняя, чем дата изменения соответствующего файла объектного кода, то этот объектный код необходимо создать заново. Это гарантирует, что вторичный объект будет создан на основе самой последней версии исходного кода. Если перекомпилируется ранняя версия исходного кода, то изменяется дата ее модификации и система сборки по этой дате определяет, какие компоненты должны быть перекомпилированы или созданы заново. Другие системы сборки используют более сложные подходы к управлению вторичными объектами. Они вводят дополнительный атрибут для вторичных объектов, где указывается версия исходного кода, на основе которого создан этот объект, и по возможности сохраняются все версии вторичных объектов. Это позволяет иметь объектный код всех версий исходного кода без дополнительной перекомпиляции.
КЛЮЧЕВЫЕ ПОНЯТИЯ
Дата добавления: 2015-07-13; Просмотров: 567; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |