ГОСТ 19781-90
Группа Э00
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ОБЕСПЕЧЕНИЕ СИСТЕМ ОБРАБОТКИ ИНФОРМАЦИИ ПРОГРАММНОЕ
Термины и определения
Software of data processing systems. Terms and definitions
МКС 01.040.35
ОКСТУ 4001
Дата введения 1992-01-01
ИНФОРМАЦИОННЫЕ ДАННЫЕ
1. РАЗРАБОТЧИКИ
А.П.Гагарин, канд. техн. наук (руководитель темы); А.В.Багров; Н.А.Сергеева
2. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по управлению качеством продукции и стандартам от 27.08.90 N 2467
3. Стандарт соответствует ИСО 2382-7-77*, ИСО 2382-10-79
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.
4. ВЗАМЕН ГОСТ 19781-83 и ГОСТ 19.004-80
5. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка | Номер пункта |
Вводная часть | |
Вводная часть | |
Вводная часть |
6. ПЕРЕИЗДАНИЕ. Январь 2010 г.
Настоящий стандарт устанавливает термины и определения понятий в области программного обеспечения систем обработки информации.
Термины, установленные настоящим стандартом, обязательны для применения во всех видах документации и литературы, входящих в сферу работ по стандартизации или использующих результаты этих работ.
Настоящий стандарт должен применяться совместно с ГОСТ 15971, ГОСТ 20886, ГОСТ 24402.
1. Стандартизованные термины с определениями приведены в табл.1.
Таблица 1
Термин | Определение |
Основные понятия
| |
1. Программа Program | Данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма |
| |
2. Программное обеспечение | Совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ |
3. Программирование Programming | Научная и практическая деятельность по созданию программ |
Виды программ
| |
4. Системная программа System program | Программа, предназначенная для поддержания работоспособности системы обработки информации или повышения эффективности ее использования в процессе выполнения прикладных программ |
5. Управляющая программа Control program | Системная программа, реализующая набор функций управления, в который включают управление ресурсами и взаимодействие с внешней средой системы обработки информации, восстановление работы системы после проявления неисправностей в технических средствах |
6. Супервизор Supervisor | Часть управляющей программы, координирующая распределение ресурсов системы обработки информации |
7. Прикладная программа Application program | Программа, предназначенная для решения задачи или класса задач в определенной области применения системы обработки информации |
8. Программа обслуживания Utility program | Программа, предназначенная для оказания услуг общего характера пользователям и обслуживающему персоналу системы обработки информации |
9. Абсолютная программа Non-relocatable program | Программа на машинном языке, выполнение которой зависит от ее местоположения в оперативной памяти |
10. Переместимая программа Relocatable program | Программа на машинном языке, выполнение которой не зависит от ее местоположения в оперативной памяти |
11. Реентерабельная программа Reenterable program | Программа, один и тот же экземпляр которой в оперативной памяти способен выполняться многократно, причем так, что каждое выполнение может начинаться в любой момент по отношению к другому выполнению |
12. Мобильная программа Portable program | Программа, которая написана для ЭВМ одной архитектуры, но может исполняться в системах обработки информации с другими архитектурами без доработки или при условии ее доработки, трудоемкость которой незначительна по сравнению с разработкой новой программы |
13. Драйвер Driver | Программа, предназначенная для управления работой периферийных устройств, обычно в мини- и микроЭВМ |
14. Подпрограмма Subprogram | Программа, являющаяся частью другой программы и удовлетворяющая требованиям языка программирования к структуре программы |
15. Программный модуль Program module | Программа или функционально завершенный фрагмент программы, предназначенный для хранения, трансляции, объединения с другими программными модулями и загрузки в оперативную память |
16. Исходный модуль Source module | Программный модуль на исходном языке, обрабатываемый транслятором и представляемый для него как целое, достаточное для проведения трансляции |
17. Объектный модуль Object module | Программный модуль, получаемый в результате компиляции исходного модуля. |
Примечание. Объектный модуль обычно полностью готов к редактированию связей | |
18. Загрузочный модуль Load module | Программный модуль, представленный в форме, пригодной для загрузки в основную память для выполнения |
19. Макроопределение Macrodefinition | Программа, под управлением которой макрогенератор порождает макрорасширения макрокоманд |
20. Рекурсивная подпрограмма Recursive subroutine | Подпрограмма, которая может обращаться к себе самой |
Компоненты систем программирования
| |
21. Система программирования Programming system | Система, образуемая языком программирования, компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения |
22. Кросс-система программирования Cross-programming system | Система программирования, программные компоненты которой порождают программы на машинном языке, отличном от того, в среде которого они работают |
23. Язык программирования Programming language | |
24. Алгоритмический язык Algorithmic language | Искусственный язык, предназначенный для выражения алгоритмов |
25. Проблемно-ориентированный язык | Язык программирования, который соответствует понятиям определенного класса прикладных задач. |
Problem-oriented language | Примечание. Проблемно-ориентированный язык обычно имеет набор специфических изобразительных средств |
26. Исходный язык Source language | Язык программирования, используемый для первичного представления программы |
27. Машинный язык Machine language | Язык программирования, предназначенный для представления программы в форме, позволяющей выполнять ее непосредственно техническими средствами обработки информации. |
Примечание. Для выполнения программы на машинном языке не требуется применение трансляторов, компиляторов и интерпретаторов | |
28. Автокод Autocode | Символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка |
29. Язык ассемблера Assembly language | Язык программирования, который представляет собой символьную форму машинного языка с рядом возможностей, характерных для языков высокого уровня. |
Примечание. Язык ассемблера обычно включает в себя макрокоманды | |
30. Язык высокого уровня High-level language | Язык программирования, понятия и структура которого удобны для восприятия человеком |
31. Макроязык Macrolanguage | Язык программирования, предназначенный для представления макроопределений. |
Примечание. Некоторые средства макроязыка могут использоваться вне макроопределений | |
32. Макрокоманда Macroinstruction | Предложение языка программирования, вместо которого макрогенератор подставляет макрорасширения |
33. Макрорасширение Macroexpansion | Последовательность предложений, порождаемая макрогенератором при обработке макрокоманды на основании макроопределения |
34. Декларативный язык | Язык программирования для выражения определений. |
Declarative language | Примечание. В качестве такого языка часто выступает язык описания данных |
35. Объектно-ориентированный язык Object-oriented language | Язык программирования, который соответствует концепциям объектно-ориентированного программирования |
36. Процедурный язык Procedural language | Язык программирования, в котором действия над данными выражаются в терминах последовательностей команд |
37. Функциональный язык Functional language | Язык программирования, в котором действия над данными выражаются в виде обращений к функциональным процедурам |
38. Транслятор Translator | Программа или техническое средство, выполняющие трансляцию программы. |
Примечание. На транслятор обычно возлагаются функции диагностики ошибок, формирования словарей идентификаторов, выдачи для печати текстов программ и т.д. | |
39. Конвертор языка Конвертор Converter | Транслятор с некоторого языка на другой язык такого же уровня |
40. Компилятор Compiler | Программа или техническое средство, выполняющие компиляцию |
41. Ассемблер Assembler | Программа или техническое средство, выполняющие ассемблирование |
42. Макрогенератор Macrogenerator | Программа или техническое средство, выполняющие преобразования макрокоманд в их макрорасширения |
43. Интерпретатор Interpreter | Программа или техническое средство, выполняющие интерпретацию. |
Примечание. Большинство интерпретаторов осуществляют интерпретацию программы путем последовательной интерпретации ее предложений | |
44. Редактор связей Linkage editor Linker | Программа, предназначенная для создания загрузочных модулей на основании одного или нескольких объектных модулей или загрузочных модулей путем разрешения перекрестных ссылок между модулями и, при необходимости, настройки адресов |
45. Библиотека программ Библиотека | Организованная совокупность программ или частей этих программ, а также, возможно, информации, относящейся к их использованию. |
Program library | Примечание. Библиотека программ часто называется в соответствии с природой содержащихся в ней элементов |
Виды программирования | |
46. Структурное программирование Structured programming | Метод построения программ, использующий только иерархически вложенные конструкции, каждая из которых имеет единственную точку входа и единственную точку выхода. |
Примечание. В структурном программировании используются три вида структур, связанных с передачей управления: последовательная, условного перехода и циклическая | |
47. Объектно-ориентированное программирование Object-oriented programming | Метод построения программ как совокупностей объектов и классов объектов, которые могут вызывать друг друга для выбора и выполнения операций. |
Примечание. Объекты состоят из данных и операций над данными | |
48. Логическое программирование Logical programming | Метод построения программ как совокупности логических правил с предварительно определенными алгоритмами для обработки входных данных программы в соответствии с ее правилами |
Технология программирования и отладки программ | |
49. Спецификация программы Specification | Формализованное представление требований, предъявляемых к программе, которые должны быть удовлетворены при ее разработке, а также описание задачи, условия и эффекта действия без указания способа его достижения |
50. Трансляция программы Трансляция Translation | Преобразование программы, представленной на одном языке программирования, в программу на другом языке и в определенном смысле равносильную первой |
51. Компиляция Compilation | Трансляция программы с языка высокого уровня в форму, близкую к программе, на машинном языке |
52. Ассемблирование Assembly | Компиляция программ с языка ассемблера |
53. Поиск ошибок (в программе) Error detection | Деятельность, в результате которой выявляются ошибки в программе с целью их последующего исправления |
54. Верификация программы Верификация Program verification | Доказательство того, что поведение программы соответствует спецификации на эту программу |
55. Дамп Dump | Данные, представляющие собой полное или частичное содержимое оперативной памяти, выводимое на периферийное устройство |
56. Аварийный дамп Postmortem dump | Дамп, полученный в результате ненормального завершения программы |
57. Тупиковая ситуация Deadlock | Ситуация, в которую попадают две или несколько асинхронных процедур, характеризующаяся невозможностью дальнейшего выполнения из-за взаимных зависимостей |
Адресация в программах | |
58. Функция адресации | Функция, реализуемая определенными компонентами системы обработки информации, сопоставленная с пространством памяти, определенная на множестве адресов в этом пространстве памяти и предназначенная для выделения по адресу единственной подобласти в этом пространстве памяти так, что обеспечивается определенная операция с этой подобластью |
59. Адрес в пространстве памяти Адрес Storage address Address | Элемент множества порций данных, являющегося областью определения функции адресации |
60. Пространство памяти Storage space | Область памяти, некоторая совокупность подобластей которой является областью значений функций адресации |
61. Указатель области памяти Указатель Pointer | Адрес области памяти, размещенный в пространстве памяти, в котором расположена эта область |
62. Адрес команды Instruction address | Адрес области памяти, которая занята командой |
63. Исполнительный адрес Effective address | Адрес операнда команды, содержащийся в ней или вычисляемый на основании содержимого ее полей. |
Примечание. Если операнд не является непосредственным, то его адрес определяется адресной частью команды или находится в фиксированной области памяти, или определяется через нее посредством цепочки указателей | |
64. Базовый адрес Base address | Аддитивная часть исполнительного адреса, постоянная для определенной совокупности адресуемых данных. |
Примечание. Базовый адрес можно рассматривать как адрес области, содержащей порции данных, адресуемые с помощью этой базы | |
65. Индекс адреса Индекс Index | Аддитивная часть адреса, предназначенная для модификации исполнительного адреса на отдельно вычисляемое значение в целях обращения к порциям данных, размещенным в памяти по определенному закону |
66. Базовая адресация Base-displacement addressing Based addressing | Способ вычисления исполнительного адреса, при котором он вычисляется как сумма базового адреса и смещения |
67. Индексирование адреса Indexing | Способ вычисления исполнительного адреса, при котором учитывают индекс адреса. |
Примечание. Индексирование может сочетаться с базовой адресацией | |
68. Базовый регистр Base register | Регистр, содержащий базовый адрес |
69. Индексный регистр Index register | Регистр, содержащий индекс адреса |
Элементы и структуры организации программ и данных
| |
70. Цикл (в программе) Loop | Последовательность команд в программе, которая должна исполняться неоднократно в результате перехода от начала последовательности к концу |
71. Флажок (в программе) Flag | Переменная, регистрирующая появление определенного события или состояния |
72. Переключатель (в программе) Switch | Управляемый флажком выбор одного перехода из группы возможных переходов в программе |
73. Семафор Semaphore | Переменная, используемая для обеспечения взаимного исключения |
74. Общая переменная Shared variable | Переменная, доступная двум или большему количеству асинхронных процедур или одновременно исполняемых программ |
75. Порция данных Data aggregate | Данные, представленные как целое в конкретном контексте их описания или обработки и неразрывно связанные со своим носителем. |
Примечание. Контексты существенно зависят от решаемых задач и этапов их решения и могут изменяться от задачи к задаче и от одного этапа к другому | |
76. Литерная цепочка Цепочка String | Порция данных, состоящая из последовательности литер |
77. Идентификатор Identifier | Литерная цепочка, выступающая в определенном контексте в роли символа. |
Примечание. В обработке данных рассматривают идентификаторы порций данных, областей памяти, пространств памяти, томов и др., при этом они могут выражать определенные свойства этих объектов | |
78. Составной идентификатор Qualified identifier | Идентификатор объекта, включающий в себя идентификаторы классов, которые вложены друг в друга и содержат этот объект |
79. Область памяти Storage area | Память, выделенная для размещения одной или нескольких порций данных |
80. Подобласть памяти Storage subarea | Область памяти, рассматриваемая как составная часть другой области памяти |
81. Буфер Buffer | Рабочая область памяти при пересылке данных. |
82. Поле данных Data field | Неразрывная область памяти, имеющая определенное назначение и обычно снабженная именем или идентификатором |
83. Экстент памяти Extent | Неразрывная область в пространстве внешней памяти данных, используемая при его распределении. |
Примечание. В ОС ЕС ЭВМ под набор данных на устройствах прямого доступа пространство памяти отводится экстентами | |
Процессы обработки данных | |
84. Процесс обработки данных Процесс Computational process | Система действий, реализующая определенную функцию в системе обработки информации и оформленная так, что управляющая программа данной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования. |
Process | Примечания: |
1. Процесс характеризуется состояниями, которые определяются наличием тех или иных ресурсов в распоряжении процесса и, следовательно, возможностью фактически выполнять действия, относящиеся к процессу. | |
2. Перераспределение ресурсов, выполняемое управляющей программой, влияет на продолжительность процесса обработки данных, но не на его конечный результат. | |
3. Процесс оформляют с помощью специальных структур управляющих данных, которыми манипулирует управляющий механизм. | |
4. В конкретных системах обработки информации встречаются разновидности процессов, которые различаются способом оформления и составом ресурсов, назначаемых процессу и отнимаемых от него, и допускается вводить специальные названия для таких разновидностей, например задача в операционной системе ОС ЕС ЭВМ | |
85. Параллельные процессы Parallel processes | Процессы обработки данных, у которых интервалы времени выполнения перекрываются за счет использования различных ресурсов одной и той же системы |
86. Конкурирующие процессы | Процессы обработки данных, выполняющиеся в течение определенного интервала времени с использованием одного и того же набора ресурсов путем их перераспределения |
87. Системный процесс System task System process | Процесс обработки данных, в виде которого функционируют определенные компоненты управляющей программы |
88. Процесс системного ввода System reader (task) | Системный процесс, предназначенный для автоматического ввода в систему обработки информации пакета заданий через назначенное этому процессу устройство ввода-вывода. |
Примечание. Процесс системного ввода в некоторых системах обработки информации интерпретирует предложения языка управления заданиями | |
89. Процесс системного вывода System writer (task) | Системный процесс, предназначенный для автоматического вывода определенной части результатов выполнения заданий наряду с сообщениями управляющей программы через назначенное этому процессу устройство ввода-вывода |
90. Приоритет процесса Приоритет Priority | Преимущественное право процесса обработки данных перед другими процессами на использование ресурсов, выражаемое числом, присвоенным этому процессу |
91. Мультипрограммная смесь Multiprogram mix | Совокупность процессов, выполнением которых управляет одна и та же управляющая программа |
92. Мультипроцессирование Multiprocessing | Управление многопроцессорной системой, при котором процессоры как ресурсы участвуют в выполнении одной и той же мультипрограммной смеси |
93. Ресурс системы обработки информации Resource | Средство системы обработки информации, которое может быть выделено процессу обработки данных на определенный интервал времени. |
Примечание. Основными ресурсами являются процессоры, области основной памяти, наборы данных, периферийные устройства, программы | |
94. Разделяемый ресурс Shared resource | Ресурс системы обработки информации, используемый несколькими процессами одновременно |
95. Задание системе обработки информации Задание Job | Единица работы, которая возлагается на систему обработки информации пользователем и оформляется для ввода в систему независимо от других таких единиц |
96. Пакетное задание Batched job | Задание системе обработки информации, выполняемое в режиме пакетной обработки |
97. Пакет заданий Job batch | Последовательность предложений языка управления заданиями, представляющая последовательность заданий системе обработки информации и вводимая вместе с данными самих заданий одним процессом системного ввода |
98. Пункт задания Job step | Один из процессов, которые в строгой последовательности порождаются и завершаются управляющей программой и в совокупности составляют выполнение некоторого задания |
99. Язык управления заданиями Job control language | Язык, предназначенный для идентификации заданий и описания их характеристик при передаче задания на выполнение в систему обработки информации. |
Примечание. Система обработки информации обычно имеет свой язык управления заданиями | |
100. Удаленный ввод заданий Remote job entry | Ввод заданий вычислительной системе средствами телеобработки данных |
101. Диалоговый удаленный ввод заданий Conversational remote job entry | Удаленный ввод заданий, при котором ввод осуществляется в диалоговом режиме |
102. Сеанс работы Session | Интервал времени, в течение которого пользователю выделены ресурсы системы обработки информации для выполнения его работ и связи с ним в интерактивном режиме |
103. Сообщение системы System message | Сообщение любой из системных программ, входящих в операционную систему |
104. Команда оператора Operator command | Обращение оператора системы обработки информации к управляющей программе, переданное посредством консоли, для оказания воздействия на ход обработки данных |