Языки системы инструментальные
программирования программирования среды пользователя
операторные функциональные
машинно-зависимые проблемно-ориентированные
машинно-ориентированные объектно-ориентированные
универсальные логико-ориентированные
Рис. 10.2. Структура инструментария технологии программирования
2) средства для создания информационных систем(CASE-технологии). Позволяют поддерживать коллективную работу над проектом за счет возможности работы в локальной сети, экспорта – импорта любых фрагментов проекта, организации управления проектом.
В свою очередь языки программированияделятся на следующие виды:
1) операторные. Используются для кодирования алгоритмов, а потому также называются алгоритмическими. Имеют в составе:
· машинно-зависимые (ассемблер). Применяются для написания программ, явно использующих специфику конкретной аппаратуры. Каждый компьютер имеет такую систему программирования, которая изготавливается и поставляется фирмой-изготовителем вместе с компьютером;
· машинно-ориентированные (язык С). Объединяет идеи ассемблера и алгоритмического языка. Программы компактны и работают очень быстро.
· универсальные (Турбо-Паскаль, Бэйсик). Приближены максимально, насколько это возможно, к естественному английскому языку: название каждой команды – английское слово;
2) функциональные. Применяются, как правило, для машинного моделирования той или иной проблематики. Имеют в составе:
· проблемно-ориентированные (GPSS). Моделируют систему с помощью последовательности событий. Применяются, в частности, при проектировании вычислительных комплексов;
· объектно-ориентированные (Форт). Имеют встроенные средства для моделирования новых объектов программирования;
· логико-ориентированные (Prolog). Отдельно описываются правила предметной области, по которым затем выводятся новые факты.
Системы программированиявключают:
1) интегрированную среду разработчика программы, состоящую, в частности, из текстового редактора, позволяющего создавать и корректировать исходные тексты программ, средств поддержки интерфейса программиста с системными средствами для выполнения различных сервисных функций (например, сохранения или открытия файла);
2) транслятор – программу, переводящую исходный текст во внутреннее представление компьютера;
3) отладчик – программу для трассировки и анализа выполнения прикладных программ. Позволяет отслеживать выполнение программы в пооператорном режиме, идентифицировать место и вид ошибок в программе, наблюдают за изменением значений переменных, выражений и т.д.;
4) компоновщик – программа для подготовки прикладной программы к работе в конкретных адресах основной памяти компьютера;
5) справочные системы.
Инструментальная среда пользователя– специальные средства, встроенные в ППП:
1) библиотеки функций, процедур, объектов и методов обработки;
2) макрокоманды;
3) программные модули-вставки;
4) конструкторы экранных форм и отчетов;
5) языки запросов высокого уровня.
Обращает на себя внимание обилие средств, относящихся к инструментарию технологии программирования (см. рис. 10.2). Это связано со сложностью разработки программного продукта. Традиционная схема проектирования программы рассмотрена далее.
ПОКОЛЕНИЯ ЭВМ
В соответствии с элементной базой и уровнем развития программных средств выделяют четыре реальных поколения ЭВМ, краткая характеристика которых приведена в табл. 11.1.
Таблица 11.1
Параметры сравнения | Поколения ЭВМ | |||
Первое | Второе | Третье | Четвертое | |
Период времени | 1946 - 1959 | 1960 - 1969 | 1970 - 1979 | С 1980 г. |
Элементная база (для УУ, АЛУ) | Электронные (или электрические) лампы | Полупроводники (транзисторы) | Интегральные схемы | Большие интегральные схемы (БИС) |
Основной тип ЭВМ | Большие | Большие | Малые (мини) | Микро |
Основные устройства ввода | Пульт, перфокарточный и перфоленточный ввод | Добавился алфавитно-цифровой дисплей, клавиатура | Алфавитно-цифровой дисплей, клавиатура | Цветной графический дисплей, сканер, клавиатура |
Основные устройства вывода | Алфавитно-цифровое печатающее устройства (АЦПУ), перфоленточный вывод | Алфавитно-цифровое печатающее устройства (АЦПУ), перфоленточный вывод | Графопостроитель, принтер | Графопостроитель, принтер |
Внешняя память | Магнитные ленты, барабаны, перфоленты и перфокарты | Добавился магнитный диск | Перфоленты, магнитный диск | Магнитные и оптические диски |
Ключевые решения в ПО | Универсальные языки программирования, трансляторы | Пакетные операционные системы, оптимизирующие трансляторы | Интерактивные ОС, структурированные языки программирования | Дружественность ПО, сетевые ОС |
Продолжение табл. 11.1
Режим работы ЭВМ | Однопрограммный | Пакетный | Разделения времени | Персональная работа и сетевая обработка данных |
Цель использования ЭВМ | Научно-технические расчеты | Технические и экономические расчеты | Управления и экономические расчеты | Телекоммуникации, информационное обслуживание и управление |
ЭВМ первого поколенияобладали небольшим быстродействием в несколько десятков тыс. оп./сек. В качестве внутренней памяти применялись ферритовые сердечники.
Основной недостаток этих ЭВМ – рассогласование быстродействия внутренней памяти и АЛУ и УУ за счет различной элементной базы. Общее быстродействие определялось более медленным компонентом – внутренней памятью и снижало общий эффект. Уже в ЭВМ первого поколения делались попытки ликвидировать этот недостаток путем асинхронизации работы устройств и введения буферизации вывода, когда передаваемая информация «сбрасывается» в буфер, освобождая устройство для дальнейшей работы (принцип автономии). Таким образом, для работы устройств ввода-вывода использовалась собственная память.
Существенным функциональным ограничением ЭВМ первого поколения являлась ориентация на выполнение арифметических операций. При попытках приспособления для задач анализа они оказывались неэффективными.
Языков программирования как таковых еще не было, и для кодирования своих алгоритмов программисты использовали машинные команды или ассемблеры. Это усложняло и затягивало процесс программирования. К концу 50-х годов средства программирования претерпевают принципиальные изменения: осуществляется переход к автоматизации программирования с помощью универсальных языков и библиотек стандартных программ. Использование универсальных языков повлекло возникновение трансляторов.
Программы выполнялись позадачно, т.е. оператору надо было следить за ходом решения задачи и при достижении конца самому инициировать выполнение следующей задачи.
Начало современной эры использования ЭВМ в нашей стране относят к 1950 году, когда в институте электротехники АН УССР под руководством С.А. Лебедева была создана первая отечественная ЭВМ под названием МЭСМ – Малая Электронная Счетная Машина. В течение первого этапа развития средств вычислительной техники в нашей стране создан ряд ЭВМ: БЭСМ, Стрела, Урал, М-2.
Второе поколениеЭВМ – это переход к транзисторной элементной базе, появление первых мини-ЭВМ.
Получает дальнейшее развитие принцип автономии – он реализуется уже на уровне отдельных устройств, что выражается в их модульной структуре. Устройства ввода-вывода снабжаются собственными УУ (называемыми контроллерами), что позволило освободить центральное УУ от управления операциями ввода-вывода.
Совершенствование и удешевление ЭВМ привели к снижению удельной стоимости машинного времени и вычислительных ресурсов в общей стоимости автоматизированного решения задачи обработки данных, в то же время расходы на разработку программ (т.е. программирование) почти не снижались, а в ряде случаев имели тенденции к росту. Таким образом, намечалась тенденция к эффективному программированию, которая начала реализовываться во втором поколении ЭВМ и получает развитие до настоящего времени.
Начинается разработка на базе библиотек стандартных программ интегрированных систем, обладающих свойством переносимости, т.е. функционирования на ЭВМ разных марок. Наиболее часто используемые программные средства выделяются в ППП для решения задач определенного класса.
Совершенствуется технология выполнения программ на ЭВМ: создаются специальные программные средства - системное ПО.
Цель создания системного ПО – ускорение и упрощение перехода процессором от одной задачи к другой. Появились первые системы пакетной обработки, которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными для управления вычислительным процессом. В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какую работу он хочет выполнить на вычислительной машине. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий. Этот элемент жив до сих пор: так называемые пакетные (или командные) файлы MS DOS есть не что иное, как пакеты заданий (расширение в их имени bat является сокращением от английского слова batch, что означает пакет).
К отечественным ЭВМ второго поколения относятся Проминь, Минск, Раздан, Мир.
В 70-х годах возникают и развиваются ЭВМ третьего поколения.В нашей стране это ЕС ЭВМ, АСВТ, СМ ЭВМ. Данный этап - переход к интегральной элементной базе и создание многомашинных систем, поскольку значительного увеличения быстродействия на базе одной ЭВМ достичь уже не удавалось. Поэтому ЭВМ этого поколения создавались на основе принципа унификации, что позволило комплексировать произвольные вычислительные комплексы в различных сферах деятельности.
Расширение функциональных возможностей ЭВМ увеличило сферу их применения, что вызвало рост объема обрабатываемой информации и поставило задачу хранения данных в специальных базах данных и их ведения. Так появились первые системы управления базами данных – СУБД.
Изменились формы использования ЭВМ: введение удаленных терминалов (дисплеев) позволило широко и эффективно внедрить режим разделения времени и за счет этого приблизить ЭВМ к пользователю и расширить круг решаемых задач.
Обеспечить режим разделения времени позволил новый вид ОС, поддерживающих мультипрограммирование. Мультипрограммирование - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ. Пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении программ (однопрограммный режим), а выполняет другую программу (многопрограммный режим). При этом каждая программа загружается в свой участок внутренней памяти, называемый разделом. Мультипрограммирование нацелено на создание для каждого отдельного пользователя иллюзии единоличного использования вычислительной машины, поэтому эти ОС носили интерактивный характер, когда в процессе диалога с ЭВМ пользователь решал свои задачи.
С 1980 года начался современный четвертый этап, для которого характерны переход к большим интегральным схемам, создание серий недорогих микро-ЭВМ, разработка суперЭВМ для высокопроизводительных вычислений.
Наиболее значительным стало появление персональных ЭВМ, что позволило приблизить ЭВМ к своему конечному пользователю. Компьютеры стали широко использоваться неспециалистами, что потребовало разработки "дружественного" программного обеспечения. Возникают ОС, поддерживающие графический интерфейс, интеллектуальные ППП, операционные оболочки. В связи с возросшим спросом на ПО совершенствуются технологии его разработки – появляются развитые системы программирования, инструментальные среды пользователя.
В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных ОС. В сетевых ОС хорошо развиты средства защиты информации от несанкционированного доступа. Распределенные ОС обладают схожими с сетевыми системами функциями работы с файлами и другими ресурсами удаленных компьютеров, но там слабее выражены средства защиты.