Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Система программирования состоит из

Система программирования состоит из

по дисциплине «Организация и функционирование компьютерных систем»

СИСТЕМЫ ПРОГРАММИРОВАНИЯ: ОСНОВНЫЕ ПОНЯТИЯ

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

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

    Например, одна из популярных систем программирования на языке С/С++ от фирмы Watcom для OS/2 позволяет получать программы и для самой OS/2, и для DOS, и для Windows.

Система программирования включает следующие программные компоненты:

  • редактор текста;
  • транслятор с соответствующего языка;
  • компоновщик (редактор связей);
  • отладчик;
  • библиотеки подпрограмм.

Редактор текста — это программа для ввода и модификации текста.

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

Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля

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

Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.

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

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

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

Список использованных источников

  1. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. — СПб.: Питер, 2001. — с. 17-21
  2. Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ: — К.: Издательская группа BHV, 2000. — с. 5-25

Назначение систем программирования

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

Система программирования — это комплекс программных средств, предназначенных для автоматизации процесса подготовки и выполнения программ пользователя.

Назначение и состав систем программирования

Рассмотрим основные составляющие системы программирования:

  • Редактор текста
  • Язык программирования
  • Библиотека подпрограмм
  • Редактор связей (компоновщик)
  • Транслятор
  • Отладчик

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

Редактор исходного кода

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

Компиляция и интерпретация

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

Такое преобразование осуществляется с помощью транслятора программ.

Различают два типа трансляторов: компиляторы и интерпретаторы.

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

В процессе компиляции осуществляется преобразование всего текста программного кода в двоичный код. Полученную после компиляции программу называют объектным модулем. Такая программа еще не готова к выполнению.

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

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

Компоновка

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

Исходный код программы -> компилятор -> объектный модуль -> библиотека подпрограмм -> редактор связей -> выполняемая программа

Для дальнейшего выполнения программного кода, компилятор не нужен. Итак, после компиляции программа представлена ​​двоичными символами 1 и 0 и готова к исполнению на компьютере.

Отладка и тестирование

Полученная программа, даже если она выполняется, не гарантирует, что нет логических ошибок. Она может выполняться, но результат исполнения может быть неправильным. Поэтому нужно провести тестирование (испытания) программы на предмет выявления и устранения в ней логических ошибок.

Тестирование — достаточно ответственный этап. В крупных IT-компаниях над разработкой программ, которые называют проектами, работают десятки и даже сотни программистов разных направлений. Одни из них разрабатывают проекты, другие занимаются тестированием программ, экономическим обоснованием и тому подобное.

На этом этапе применяется отладчик программ, который позволяет пошагово анализировать программу. Отладчик позволяет выполнять трассировку программы, устанавливать и удалять контрольные точки в программах, условия приостановления выполнения программы и тому подобное.

Создание переносимых программ

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

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

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

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

Читать еще:  Виды сред программирования

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

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

Системы (среды) программирования часто именуются по названию языка, например среда Pascal, среда Delphi. Иногда название системы содержит префикс, указывающий на разработчика среды: название системы Turbo-C означает, что ее разработчиком является фирма Borland.

Сегодня все чаще используются интегрированные среды программирования, которые обеспечивают работу с несколькими языками. Такими системами являются, например, IntelliJ IDEA, Eclipse. Вариант Ultimate Edition системы IDEA обеспечивает работу с языками программирования Java, PHP, Python.

Некоторые системы программирования поддерживают как режим интерпретации, так и режим компиляции программ.

Далее, в процессе описания языка программирования Python, мы будем применять среду IDLE.

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

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

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

Специальное программное обеспечение состоит из прикладных программ, проблемно ориентированных на решение определенных задач.

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

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

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

Используя подобные системы программисты имеют возможность разрабатывать свои собственные компьютерные программы.

Системы программирования состоят из: трансляторов с языков высокого уровня; редактирующих и компонующих средств, а также средств загрузки программ; макроассемблеров (машинно-ориентированных языков); отладчиков машинных программ.

Языки программирования

Язык программирования составляет ядро системы программирования. Они могут быть процедурными и непроцедурными.

Процедурные (или алгоритмические) программы — это системы предписаний для решения определенных задач.

Компьютер лишь механически выполняет эти предписания.

Процедурные языки могут быть представлены языками низкого и высокого уровня.

С использованием языков низкого уровня (машинно-ориентированных) создаются программы в машинных кодах. С такими языками тяжело работать, однако созданные на них программы малы по объему и быстродейственны. Используя языки программирования низкого уровня, разрабатывают системные программы, драйвера и др.

Задай вопрос специалистам и получи
ответ уже через 15 минут!

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

К наиболее известным процедурным системам программирования относят:

  1. Fortran, один из старейших и по сей день используемых в решении задач математической ориентации язык.
  2. Basic, являющийся универсальным символическим кодом инструкций для начинающих пользователей, самый популярный среди пользователей.
  3. ALGOL, представляющий собой алгоритмический язык, сыгравший большую роль в теории, в настоящее время практически не используется.
  4. PL/1 — многоцелевой язык, который в настоящее время не используется.
  5. Си – широко используемый язык при создании систем программного обеспечения.
  6. Pascal – чрезвычайно популярный язык как среди новичков в программировании, так и среди профессионалов. На его основе созданы более мощные языки такие, как Ada, Delphi.
  7. COBOL – язык, ориентированный на общий бизнес, сейчас практически не используется.
  8. Delphi – очень популярный объективно-ориентированный язык визуального программирования.
  9. Java – платформенно независимый язык объективно-ориентированного программирования, эффективен при создании интерактивных web-страниц.

Среди непроцедурных языков программирования наиболее известны:

Машинно-ориентированные системы программирования

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

Машинно-ориентированные состоят из входного языка, наборов операторов и изобразительных средств. Для систем подобного типа характерны:

  • высокое качество созданных программ;
  • предсказуемость заказов памяти и объектного кода;
  • использование конкретных аппаратных ресурсов;
  • необходимость знания системы команд и особенностей функционирования конкретной ЭВМ;
  • низкая скорость программирования;
  • трудоемкость процесса программирования;
  • невозможность непосредственного использования программ, составленных на этих языках, на компьютерах других типов.

По степени автоматического программирования машинно-ориентированные системы подразделяют на классы:

  1. Машинный язык. В системе такого типа отдельный компьютер обладает своим определенным машинным языком, которому предписывается выполнение операций над операндами. Этот язык является командным.
  2. Система символического кодирования. В системах такого типа используют языки символического кодирования, являющиеся командными. Коды операций и адреса в машинных командах в языках символьного кодирования заменены символами (идентификаторами), формы написания которых помогают легче запоминать программисту смысловое содержание операции. Это способствует существенному уменьшению числа ошибок при составлении программ.
  3. Автокоды. Содержат все возможности языков символического кодирования через процесс расширенного введения макрокоманд. В различных программах часто встречаются некоторые используемые командные последовательности, соответствующие определенным процедурам преобразования информации. Эти последовательности оформляют в виде специальных макрокоманд, которые затем можно использовать в языке программирования при написании программ. Макрокоманды переводятся в машинные команды 2 способами: расстановкой и генерированием. В первом способе используются «остовы» – серии команд реализации требуемой функции, обозначенной макрокомандой. Макрокоманды передают фактические параметры, вставляемые в процессе трансляции в «остов» программы, преобразуя ее в реальную машинную программу. Системы с генерацией содержат специальные программы анализа макрокоманд, определяющие какую функцию нужно выполнить и формирующие последовательности команд, реализующих эту функцию. Обе системы используют трансляторы с языка символьного кодирования и наборы макрокоманд, являющиеся операторами автокода.
  4. Макросы. Представляют собой более сжатую форму записи, используемую для замены последовательности символов описания выполнения требуемых действий ЭВМ. Предназначены для сокращения записи исходных программ. Компонент программного обеспечения, с помощью которого обеспечивается функционирование макросов, называют макропроцессором. На него поступает макросопределяющий и исходный тексты. Реакцией макропроцессора на вызов является выдача выходного текста.

Машинно-независимые системы программирования

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

Машинно-независимые системы программирования подразделяют на:

  1. Процедурно-ориентированные системы. В этих системах входные языки программирования предназначены для записи при решении задач алгоритмов обработки информации. Эти языки обеспечивают программиста средствами четкого формулирования задач и получения результатов в требуемой форме.
  2. Проблемно-ориентированные системы используют в качестве входного языка язык программирования с проблемной ориентацией. Языки подобного типа обеспечивают программиста средствами короткой и четкой формулировки задач и средствами получения результатов в требуемой форме. Программы на этих языках программирования записываются в терминах решаемой задачи и реализуются через выполнение определенных процедур.
  3. Диалоговые языки. Обеспечивают оперативное взаимодействие пользователя с компьютером через сохранение в его памяти копии исходной программы в машинных кодах. В процессе изменений в программе система программирования устанавливает с помощью специальных таблиц взаимосвязь между структурами исходной и объектной программ, что дает возможность в дальнейшем редактировать объектную программу.
  4. Непроцедурные языки. Составляют группу языков, с помощью которых описывается организация обрабатываемых данных и языков связи с операционными системами. Являются табличными языками, позволяющими четко описывать как задачу, так и ее решения в наглядной форме. В одной таблице решений, описывающей некоторую ситуацию, содержатся все возможные блок-схемы реализаций алгоритмов решения.

Интерпретаторы и компиляторы

Компилятор прежде чем запустить программу на выполнение полностью обрабатывает ее текст:

  • выполняет поиск синтаксических ошибок;
  • делает смысловой анализ;
  • автоматически генерирует машинный код.
Читать еще:  Система программирования список

Далее сгенерированный объектный код обрабатывается специальной программой — сборщиком или редактором связей. В результате текст программы преобразовывается в готовый к исполнению файл, он сохраняется в памяти компьютера или на диске. Этот файл может самостоятельно работать под управлением опера¬ционной системы.

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

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

Так и не нашли ответ
на свой вопрос?

Просто напиши с чем тебе
нужна помощь

Компьютер с нуля

Системы программирования и инструментальные среды

Очень специфический вид программного обеспечения для компьютера это системы программирования.

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

В данный класс программного обеспечения входят средства (инструментарии) для создания других программ и программных комплексов.

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

Язык, который понятен процессору, состоит из 0 и 1. Поэтому программа, записанная таким образом, носит название машинного кода .

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

Общая классификация языков программирования

Уровни языков программирования

Уровень языка программирования определяет степень его удаленности от языка процессора и приближенности к естественному или формальному языку, используемого человеком. (Чем выше уровень, тем дальше он от компьютера и ближе к человеку).

На схеме изображен состав системы программирования.

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

Язык программирования — это специально обусловленный набор символов, слов и мнемонических (особым образом организованных и заранее оговоренных) сокращений, используемых для записи набора команд (программы), воспринимаемых компьютером.

Синтаксис языка программирования это перечень правил записи программ из элементов этого языка.

В настоящее время существует несколько сотен языков высокого уровня, получивших название алгоритмических языков. Каждый из этих языков имеет свой синтаксис и ориентирован на решение задач определенного класса. К наиболее популярным относятся Basic, Pascal, C++, Prolog.

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

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

Транслятор (translator) — это программа, предназначенная для перевода (трансляции) описания алгоритма с одного формального языка на другой.

Этап трансляции кода программы является обязательным.

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

1. В первом случае транслятор берет из файла программу на языке высокого уровня и переводит в программу на машинном языке всю целиком, записывая ее в файл с расширением obj. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой перевод, называют компилятором . К компилируемым языкам относятся языки: Паскаль, Си, Фортран и др.

2. Во втором случае транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и сразу исполняет эту команду. Такой транслятор называют интерпретатором . К интерпретируемым языкам относятся: Бейсик, Пролог, Лисп и др.

Современные инструментальные среды (системы программирования), как правило, используют компилятор. В связи с этим не лишним будет представление о том, как же объектный модуль превращается в исполняемую программу, которая и хранится в файле с расширением ЕХЕ или СОМ.

Алгоритм получения исполняемой программы

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

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

Объектный модуль представляет собой схему будущей программы. В нем отсутствует масса важных вещей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п. Редактор связей берет из специальной библиотеки (ее принято называть системной библиотекой подпрограмм) все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ «склеивает» исполняемую программу из объектного модуля и этих блоков.

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

  • текстовые редакторы (редакторы программ);
  • трансляторы (компиляторы, интерпретаторы);
  • редакторы связей.

Инструментальные среды

Раньше пользователи вводили текст программы с помощью специального или подходящего текстового редактора. Затем использовали другую программу — транслятор(компилятор) для перевода написанной программы в объектный модуль. Далее использовалась третья программа —компоновщик(называемая также сборщиком, или редактором связей), которая позволяла собрать единый исполняемый файл из отдельных модулей, а также снабжала его специальными стандартными блоками, обеспечивающими связь программы с внешними устройствами. И наконец, четвертая программа — загрузчик— загружала окончательно подготовленный исполняемый файл в оперативную память ЭВМ, который далее выполнялся по специальной команде.

Если на каком-либо этапе подготовки программы была допущена ошибка, все приходилось начинать заново. Таким образом, отладка программы была достаточно длительным, трудоемким и утомительным процессом.

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

Инструментальная среда – это интегрированная система, которая позволяет писать, редактировать, отлаживать и запускать программы на выполнение, не выходя из самой среды.

В качестве примеров программных продуктов этого типа можно привести широко известные пакеты TurboBASIC, BorlandPascalwithObjects 7.0, Borland C++ (продукты фирмы BorlandInternationalInc.), а также QuickBASIC, QuickPascal, Quick С (продукты фирмы Microsoft) и многие другие.

Назначение, структура и классификация систем программирования.

СОДЕРЖАНИЕ

1. Введение. Программное обеспечение и состав программного обеспечения вычислительной техники. Требование программного обеспечения к ресурсам вычислительной техники. 3

1.2 Назначение, структура и классификация систем программирования. 7

1.2. Алгоритм. Определения. Свойства. Правило записи блок-схем согласно ЕСПД(единой системы программных продуктов). 15

Блок схема алгоритма программы.. 19

1.3. Архитектура современных ЭВМ. 21

1.4. Архитектура микропроцессоров. 27

1.5. Методология объектно-ориентированного программирования. Основы программирования на языке Ассемблер на примере учебной модели ЭВМ с компилятором Е97 (блок-схемы алгоритмов, кодирование алгоритмов, тестовые программы и оценка правильности работы программы). 32

1.6. Архитектура микропроцессоров Intel. Система команд МП серии i80x86. 39

Читать еще:  В интегрированную систему программирования входят

1.7.Решение задач: 47

2. Заключение (тенденции развития методов и систем программирования). 58


1. Введение. Программное обеспечение и состав программного обеспечения вычислительной техники. Требование программного обеспечения к ресурсам вычислительной техники.

К прикладному программному обеспечению (Application software) относятся компьютерные программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки — пример прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами.

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

4. программные средства общего назначения

5. Текстовые редакторы

6. Системы компьютерной вёрстки

7. Графические редакторы

9. программные средства специального назначения

10. Экспертные системы

11. Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)

12. Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)

13. Системы управления содержимым

14. программные средства профессионального уровня

20. Геоинформационные системы

21. Биллинговые системы

24. По сфере применения

Прикладное программное обеспечение предприятий и организаций. Например, финансовое управление, система отношений с потребителями, сеть поставок. К этому типу относится также ведомственное ПО предприятий малого бизнеса, а также ПО отдельных подразделений внутри большого предприятия. (Примеры: Управление транспортными расходами, Служба IT поддержки)

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

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

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

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

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

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

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

Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design — CAD), автоматизированное проектирование (computer aided engineering — CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).

Назначение, структура и классификация систем программирования.

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

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

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

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

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

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

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

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

3. Редакторы внешних связей, собирающие загрузочный модуль из объектных модулей в схеме счёта со статической загрузкой и статическим связыванием.

4. Статические и динамические загрузчики, запускающие задачи на счёт.

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

6. Оптимизаторы, позволяющие автоматически улучшать программу, написанную на определённом языке. Бывают оптимизаторы программ как на исходном языке программирования (например, на Фортране), так и на машинном языке (оптимизация загрузочных модулей).

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

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

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

10. И другие служебные программы.

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

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

Рис.1. Общая схема прохождения программы через систему программирования.

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

Дата добавления: 2018-02-18 ; просмотров: 591 ;

Ссылка на основную публикацию
Adblock
detector