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

11. Понятие о системе программирования.

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

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

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

11.1. Компоненты системы программирования.

  • Языки системы программирования. Сюда относятся как языки программирования, предназна­ченные для записи алгоритмов (Паскаль, Фортран, С, Ассемблер и т.д.), так и другие языки, которые служат для управления самой системой программирования (например, так называемый язык командных файлов), или предназначены для автоматизации разработки больших программ (например, язык спецификации программ).

  • Служебные программы системы программирования. Со многими из этих программ мы уже познакомились в нашем курсе, например, сюда входят такие программы.

  • Текстовые редакторы, предназначенные для набора и исправления текстов программ на языках программирования.

  • Трансляторы (компиляторы) с одного языка на другой (например, программа Ассемблера транслирует с языка Ассемблер на язык объектных модулей).

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

  • Загрузчики.

  • Отладчики, помогающие пользователям искать и исправлять ошибки в программах в диалоговом режиме.

  • Оптимизаторы, позволяющие автоматически улучшать программу, написанную на определённом языке.

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

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

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

  • Информационное обеспечение системы программирования. Сюда относятся различные структурированные описания языков, служебных программ, библиотек модулей и т.п. Без хорошего информационного обеспечения современные системы программирования работать не могут. Каждый пользователь неоднократно работал с этой компонентой системы программирования, нажимая функциональную клавишу F1 или выбирая из меню пункт Help (Помощь).

На рис. 11.1 показана общая схема прохождения программы пользователя через систему программирования. Программные модули пользователя на этом рисунке заключены в прямоугольники, а системные программы – в прямоугольники с закруглёнными углами.

На этом мы закончим описание состава системы программирования и перейдём к описанию характеристик исполняемых модулей.