Cтраница 2
![]() |
Процесс доопределения модуля. [16] |
Слабо связанные модули могут исполняться параллельно без особых проблем синхронизации, тогда как сильно связанные модули могут исполняться параллельно лишь в случае разрешения проблемы взаимного исключения по доступу к общим переменным. [17]
Назовем модуль М строго связанным, если М и все его подмодули являются связанными модулями. [18]
Если перемещающий загрузчик используется до редактора связей или для размещения модуля, содержащего небольшое число связанных модулей, процедурам в этих модулях назначаются абсолютные адреса ячеек ПАМЯТИ. Вызовы в этих модулях соединяются затем с соответствующими процедурами во время последующего шага редактирования связей. При использовании таким способом шаги редактирования связей и перемещения должны чередоваться столько, сколько необходимо для полного редактирования всех связей программы и правильного размещения в ПАМЯТИ. [19]
Строго связанные модули ( над произвольным кольцом) образуют абелеву категорию, а над наследственным кольцом конечно определенные связанные модули имеют конечную композиционную длину, так что в этом случае выполняется теорема Жордана - Гельдера. [20]
Все включения здесь строгие, поскольку ни один из элементов av не является обратимым; факторы этого ряда являются связанными модулями. Таким образом, рассматриваемое разложение соответствует цепи связанных подмодулей модуля mR / c ( nR) и в силу теоремы 2.3 любая такая цепь обладает конечным максимальным уплотнением. [21]
В этом параграфе мы докажем теорему двойственности для связанных модулей над наследственными кольцами, из которой будет следовать, что любой конечно определенный связанный модуль над таким кольцом удовлетворяет условиям DCC и АСС для связанных подмодулей. Сначала мы установим ряд результатов для произвольных колец, а затем применим эти результаты к наследственным кольцам. [22]
Модуль Компоновщик преобразует объектные модули, полученные в результате трансляции, а также модули, извлеченные из библиотеки системных программ, в единый связанный модуль. [23]
Система разбивается на различные иерархически упорядоченные части, называемые уровнями, удовлетворяющие определенным проектировочным критериям. Каждый уровень является группой тесно связанных модулей. Идея уровней призвана минимизировать сложность системы за счет такого их определения, которое обеспечивает высокую степень независимости уровней друг от друга. [24]
Отот способ относится к сильно связанным модулям. Если это модули-активности внутри одного процесса, то они исполняются последовательно и проблемы взаимного исключения не существует. Если же они являются процессами, имеющими общего предка, то возникает необходимость в механизме взаимного исключения. Проблемы взаимного исключения также не существует при взаимодействии через общие переменные предка со своими наследниками, потому что, как уже указывалось, они не могут исполняться параллельно. Используемые общие переменные должны быть предварительно объявлены как экспортируемые. [25]
В целом программа ( или комплект программ) разбивается на несколько крупных частей ( блоков), каждая из которых характеризует определенный этап или стадию ( внутри этапа) обработки уже по временному признаку. Обычно это 3 - 4 ра-бочих блока, которые объединяют ряд тесно связанных модулей, выполняющих на данной стадии обработки операции, требующие одной и той же или одновременно получаемой ной информации. [26]
РЕДАКТОР ТЕКСТА используется для создания и изменения исходных программ. КОМПОНОВЩИК преобразует объектные модули, создаваемые ассемблером или другими компиляторами, в единый связанный модуль, преобразует относительные адреса в абсолютные, связывает глобальные ссылки с объектными модулями, устанавливает в начальное состояние все параметры, требуемы. [27]
Пусть R - левое кольцо Оре, М и N - правые - модули и /: N - М - некоторый гомоморфизм. Показать, что если М - конечно порожденный модуль и coker / - связанный модуль, то rk N rk M. Указание: рассмотреть М К, где К определено в предыдущем упражнении. [28]
Со временем модули корректируются, изменяются и расширяются; в результате связи модулей, которые должны работать совместно, могут стать слишком запутанными. Поэтому для каждого модуля, который может правильно работать не со всеми уровнями связанных модулей, должен даваться список допустимых ( или недопустимых) модулей-компаньонов. Целесообразно в начале этого раздела поместить информацию, содержащуюся в разд. [29]
![]() |
Этапы разработки и отладки программы. [30] |