К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

2. Основные понятия и определения системного программирования

Системное программирование (или программирование систем) — подраздел программирования, заключающийся в работе над системным программным обеспечением.
Определение «системное» подчеркивает тот факт, что результаты этого вида программирования существенно меняют свойства и возможности вычислительной системы. В то же время бесспорным остаётся тот факт, что в определенной степени этот результат имеет место при применении любых программ, выполняемых в вычислительной системе. Поэтому между программированием «системным» и «несистемным» (прикладным программированием) нет четкой границы.
Вычислительная система имеет иерархическую структуру, которую можно представить в виде набора вложенных слоев, на внешнем из которых находятся прикладные программы, а на самом внутреннем — аппаратура компьютера. Условная степень системности нарастает при программировании, затрагивающем все более внутренние уровни системы.

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

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

Основные понятия Системного программирования определены ГОСТ 19781-90. Обеспечение систем обработки информации программное. Термины и определения. (М.: Изд-во стандартов, 1990). Настоящий стандарт устанавливает термины и определения понятий в области программного обеспечения систем обработки информации.
Основные термины и определения общих понятий, относящихся к системам обработки информации, управлению обработкой данных и представлению данных приведены в таблице 1:
 

       Термин

Определение

Основные понятия

1. Программа
Program

Данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма

2. Программное обеспечение

Совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ

3. Программирование
Programming

Научная и практическая деятельность по созданию программ

Виды программ

4. Системная программа
System program

Программа, предназначенная для поддержания работоспособности системы обработки информации или повышения эффективности ее использования в процессе выполнения прикладных программ

5. Управляющая программа
Control program

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

6. Прикладная программа
Application program

Программа, предназначенная для решения задачи или класса задач в определенной области применения системы обработки информации

8. Программа обслуживания
Utility program

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

9. Драйвер
Утилита / Driver

Программа, предназначенная для управления работой периферийных устройств, обычно в мини- и микроЭВМ

10. Подпрограмма
Subprogram

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

11. Программный модуль
Program module

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

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

12. Система программирования
Programming system

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

13. Язык программирования
Programming language

Язык, предназначенный для представления программ.

Примечание - К традиционным языкам программирования процедурного типа относят, как правило, языки для представления программ в виде последовательности предписания

14. Алгоритмический язык
Algorithmic language

Искусственный язык, предназначенный для выражения алгоритмов

15. Машинный язык
Machine language

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

16. Язык высокого уровня
High-level language

Язык программирования, понятия и структура которого удобны для восприятия человеком

17. Транслятор
Translator

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

18. Конвертор языка
Конвертор / Converter

Транслятор с некоторого языка на другой язык такого же уровня

19. Компилятор
Compiler

Программа или техническое средство, выполняющие компиляцию

20. Библиотека программ
Библиотека / Program library

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

Виды программирования

21. Структурное программирование
Structured programming

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

22. Объектно - ориентированное программирование
Object-oriented programming

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

23. Логическое программирование
Logical programming

Метод построения программ как совокупности логических правил с предварительно определенными алгоритмами для обработки входных данных программы в соответствии с ее правилами

Технология программирования и отладки программ

24. Спецификация программы
Specification

Формализованное представление требований, предъявляемых к программе, которые должны быть удовлетворены при ее разработке, а также описание задачи, условия и эффекта действия без указания способа ее достижения

25. Компиляция
Compilation

Трансляция программы с языка высокого уровня в форму, близкую к программе, на машинном языке

26. Поиск ошибок (в программе)
Отладка / Error detection

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

27. Верификация программы
Верификация / Program verification

Доказательство того, что поведение программы соответствует спецификации на эту программу


Предыдущая        В начало страницы       Следующая
2