Системное и прикладное по эвм
Совокупность используемых в компьютере программ называют программным обеспечением, которое принято разделять на 3 класса:
системное
прикладное
инструментарий программирования (системы программирования)
Операционная система — это набор программ,управляющих оперативной памятью, процессором, внешними устройствами и файлами, а также ведущих диалог с пользователем.
Важной частью ОС является ПО предназначенного для создания и исследования определенного вида компьютерного объекта. Среди категорий прикладного ПО выделяют:
Текстовые процессоры
Табличные процессоры
Графические пакеты
интегрированные пакеты
БД
обучающие и т.д.
Системой программирования называют комплекс программ предназначенных для автоматизации программирования на ЭВМ.
В систему программирования входят:
транслятор
описание входного канала
перечень ошибок и инструкции по их исправлению
иногда библиотека стандартных программ
Классификацию системного программирования проводят по уровню входного языка:
машинно-зависимые (машинные), системы символического кодирования (ассемблер), системы макрокодирования
машинно-независимые (процедурно-ориентированные языки, проблемно-ориентированные языки).
Особенности машинно-зависимых языков:
высокое качество создаваемых программ (компактность и скорость выполнения)
возможность использования конкретных аппаратных ресурсов.
Предсказуемость объектного кода и заказа памяти
для составления эффективной программы необходимо знать систему команд и особенности функционирования данной ЭВМ
трудоемкость процесса составления программ.
Низкая скорость программирования
низкая переносимость
Машинно-независимые языки получили название высокоуровневых языков программирования, которые являются средством описания алгоритмов, решения задачи информации подлежащей обработке.
Проблемно-ориентированные языки ориентированы на определенную область решаемых задач и позволяют в удобной форме формулировать задачу и получать результат. Среди категорий проблемно-ориентированных языков можно выделить :
языки созданные для решения математических задач
языки созданные для моделирования
языки для работы списочными структурами
Классификация трансляторов
Транслятор — это программа, которая преобразовывает программу на языке программирования на машинный язык. Трансляторы классифицируют по уровню входного языка. Если на входе транслятора используется язык символьного кодирования, то транслятор называют ассемблером. Если в качестве входного языка используется автокод, то транслятор называется макроассемблером (языки включающие в себя все возможности языков символического кодирования посредством расширенного введения макрокоманд называются автокодами).
Если на входе транслятора процедурно-ориентированный язык, то он называется компилятором, а если проблемно-ориентированный язык, то — генератором.
Если сначала полностью транслируется,а потом выполняется, то работает транслятор компилирующего типа, если же процессы трансляции и выполнения совмещены по времени, то такой транслятор называют интерпретатором.
К достоинству интерпретаторов следует отнести:
незамедлительное выполнение текущей команды
возможность просмотра значений переменных при выполнении текущей команды.
К недостаткам следует отнести:
необходимость хранения в памяти копии генератора
низкое быстродействие, особенно при работе с циклами
отбивание охоты к хорошему стилю программирования
Получив на вход программу на языке программирования компилятор оценивает её в соответствии с синтаксическими конструкциями языка и строит программу на машинном языке. При работе с компилируемым языком необходимо рассмотреть 2 основные фазы жизненного цикла программы:
период компилирования
период прогона
Существует следующие виды трансляторов:
однопроходный транслятор:формирует объектный модуль за за 1 последовательный проход исходной программы
многопроходный транслятор
имитирующий — выполняет оптимизацию кода в создаваемом объектном модуле
адресный - функциональное устройство преобразующее виртуальный адрес в реальный
диалоговый — обеспечивает использование языка программирования в режиме разделения времени
синтаксически-ориентированный — получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием
текстовый — набор макрокоманд языка ассемблера, позволяющих задавать различные отладочные процедуры в программах составленных на языке ассемблера
обратный транслятор (то же, что и детранслятор).