Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО юнита 2.doc
Скачиваний:
38
Добавлен:
17.11.2019
Размер:
5.82 Mб
Скачать

Тематический обзор

1 Понятие системы программирования

Система программирования – совокупность языка программирования и системы разработки программ, обеспечивающей автоматизированную разработку и выполнение программ на данном языке и подготовку соответствующей документации. Как правило, система программирования включает не эталонный вариант языка, а его версию, содержащую определенные упрощения или расширения. Некоторые системы программирования могут поддерживать разработку программ на нескольких языках. Наиболее известная система программирования для персональных компьютеров (ПК) – Visual Studio, созданная фирмой Microsoft, поддерживающая языки программирования Basic, Java, C++; Delphi Borland International Inc.

Системы программирования включают:

– транслятор;

– интегрированную среду разработки программ (не всегда);

– отладчик;

– средства оптимизации кода программ;

– набор библиотек;

– редактор связей;

– сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

– справочные системы;

– систему поддержки и управления продуктами программного комплекса.

Различают два вида транслятора: компилятор и интерпретатор.

Компилятор – программа, которая преобразует программу, составленную на языке програм-мирования высокого уровня, в программу на машинном языке или языке, близком к машинному, не участвуя в ее исполнении. На вход компилятора поступает исходный модуль, который после компиляции преобразуется в объектный модуль. Объектный модуль – программный модуль, являющийся результатом компиляции исходного модуля. Программный модуль – программа, оформленная в виде, допускающем ее независимую трансляцию. Компилятор являются неотъемлемой частью системы программирования.

Виды компиляторов:

– интерпретирующие (пошаговые) компиляторы, осуществляющие последовательную незави-симую компиляцию каждого отдельного оператора исходной программы;

– оптимизирующие компиляторы, повышающие эффективность объектных программ;

– отладочные компиляторы, облегчающие пользователю отладку программ.

Интерпретаторы выполняют пооперационную обработку и выполнение программы.

Интерпретатор – программа или устройство, анализирующие команды или операторы исходной программы и немедленно выполняющие их.

Таким образом, интерпретатор одновременно и транслирует, и выполняет заданную программу, делая это покомандно или пооператорно.

Интегрированные среды разработки программ объединяют набор средств для их комплексного применения на технологических этапах создания программы.

Отладчики – специальные программы, предназначенные для трассировки и анализа выполнения других программ. Трассировка – это обеспечение выполнения программы в пооператорном варианте.

Отладчик выполняет задачи, связанные с мониторингом загрузочного модуля. Загрузочный модуль – программный модуль в виде, пригодном для загрузки и выполнения.

Отладка включает в себя:

– последовательное пошаговое выполнение результирующей программы на основе шагов по машинным командам или по операторам входного языка;

– просмотр содержимого областей памяти, занятых командами или данными результирующей программы.

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

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

Библиотека программ – программный продукт, содержащий собрание процедур, функций, макросов, предназначенных для использования при разработке программ в определенной среде программирования. Библиотека программ может содержать процедуры и функции, обеспечи-вающие выполнение определенных операций, например, работу с графической информацией, управление данными, математические расчеты. Достаточно с помощью специального оператора подключить библиотеку программ к разрабатываемой программе, чтобы содержащиеся в ней процедуры или макросы можно было включать в состав программы пользователя. Библиотека программ – специальным образом организованный файл или набор файлов, содержащих, как правило, объектные модули, которые могут быть извлечены для присоединения к разрабатываемой программе на этапе компоновки. Библиотека программ выпускаются фирмами-разработчиками программного обеспечения. Ее дистрибутив сопровождается печатным руководством, позволяющим освоить работу с библиотекой. Библиотека программ существенно облегчает программирование и поэтому является важной частью программного обеспечения вычислительной системы. Примером библиотеки программ может служить библиотека классов MFC системы программирования Microsoft Visual C++. Она содержит около 200 классов, каждый из которых включает от единиц до нескольких десятков элементов данных и методов работы с этими данными. Библиотека существенно упрощает разработку пользовательского интерфейса за счет поддержки разнообразных элементов управления, окон, разветвленной системы меню, редакторов данных, манипулятора мышь, контекстных справочных систем. Библиотека позволяет управлять процедурами обработки прерываний, разрабатывать резидентные программы при минимальных усилиях, поддерживать виртуальную память для хранения данных.

Редактор связей – программа, выполняющая компоновку. В результате работы компоновщика из объектных модулей с привлечением библиотечных программ и стандартных подпрограмм формируется загрузочный модуль. Существуют программы, сразу выполня-ющие и компоновку, и загрузку.

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

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

Функции компонующего загрузчика:

– распределяет пространство оперативной памяти для программы;

–  связывает вместе части программы, представленные отдельными объектными модулями, вычисляя значения внешних ссылок различных объектных модулей;

– настраивает адреса подготовленной программы, заменяя все относительные адреса, выработанные компилятором, соответствующими адресами фактически распределенной памяти;

– физически размещает подготовленную версию машинного кода программы в памяти и передает управление на первую команду программы.

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

Справочная система – программное средство, предназначенное для предоставления пользователю информации о некотором приложении и о порядке работы с ним в интерактивном режиме, т.е. непосредственно во время работы с приложением. Современная справочная система, как правило, является гипертекстом и допускает несколько различных способов получения информации. Например, справочная система приложений Windows находит нужный раздел по иерархическому оглавлению, по предметному указателю, содержащему ключевые слова, и просто по набору слов, встречающихся в тексте.

Контекстно-зависимая справка – справочная система, которая выдает пользователю справочную информацию с учетом текущего контекста его работы. Например, если выделен некоторый объект, то при нажатии клавиши <F1> выводится список разделов справки, имеющих отношение к работе с объектами данного типа.