Укажите порядок действий при сборке и загрузке программ

В предыдущем разделе шла речь о типах исполняемых модулей, но не говорилось ни слова о том, каким образом эти модули получаются. Вообще говоря, способ создания загружаемого модуля различен в различных ОС, но в настоящее время во всех широко распространенных системах этот процесс выглядит примерно одинаково. Это связано, прежде всего, с тем, что эти системы используют одни и те же языки программирования и правила межмодульного взаимодействия, в которых явно или неявно определяют логику раздельной компиляции и сборки.

В большинстве современных языков программирования программа состоит из отдельных слабо связанных модулей. Как правило, каждому такому модулю соответствует отдельный файл исходного текста. Эти файлы независимо обрабатываются языковым процессором (компилятором), и для каждого из них генерируется отдельный файл, называемый объектным модулем. Затем запускается программа, называемая редактором связей, компоновщиком или линкером (linker — тот, кто связывает), которая формирует из заданных объектных модулей цельную программу. Общая структура процесса компоновки представлена на рисунке.

ВАЖНЫЕ ПРАВИЛА И СОВЕТЫ ПО СБОРКЕ ПК/КАК СОБРАТЬ КОМПЬЮТЕР ПРАВИЛЬНО?!⚠️

Объектный модуль отчасти похож по структуре на перемещаемый загрузочный модуль. Дело в том, что сборку программы из нескольких модулей можно уподобить загрузке в память нескольких программ. При этом возникает та же задача перенастройки адресных ссылок, что и при загрузке относительного загрузочного файла. Поэтому объектный модуль должен в той или иной форме содержать таблицу перемещений. Можно, конечно, потребовать, чтобы весь модуль был позиционно-независимым, но это накладывает очень жесткие ограничения на стиль программирования, а на многих процессорах просто невозможно.

Кроме ссылок на собственные метки, объектный модуль имеет право ссылаться на символы, определенные в других модулях. Типичный пример такой ссылки – обращение к функции, которая определена в другом файле исходного текста.

Читайте также:
Программа репликатор это в информатике

Сборка в момент загрузки

Оъектные модули и библиотеки содержат достаточно информации, чтобы собирать программу не только заранее, но и непосредственно в момент загрузки. Этот способ, безусловно, требует больших затрат процессорного времени, чем загрузка заранее собранного кода, но дает и некоторые преимущества.

Главное преимущество состоит в том, что, если мы загружаем несколько программ, использующих одну и ту же библиотеку, мы можем настроить их на работу с одной копией кода библиотеки, таким образом, сэкономив память. Разделение кода привлекательно и с функциональной точки зрения, поэтому сборка в момент загрузки находит широкое применение в самых разнообразных ситуациях.

Некоторые системы команд поддерживают динамически пересобираемые программы, у которых вся настройка модуля вынесена в отдельную таблицу. В этом случае модуль может быть подключен одновременно к нескольким программам, использовать одновременно разные копии сегмента данных, и каждая используемая копия модуля при этом даже не будет подозревать о существовании других. Примером такой архитектуры является Pascal- система Lilith, разработанная Н.Виртом.

Как создать свою сборку Windows 7 — 11, без сторонних программ, патчей с помощью стандартных средств

Сборка при загрузке замедляет процесс загрузки программы но упрощает, с одной стороны, разделение кода, а с другой стороны – разработку программ. Действительно, из классического цикла внесения изменения в программу: редактирование текста – перекомпиляция – пересборка – перезагрузка (программы, не обязательно всей системы) выпадает целая фаза. В случае большой программы это может быть длительная фаза. В случае Novell Netware решающим оказывается первое преимущество, в случае систем реального времени одинаково важны оба.

В большинстве современных ОС, в действительности, сборка в момент загрузки происходит не из объектных модулей, а из предварительно собранных разделяемых библиотек. Такие библиотеки отличаются от обсуждавшихся, во-первых, тем, что из них невозможно извлечь отдельный модуль: все межмодульные ссылки внутри такой библиотеки разрешены, и ее необходимо всегда загружать как целое; и, во-вторых, тем, что список символов, экспортируемых такой библиотекой, не является объединением списков экспорта составляющих ее объектных модулей. При сборке такой библиотеки необходимо указать, какие из символов будут экспортироваться.

Читайте также:
Что такое программа devid agent

Источник: studfile.net

Сборка программного обеспечения (Software Building)

Цель FCA состоит в том, чтобы убедиться, что контролируемый программный элемент полностью соответствует заданным спецификациям. “Выход”, то есть результат проверки и аттестации (Vhttps://studopedia.su/11_49928_sborka-programmnogo-obespecheniya-Software-Building.html» target=»_blank»]studopedia.su[/mask_link]

Загрузка операционной системы и прикладных программ

При таком порядке загрузки операционной системы сначала анализируется готовность диска А: попыткой прочитать загрузочную запись дискеты – первый сектор нулевой дорожки. Возможны следующие варианты:

  • • при наличии дискеты с нее считывается первый сектор и по определенному признаку в его содержимом процедура определяет, имеется ли в нем загрузчик операционной системы:
  • • если загрузчик имеется, то ему передается управление для выполнения процесса загрузки операционной системы;
  • • если в считанном секторе загрузчик не обнаружен, то компьютер останавливается с сообщением Non-system disk or disk error – несистемный диск или ошибка чтения. После этого следует извлечь несистемную дискету или установить системную дискету и нажатием Ctrl+Alt+Del повторно запустить тест POST. Он будет работать в сокращенном варианте и завершится вызовом прерывания Int 19h – следующей попыткой загрузки. Такой способ перезапуска (перезагрузки) называется «теплым» (Warm). Повторный запуск POST можно выполнить и «холодным» (Cold) способом, нажав кнопку Reset, но при этом POST будет выполняться полностью, как после включения питания, что займет несколько больше времени;
  • • при отсутствии дискеты процедура переходит к попытке чтения главной загрузочной записи жесткого диска С:.

Загрузка с жесткого диска С:

Загрузка операционной системы также начинается с попытки чтения первого сектора нулевой головки нулевого цилиндра, где обычно находится главный загрузчик, или главная загрузочная запись (Master Boot Record – MBR) с таблицей разделов диска. Главный загрузчик MBR должен найти описатель активного раздела, загрузить первый сектор описателя в память и, убедившись в том, что в первом секторе находится загрузчик операционной системы, передать ему управление. Именно этот загрузчик и должен загрузить операционную систему из выбранного активного раздела в память и передать ей управление. Следует отметить, что:

  • • главный загрузчик MBR может служить средством для выбора загружаемой операционной системы по желанию пользователя (из меню);
  • • загрузчики активных разделов, как и загрузчик на дискете, ориентированы только на загрузку своих операционных систем. Если загрузчику не удается найти и загрузить файлы операционной системы, он выдает сообщение «Missing Operation System» – отсутствует операционная система.
Читайте также:
Как присоединиться к программе аэрофлот бонус

Последовательность опроса устройств при загрузке операционной системы задается параметрами CMOS Setup. В современных компьютерах имеются следующие возможности:

  • • загружать операционную систему с винчестера, дискеты и компакт-диска;
  • • выбирать любую последовательность их опроса (загрузки).

После загрузки управление компьютером передается операционной системе. В ее функции входит:

  • • инициализация соответствующих программных и аппаратных средств;
  • • распределение всех ресурсов компьютера (оперативной памяти и памяти устройств хранения данных, процессорного времени в многозадачных системах, периферийных и коммуникационных устройств);
  • • загрузка и исполнение пользовательских приложений, различных вспомогательных процессов и утилит;
  • • предоставление интерфейса пользователю (настройка параметров операционной системы и создание комфортных условий работы) и др.

Загрузка пользовательских программ

Приложения и утилиты располагаются в виде файлов на устройствах внешней памяти. Пользователь запускает интересующие его приложения, указывая имя требуемой программы или командного файла, «щелкая» по представляющему его значку.

В современных многозадачных системах (типа Windows) одновременно может быть запущено несколько приложений (программ, процессов). В процессе исполнения программы могут обращаться к файлам данных и настроек параметров: считывать файлы, выполнять какую-то обработку, записывать результаты. По завершении работы программы следует корректно закрывать (Shutdown) предусмотренными в ней средствами. Принудительное завершение программы средствами операционной системы может привести к потере несохра- ненных данных.

Источник: studme.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru