

| стрелялки |
| спорт |
| драки |
| стратегии |
| гонки |
| логические |
| азартные |
| аркады |
| эротические |
| фильмы онлайн |
| Модульподпрограмма |
|
Структуру перекрытия будем разрабатывать в предположении, что при выполнении программы загрузка сегментов реализуется с помощью широко используемого алгоритма автоматической загрузки «по вызову»: загрузка сегмента производится, если его нет в памяти в момент вызова принадлежащего ему модуля. Очевидно, что при таком способе загрузки сегмент - единица загрузки - может компоноваться из одного или нескольких модулей, но общие области не могут образовать отдельных сегментов, они должны быть объединены в сегменты с теми модулями, вызов которых обеспечивал бы присутствие общих областей в памяти при любом обращении к ним. Модульподпрограмму принято называть активным, если он вызван, но не вернул управления. Ясно, что интервал «активности» модуля - интервал времени выполнения программы от вызова модуля до возврата им управления - включает все возможные обращения к командам и данным модуля, когда он должен находиться в памяти. Следовательно, если при вызове любого модуля содержащий его сегмент загружается в память, то при возврате управления из этого модуля участок памяти, занятый сегментом, можно считать свободным. Это справедливо как для неизменяющихся, так и для изменяющихся сегментов, если при загрузке последних выполнять сохранение и восстановление последнего состояния сегмента так, как предложено в работе. Реализация этой возможности в ВС, оснащенных дисками, не составляет труда. Обращения к общей области возможны только из тех модулей, где она определена, и только тогда, когда эти модули активны. Очевидно, что при загрузке «по вызову» одновременно активные модули будут одновременно присутствовать в памяти. Такими могут быть лишь модули, которые находятся в отношении подчинения и соответствуют вершинам одного пути графа G. А так как интервал «активности» подчиняющего модуля включает интервалы «активности» всех подчиненных ему модулей, объединение общей области с модулем, которому подчинены все использующие ее модули, гарантирует присутствие общей области в памяти при любом обращении к ней. Если имеется несколько модулей подходящих для объединения с некоторой общей областью, то выгоднее выбрать из них модуль с минимальным интервалом «активности». Для того чтобы найти такой модуль, достаточно, двигаясь от вершин, соответствующих модулям, использующим общую область, по путям, ведущим к основной вершине, достичь ближайшей общей вершины; соответствующий ей модуль и будет искомым. После того как каждая общая область Cf объединена с подходящим модулем т{ и длина mt увеличена на длину Cf, задача разработки структуры перекрытия для программы, имеющей общие области, решается так же, как и для программы, не имеющей общих областей. Поэтому далее общие области не будут рассматриваться. |
Серьги гвоздики из серебра
www.goldax.ru
Кредит в зарубежном банке
Взять бизнес кредит в зарубежном банке для развития дела
www.rietumu.ru
Интернет казино
Азарт и адреналин обеспечены, интернет казино позволит испытать это в полной мере, регистрируйтесь!
www.goldfishka.com
