Принципы функционирования систем программирования
Исходный модуль — программный модуль на исходном языке, обрабатываемый транслятором и представляемый для него как целое, достаточное для проведения трансляции.
Первым (не для всех языков программирования обязательным) этапом подготовки программы является обработка ее Макропроцессором (или Препроцессором). Макропроцессор обрабатывает текст программы и на выходе его получается новая редакция текста. В большинстве систем программирования Макропроцессор совмещен с транслятором, и для программиста его работа и промежуточный ИМ «не видны».
Следует иметь в виду, что Макропроцессор выполняет обработку текста, это означает, с одной стороны, что он «не понимает» операторов языка программирования и «не знает» переменных программы, с другой, что все операторы и переменные Макроязыка (тех выражений в программе, которые адресованы Макропроцессору) в промежуточном ИМ уже отсутствуют и для дальнейших этапов обработки «не видны».
Так, если Макропроцессор заменил в программе некоторый текст A на текст B, то транслятор уже видит только текст B, и не знает, был этот текст написан программистом «своей рукой» или подставлен Макропроцессором.
Следующим этапом является трансляция.
Трансляция — преобразование программы, представленной на одном языке программирования, в программу на другом языке программирования, в определенном смысле равносильную первой.
Как правило, выходным языком транслятора является машинный язык целевой вычислительной системы. (Целевая ВС — та ВС, на которой программа будет выполняться.)
Машинный язык — язык программирования, предназначенный для представления программы в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации.
Трансляторы — общее название для программ, осуществляющих трансляцию. Они подразделяются на Ассемблеры и Компиляторы — в зависимости от исходного языка программы, которую они обрабатывают. Ассемблеры работают с Автокодами или языками Ассемблера, Компиляторы — с языками высокого уровня.
Автокод — символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.
Язык Ассемблера — язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языка высокого уровня (обычно включает в себя макросредства).
Язык высокого уровня — язык программирования, понятия и структура которого удобны для восприятия человеком.
Объектный модуль — программный модуль, получаемый в результате трансляции исходного модуля.
Загрузочный модуль — программный модуль, представленный в форме, пригодной для загрузки в оперативную память для выполнения.
Загрузочный модуль сохраняется в виде файла на внешней памяти. Для выполнения программа должна быть перенесена (загружена) в оперативную память. Иногда при этом требуется некоторая дополнительная обработка (например, настройка адресов в программе на ту область оперативной памяти, в которую программа загрузилась). Эта функция выполняется Загрузчиком, который обычно входит в состав операционной системы. Возможен также вариант, в котором редактирование связей выполняется при каждом запуске программы на выполнение и совмещается с загрузкой. Это делает Связывающий Загрузчик. Вариант связывания при запуске более расходный, т.к. затраты на связывание тиражируются при каждом запуске. Но он обеспечивает:
§ большую гибкость в сопровождении, так как позволяет менять отдельные объектные модули программы, не меняя остальных модулей;
§ экономию внешней памяти, т.к. объектные модули, используемые во многих программах не копируются в каждый загрузочный модуль, а хранятся в одном экземпляре.
Вариант интерпретации подразумевает прямое исполнение исходного модуля.
Интерпретация — реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.
Интерпретатор читает из исходного модуля очередное предложение программы, переводит его в машинный язык и выполняет. Все затраты на подготовку тиражируются при каждом выполнении, следовательно, интерпретируемая программа принципиально менее эффективна, чем транслируемая. Однако, интерпретация обеспечивает удобство разработки, гибкость в сопровождении и переносимость.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
ГОСТ 19781-90 Термины и определения.
УД К 001.4:681.3.06:006.354
Группа ЭОО
Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т С О Ю З А С С Р
Единая система программной документации
ГОСТ 19781—90
ОБЕСПЕЧЕНИЕ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ ПРОГРАММНОЕ
Software of data processing systems.
Terms and definitions.
General principles
Дата введения: с 01.01.92
Настоящий стандарт устанавливает термины и определения понятий в области программного обеспечения систем обработки информации.
Термины, установленные настоящим стандартом, обязательны для применения во всех видах документации и литературы, входящих в сферу работ по стандартизации или использующих результаты этих работ.
Настоящий стандарт должен применяться совместно с ГОСТ 15971, ГОСТ 20886, ГОСТ 24402.
1. Стандартизованные термины с определениями приведены в табл. 3.
2. Для каждого понятия установлен один стандартизованный термин. Применение терминов-синонимов стандартизованного термина не допускается. Недопустимые к применению термины-синонимы приведены в табл. 1 в качестве справочных и обозначены пометой «Ндп».
2.1. Для отдельных стандартизованных терминов в табл. 1 приведены в качестве справочных краткие формы, которые разрешается применять в случаях, исключающих возможность их различного толкования.
2.2. Приведенные определения можно, при необходимости, изменять, вводя в них производные признаки, раскрывая значения используемых в них терминов, указывая объекты, входящие в объем определяемого понятия. Изменения не должны нарушать объем и содержание понятий, определенных в данном стандарте.
2.3. В табл. 1 в качестве справочных приведены иноязычные эквиваленты для ряда стандартизованных терминов на английском языке.
3. Алфавитные указатели содержащихся в стандарте терминов на русском и английском языках приведены в табл. 2—3.
4. Термины и определения общих понятий, относящихся к системам обработки информации, управлению обработкой данных и представлению данных, необходимые для понимания текста стандарта, приведены в приложении 11.
5. Стандартизованные термины набраны полужирным шрифтом, их краткая форма — светлым.
Основные понятия
Данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма
2. Программное обеспечение
Совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ
Научная и практическая деятельность по созданию программ
Виды программ
4. Системная программа
Программа, предназначенная для поддержания работоспособности системы обработки информации или повышения эффективности ее использования в процессе выполнения прикладных программ
5. Управляющая программа
Системная программа, реализующая набор функций управления, в который включают управление ресурсами и взаимодействием с внешней средой системы обработки информации, восстановление работы системы после проявления неисправностей в технических средствах
Часть управляющей программы, координирующая распределение ресурсов системы обработки информации
7. Прикладная программа
Программа, предназначенная для оказания услуг общего характера пользователям и обслуживающему персоналу системы обработки информации
8. Программа обслуживания
Программа, предназначенная для решения задачи или класса задач в определенной области применения системы обработки информации
9. Абсолютная программа
Программа на машинном языке, выполнение которой зависит от ее местоположения в оперативной памяти
10. Переместимая программа
Программа на машинном языке, выполнение которой не зависит от ее местоположения в оперативной памяти
11. Реентерабельная программа
Программа, один и тот же экземпляр которой в оперативной памяти способен выполняться многократно, причем так, что каждое выполнение может начинаться в любой момент по отношению к другому выполнению
12. Мобильная программа
Программа, которая написана для ЭВМ одной архитектуры, но может исполняться в системах обработки информации с другими архитектурами без доработки или при условии ее доработки, трудоемкость которой незначительна по сравнению с разработкой новой программы
Программа, предназначенная для управления работой периферийных устройств, обычно в мини- и микро-ЭВМ
Программа, являющаяся частью другой программы и удовлетворяющая требованиям языка программирования к структуре программы
15. Программный модуль
Программа или функционально завершенный фрагмент программы, предназначенный для хранения, трансляции, объединения с другими программными модулями и загрузки в оперативную память
16. Исходный модуль
Программный модуль на исходном языке, обрабатываемый транслятором и представляемый для него как целое, достаточное для проведения трансляции
17. Объектный модуль
Программный модуль, получаемый в результате компиляции исходного модуля.
Примечание. Объектный модуль обычно полностью готов к редактированию связей
18. Загрузочный модуль
Программный модуль, представленный в форме, пригодной для загрузки в основную память для выполнения
Программа, под управлением которой макрогенератор порождает макрорасширения макрокоманд
20. Рекурсивная подпрограмма
Подпрограмма, которая может обращаться к себе самой
Компоненты систем программирования
21. Система программирования
Система, образуемая языком программирования компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения
22. Кросс-система программирования
Система программирования, программные компоненты которой порождают программы на машинном языке, отличном от того, в среде которого они работают
23. Язык программирования
24. Алгоритмический язык
Искусственный язык, предназначенный для выражения алгоритмов
25. Проблемно-ориентированный язык
Язык программирования, который соответствует понятиям определенного класса прикладных задач.
Примечание. Проблемно-ориентированный язык обычно имеет набор специфических изобразительных средств
Язык программирования, используемый для первичного представления программы
Язык программирования, предназначенный для представления программ в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации.
Примечание. Для выполнения программы на машинном языке не требуется применение трансляторов, компиляторов и интерпретаторов
Символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка
29. Язык ассемблера
Язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языков высокого уровня.
Примечание. Язык ассемблера который включает в себя макрокоманды Язык программирования,, понятия и структура которого удобны для восприятия человеком
30. Язык высокого уровня
Язык программирования, понятия и структура которого удобны для восприятия человеком
Язык программирования, предназначенный для представления макроопределений.
Примечание. Некоторые средства макроязыка могут использоваться вне макроопределений
Предложение языка программирования, вместе которого макрогенератор подставляет макрорасширения
Последовательность предложений, порождаемая макрогенератором при обработке макрокоманды на основании макроопределения
34. Декларативный язык
Язык программирования для выражения определений.
Примечание. В качестве такого языка часто выступает язык описания данных
35. Объектно-ориентированный язык
Язык программирования, который соответствует концепциям объектно-ориентированного программирования
36. Процедурный язык
Язык программирования, в котором действия над данными выражаются в терминах последовательностей команд
37. Функциональный язык
Язык программирования, в котором действия над данными выражаются в виде обращений к функциональным процедурам
Программа или техническое средство, выполняющие трансляцию программы.
Примечание. На транслятор обычно возлагаются функции диагностики ошибок, формирования словарей идентификаторов, выдачи для печати текстов программ и т. д.
39. Конвертор языка
Конвертор
Транслятор с некоторого языка на другой язык такого же уровня
Программа или техническое средство, выполняющие компиляцию
Программа или техническое средство, выполняющие ассемблирование
Программа или техническое средство, выполняющие преобразования макрокоманд в их макрорасширения
Программа или техническое средство, выполняющие интерпретацию.
Примечание. Большинство интерпретаторов осуществляют интерпретацию программы путем последовательной интерпретации ее предложений
44. Редактор связей
Программа, предназначенная для создания загрузочных модулей на основании одного ил» нескольких объектных модулей или загрузочных модулей путем разрешения перекрестных ссылок между модулями и, при необходимости, настройки адресов
45. Библиотека программ
Организованная совокупность программ или частей этих программ, а также, возможно, информации, относящейся к их использованию.
Примечание. Библиотека программ часто называется в соответствии с природой содержащихся в ней элементов.
Виды программирования
46. Структурное программирование
Метод построения программ, использующий только иерархически вложенные конструкции каждая из которых имеет единственную точка входа и единственную точку выхода.
Примечание. В структурном программировании используются три вида структур, связанных с передачей управления: последовательная, условного перехода и циклическая Метод построения программ как совокупностей объектов и классов объектов, которые могут вызывать друг друга для выбора и выполнения операций.
47. Объектно-ориентированное программирование
Примечание. Объекты состоят из данных и операций над данными
48. Логическое программирование
Метод построения программ как совокупности логических правил с предварительно определенными алгоритмами для обработки входных данных программы в соответствии с ее правилами
Технология программирования и отладки программ
49. Спецификация программы
Формализованное представление требований, предъявляемых к программе, которые должны быть удовлетворены при ее разработке, а также описание задачи, условия и эффекта действия без указания способа его достижения
50. Трансляция программы
Трансляция
Преобразование программы, представленной на одном языке программирования, в программу на другом языке и в определенном смысле равносильную первой
Трансляция программы с языка высокого уровня в форму, близкую к программе на машинном языке
Компиляция программ с языка ассемблера
53. Поиск ошибок (в программе)
Деятельность, в результате которой выявляются ошибки в программе с целью их последующего исправления
Доказательство того, что поведение программы соответствует спецификации на эту программу
Данные, представляющие собой полное или частичное содержимое оперативной памяти, выводимое на периферийное устройство
Дамп, полученный в результате ненормального завершения программы
57. Тупиковая ситуация
Ситуация, в которую попадают две или несколько асинхронных процедур, характеризующаяся невозможностью дальнейшего выполнения из-за взаимных
Адресация в программах
58. Функция адресации
Функция, реализуемая определенными компонентами системы обработки информации, сопоставленная с пространством памяти, определенная на множестве адресов в этом пространстве памяти и предназначенная для выделения по адресу единственной подобласти в этом пространстве памяти так, что обеспечивается определенная операция с этой подобластью
59. Адрес в пространстве памяти
Элемент множества порций данных, являющегося областью определения функции адресации
60. Пространство памяти
Область памяти, некоторая совокупность подобластей которой является областью значений функции адресации
61. Указатель области памяти
Адрес области памяти, размещенный в пространстве памяти, в котором расположена эта область
Адрес области памяти, которая занята командой
63. Исполнительный адрес
Адрес операнда команды, содержащийся в ней или вычисляемый на основании содержимого ее полей.
Примечание. Если операнд не является непосредственным, то его адрес определяется адресной частью команды или находится в фиксированной области памяти, или определяется через нее посредством цепочки указателей
Аддитивная часть исполнительного адреса, постоянная для определенной совокупности адресуемых данных.
Примечание. Базовый адрес можно рассматривать как адрес области, содержащей порции данных, адресуемые с помощью этой базы
Аддитивная часть адреса, предназначенная для модификации исполнительного адреса на отдельно вычисляемое значение в целях обращения к порциям данных, размещенным в памяти по определенному закону
66. Базовая адресация
Способ вычисления исполнительного адреса, при котором он вычисляется как сумма базового адреса и смещения
67. Индексирование адреса
Способ вычисления исполнительного адреса, при котором учитывают индекс адреса.
Примечание. Индексирование может сочетаться с базовой адресацией.
68. Базовый регистр
Регистр, содержащий базовый адрес
69. Индексный регистр
Регистр, содержащий индекс адреса
Элементы и структуры организации программ и данных
7.0. Цикл (в программе)
Последовательность команд в программе, которая должна исполняться неоднократно в результате перехода от начала последовательности к концу
71. Флажок (в программе)
Переменная, регистрирующая появление определенного события или состояния
72. Переключатель (в программе)
Управляемый флажком выбор одного перехода из группы возможных переходов в программе
Переменная, используемая для обеспечения взаимного исключения
74. Общая переменная
Переменная, доступная двум или большему количеству асинхронных процедур или одновременно исполняемых программ
Данные, представленные как целое в конкретном контексте их описания или обработки и неразрывно связанные со своим носителем.
Примечание. Контексты существенно зависят от решаемых задач и этапов их решения и могут изменяться от задачи к задаче и от одного этапа к другому
76. Литерная цепочка
Порция данных, состоящая из последовательности литер
Литерная цепочка, выступающая в определенном контексте в роли символа.
Примечание. В обработке данных рассматривают идентификаторы порций данных, областей памяти, пространств памяти, томов и др., при этом они могут выражать определенные свойства этих объектов
78. Составной идентификатор
Идентификатор объекта, включающий идентификаторы классов, которые вложены друг в друга и содержат этот объект
Память, выделенная для размещения одной или нескольких порций данных
80. Подобласть памяти
Область памяти, рассматриваемая как составная часть другой области памяти
Рабочая область памяти при пересылке данных.
Примечание. При операции ввода данные заносят в буферную область
Неразрывная область памяти, имеющая определенное назначение и обычно снабженная именем или идентификатором
Неразрывная область в пространстве внешней памяти данных, используемая при его распределении.
Примечание. В ОС ЕС ЭВМ под набор данных на устройствах прямого доступа пространство памяти отводится экстентами
Процессы обработки данных
84. Процесс обработки данных
Система действий, реализующая определенную функцию в системе обработки информации и оформленная так, что управляющая программа данной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования.
Примечания:
1. Процесс характеризуется состояниями, которые определяются наличием тех или иных ресурсов в распоряжении процесса и, следовательно, возможностью фактически выполнять действия, относящиеся к процессу.
2. Перераспределение ресурсов, выполняемое управляющей программой, влияет на продолжительность процесса обработки данных, но не на его конечный результат.
3. Процесс оформляют с помощью специальных структур управляющих данных, которыми манипулирует управляющий механизм.
4. В конкретных системах обработки информации встречаются разновидности процессов, которые различаются способом оформления и составом ресурсов, назначаемых процессу и отнимаемых от него, и допускается вводить специальные названия для таких разновидностей, например, задача в операционной системе ОС ЕС ЭВМ
85. Параллельные процессы
Процессы обработки данных, у которых интервалы времени выполнения перекрываются за счет использования различных ресурсов одной и той же системы
86. Конкурирующие процессы
Процессы обработки данных, выполняющиеся в течение определенного интервала времени с использованием одного и того же набора ресурсов путем их перераспределения
87. Системный процесс
Процесс обработки данных, в виде которого функционируют определенные компоненты управляющей программы
88. Процесс системного ввода
Системный процесс, предназначенный для автоматического ввода в систему обработки информации пакета заданий через назначенное этому процессу устройство ввода-вывода
Примечание. Процесс системного ввода в некоторых системах обработки информации интерпретирует предложения языка управления заданиями
Системный процесс, предназначенный для автоматического вывода определенной части результатов выполнения заданий наряду с сообщениями управляющей программы через назначенное этому процессу устройство ввода-вывода
90. Приоритет процесса
Преимущественное право процесса обработки данных перед другими процессами на использование ресурсов, выражаемое числом, присвоенным этому процессу
91. Мультипрограммная смесь
Совокупность процессов, выполнением которых управляет одна и та же управляющая программа
Управление многопроцессорной системой, при котором процессоры как ресурсы участвуют в выполнении одной и той же мультипрограммной смеси
Управление многопроцессорной системой, при котором процессоры как ресурсы участвуют в выполнении одной и той же мультипрограммной смеси
93. Ресурс системы обработки информации
Средство системы обработки информации, которое может быть выделено процессу обработки данных на определенный интервал времени.
Примечание. Основными ресурсами являются процессоры, области основной памяти, наборы данных, периферийные устройства, программы
94. Разделяемый ресурс
Ресурс системы обработки информации, используемый несколькими процессами одновременно
95. Задание системе работки информации
Единица работы, которая возлагается на систему обработки информации пользователем и оформлена для ввода в систему независимо от других таких единиц
96. Пакетное задание
Задание системе обработки информации, выполняемое в режиме пакетной обработки
Последовательность предложений языка управления заданиями, представляющая последовательность заданий системе обработки информации и вводимая вместе с данными самих заданий одним процессом системного ввода
Один из процессов, которые в строгой последовательности порождаются и завершаются управляющей программой и в совокупности составляют выполнение некоторого задания
99. Язык управления заданиями
Язык, предназначенный для идентификации заданий и описания их характеристик при передаче задания на выполнение в систему обработки информации.
Примечание. Система обработки информации обычно имеет свой язык управления заданиями
100. Удаленный ввод заданий
Ввод заданий вычислительной системе средствами телеобработки данных
101. Диалоговый удаленный ввод заданий
Удаленный ввод заданий, при котором ввод
осуществляется в диалоговом режиме
Интервал времени, в течение которого пользователю выделены ресурсы системы обработки информации для выполнения его работ и связи с ним в интерактивном режиме
103. Сообщение системы
Сообщение любой из системных программ, входящих в операционную систему
104. Команда оператора
Обращение оператора системы обработки информации к управляющей программе, переданное посредством консоли, для оказания воздействия на ход обработки данных
Алфавитный указатель терминов на русском языке
Таблица 2