Общая терминология программирования
независимыми частями — модулями, каждый из которых связан с какой-либо
процедурой или функцией. При этом результирующая программа организуется в
виде совокупности взаимосвязанных по определенным правилам модулей. Это
упрощает разработку сложных программных продуктов и их тестирование.
Функциональное программирование [functional programming] — метод
программирования, основанный на разбиении алгоритма решения задачи на
отдельные функциональные модули, а также описании их связей и характера
взаимодействия. Для функционального программирования наиболее широко
используются языки НОРЕ и ML. Элементы функционального программирования
реализуются также другими языками, например Си.
Эвристическое программирование [hueristic programming] — метод
программирования, основанный на моделировании мыслительной деятельности
человека. Используется для решения задач, не имеющих строго
формализованного алгоритма или связанных с неполнотой исходных данных.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПО [software]
Совокупность программных средств, управляющих работой ЭВМ и/или
автоматизированной системы, а также документация, необходимая для
эксплуатации этих средств. Различают общее и прикладное (специальное)
программное обеспечение.
ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ [program documentation]
Комплект документов, содержащих полное описание программы и необходимый
состав сведений для ее распространения (в том числе продажи) и
использования.
3 ЯЗЫКИ ПРОГРАММИРОВАНИЯ
ЯЗЫК ПРОГРАММИРОВАНИЯ [programming language]
Формализованный язык, предназначенный для описания программ и алгоритмов
решения задач на ЭВМ. Языки программирования являются искусственными. В них
синтаксис и семантика строго определены. Поэтому они не допускают
свободного толкования выражения, что характерно для естественного языка.
Языки программирования разделяются на две основные категории — языки
высокого уровня и языки низкого уровня.
Язык высокого уровня [high-level language] — язык программирования,
средства которого обеспечивают описание задачи в наглядном, легко
воспринимаемом виде, удобном для программиста. Он не зависит от внутренних
машинных кодов ЭВМ любого типа, поэтому программы, написанные на нем,
требуют перевода в машинные коды программами транслятора либо
интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик,
Паскаль, Си, Ада и др.
Язык низкого уровня, [low-level language] — язык программирования,
предназначенный для определенного типа ЭВМ и отражающий его внутренний
машинный код.
Различают также следующие виды языков программирования:
Алгоритмический язык [algorithmic language] — совокупность символов,
соглашений и правил, используемых для однозначного описания алгоритмов и
обычно являющихся частью языка программирования.
Неалгоритмический язык [nonalgorithmic language] — язык программирования,
тексты которого не содержат указаний на порядок выполнения операций и
служат лишь исходным материалом для синтеза алгоритма решения задачи.
Формальный язык [formal language] — язык программирования, построенный по
правилам некоторого логического исчисления или формальной грамматики
[formal grammar], представляющей собой систему правил построения в заданном
алфавите конечных знаковых последовательностей, множество которых образует
формальный язык.
Исходный язык [source language] — язык программирования, на котором
написана программа, в отличие от машинного языка, на котором программы
выполняются компьютером. Исходные языки классифицируются на языки высокого
уровня и языки низкого уровня.
Машинный (абсолютный) язык, язык ЭВМ [computer (machine) language] —
язык программирования, предназначенный для представления программ в форме,
обеспечивающей возможность их выполнения техническими средствами.
Машинно-зависимый (машинно-ориентированный) язык, машинно-зависимый язык
программирования [computer-sensitive (computer-oriented) language] — язык
программирования, учитывающий структуру и характеристики ЭВМ определенного
типа или конкретной ЭВМ.
Машинно-независимый язык [machine-independent language] — язык
программирования, структура и средства которого не связаны ни с какой
конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой
ЭВМ, снабженной трансляторами (см. далее) с этого языка.
Символический язык, язык символического кодирования [symbolic language]
— язык программирования, ориентированный на конкретные ЭВМ и основанный на
кодировании машинных операций при помощи определенного набора символов.
Гибридный (комбинированный) язык [hibrid language] — язык
программирования, использующий также и средства другого языка.
Графический язык [graphic language] — язык, предназначенный для написания
программ машинной графики и пользования ими.
Базовый язык [base language]
1. Машинный язык, общий для семейства ЭВМ.
2. Язык программирования в СУБД с автономным языком.
Общий язык [common language] — машинный язык, общий для группы ЭВМ и
используемых ими внешних устройств.
Эталонный язык [reference language] — язык — основа для всех его
конкретных версий, являющихся вариантами адаптации эталонного языка к
определенным условиям применения и назначения.
Язык ассемблера, ассемблер [assembler language] — универсальный язык
программирования, относящийся к категории языков низкого уровня, структура
которого определяется форматами команд, данными машинного языка и
архитектурой ЭВМ. Используется программистами в тех случаях, когда
невозможно применение языка высокого уровня или требуются эффективные
программы в машинных кодах.
Декларативный (непроцедурный) язык [declarative (nonprocedural) language]
— язык программирования, который позволяет задавать связи и отношения между
объектами и величинами, но не определяет последовательность выполнения
действий (например, языки Пролог, QBE).
Императивный (процедурный) язык [imperative language] — язык
программирования, который позволяет в явной форме (при помощи задания
выполняемых операторов) определять действия и порядок (последовательность)
их выполнения.
Язык функционального программирования, функциональный язык [functional
language] — декларативный язык программирования, основанный на понятии
функций, которые задают зависимость, но не определяют порядок вычислений.
Специализированный язык [special language] — язык программирования,
ориентированный на решение определенного круга задач.
Язык описания страниц [PDL — Page Description Language] —
специализированный язык, предназначенный для печатающих устройств.
Предусматривает возможность использования изображений в формате,
независимом от параметров устройства отображения. Наиболее известным языком
такого типа является PostScript.
Автономный язык [freestanding language] — специализированный язык
высокого уровня в замкнутых СУБД (см. "СУБД с автономным языком").
Язык конструирования интерактивных технологий — в СУБД — язык,
предназначенный для описания технологических процессов обработки данных с
учетом разделения характера операций по их типам, а также обеспечения
диалога с администратором системы.
Язык манипулирования данными, ЯМД [DML — Data Manipulation Language] — в
СУБД — язык, предназначенный для обращения к базе данных и выполнения
поиска, чтения и модификации ее записей.
Язык обработки списков [list language] — специализированный язык,
предназначенный для описания процессов обработки данных, представленных в
виде списков объектов.
Язык описания данных [DDL — Data Description Language] — язык,
предназначенный для описания концептуальной схемы базы данных.
Язык описания хранения данных [DSDL — Data Storage Description Language]
— язык, предназначенный для описания физической структуры (схемы) базы
данных.
Язык описания страниц [page description language] — система для кодировки
документов, которая позволяет точно описать ее внешний вид после подготовки
к выводу на печать или на дисплей. Примером использования такого языка
служит PDF (Portable Document Format), разработанный Adobe для хранения и
представления изображений страниц.
Язык представления знаний [KRL — Knowledge Representation Language] —
декларативный или декларативно-процедурный язык, предназначенный для
представления знаний в памяти ЭВМ (например, языки Лисп и Пролог).
Язык публикаций [publication language] — язык, используемый для
публикации алгоритмов и программ.
Язык спецификаций [specification language] — декларативный язык для
задания спецификаций программ.
Проблемно-ориентированный язык [problem-oriented language] — язык
программирования, предназначенный для решения определенного класса задач
(проблем).
Процедурный (процедурно-ориентированный) язык [procedure-oriented
language] — проблемно-ориентированный язык, облегчающий выражение процедуры
как точного алгоритма.
Язык реального времени [real-time language] — язык, используемый для
программирования задач, в которых критическим является время реакции ЭВМ на
сигналы, требующие от нее немедленных действий (например, язык Ада).
Язык управления пакетом [batch control language] — набор команд,
директив, квалификаторов и правил их использования для управления пакетной
обработкой данных.
Язык управления заданиями [job-control language] — язык, на котором
записывается последовательность команд, управляющих выполнением задания.
Предназначался для обучения программированию. Отличается простотой, легко
усваивается начинающими программистами благодаря наличию упрощенных
конструкций языка Фортран и встроенных математических функций, алгоритмов и
операторов. Существует множество различных версий Бейсика, которые не
полностью совместимы друг с другом. Некоторые реализации Бейсика включают
средства обработки данных и наборов данных. Большинство версий Бейсика
используют интерпретатор, который преобразует его компоненты в машинный код
и позволяет запускать программы без промежуточной трансляции. Некоторые
более совершенные версии Бейсика позволяют использовать для этой цели
трансляторы. На IBM PC широко используются Quick Basic фирмы Microsoft,
Turbo Basic фирмы Borland и Power Basic (усовершенствованная версия Turbo
Basic, распространяемая фирмой Spectra Publishing). В начале 1999 г. фирма
Microsoft выпустила версию языка Visual Basic 6.0 (VB 6.0),
предназначенного для создания многокомпонентных программных приложений для
систем уровня предприятий.
Кобол [COBOL — COmmon Business-Oriented Language] — язык программирования
высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для
решения коммерческих и экономических задач. Отличается развитыми средствами
работы с файлами. Поскольку команды программ, написанных на этом языке,
активно используют обычную английскую лексику и синтаксис, Кобол
рассматривается как один из самых простых языков программирования. В
настоящее время используется для решения экономических, информационных и
других задач.
Лисп [LISP — LISt Processing] — алгоритмический язык, разработанный в
1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями
элементов данных. Используется преимущественно в университетских
лабораториях США для решения задач, связанных с искусственным интеллектом.
В Европе для работ по искусственному интеллекту предпочитают использовать
Пролог.
ЛОГО [LOGO or греч. logos — слово] — язык программирования высокого
уровня, разработан в Массачусетском технологическом институте
ориентировочно в 1970 г. для целей обучения математическим понятиям.
Используется также в школах и пользователями ПЭВМ при написании программ
для создания чертежей на экране монитора и управления перьевым
графопостроителем.
Паскаль [PASCAL — акроним с французского — Program Applique a la
Selection et la Compilation Automatique de la Litterature] — процедурно-
ориентированный язык программирования высокого уровня, разработанный в
конце 1960-х гг. Никлаусом Виртом первоначально для обучения
программированию в университетах. Назван в честь французского математика
XVII в. Блеза Паскаля. В своей начальной версии Паскаль имел довольно
ограниченные возможности, поскольку предназначался для учебных целей,
однако последующие доработки позволили сделать его хорошим универсальным
языком, широко используемым в том числе для написания больших и сложных
программ. Существует ряд систем программирования на этом языке для разных
типов ЭВМ. Для IBM PC наиболее популярной является система Turbo Pascal
фирмы Borland (США).
Пролог [PROLOG — PROgramming in LOGic] — язык программирования высокого
уровня декларативного типа, предназначенный для разработки систем и
программ искусственного интеллекта. Относится к категории языков пятого
поколения. Был разработан в 1971 г. в университете г. Марселя (Франция),
относится к числу широко используемых и постоянно развиваемых языков.
Последняя его версия Prolog 6.
Си [С] — многоцелевой язык программирования высокого уровня,
разработанный Денисом Ритчи в начале 1970-х гг. на базе языка BCPL.
Используется на мини-ЭВМ и ПЭВМ. Является базовым языком операционной
системы Unix, однако применяется и вне этой системы для написания
быстродействующих и эффективных программных продуктов, включая и
операционные системы. Для IBM PC имеется ряд популярных версий языка Си, в
том числе Turbo С (фирмы Borland), Microsoft С и Quick С (фирмы Microsoft),
а также Zortech С (фирмы Symantec). Многие из указанных версий обеспечивают
также работу с Си и Си++ .
Си++ [C++] — язык программирования высокого уровня, созданный Бьярном
Страустрапом на базе языка Си. Является его расширенной версией,
реализующей принципы объектно-ориентированного программирования.
Используется для создания сложных программ. Для IBM PC наиболее популярной
является система Turbo C++ фирмы Borland (США).
С# (С Sharp) — "Си Шарп" — объектно-ориентированный язык
программирования, о разработке которого в 2000 г. объявила фирма Microsoft.
По своему характеру он напоминает языки C++ и Java и предназначен для
разработчиков программ, использующих языки С и C++, для того, чтобы они
могли более эффективно создавать Интернет-приложения. Указывается, что С#
будет тесно интегрирован с языком XML.
Фортран [FORTRAN — FORmula TRANslation] — язык программирования высокого
уровня, разработанный фирмой IBM в 1956 г. для описания алгоритмов решения
вычислительных задач. Относится к категории процедурно-ориентированных
языков. Наиболее распространенными версиями этого языка являются Фортран
IV, Фортран 77 и Фортран 90. Используется на всех классах ЭВМ. Последняя
его версия также применяется на ЭВМ с параллельной архитектурой.
AppleScript — машинно зависимый (ориентирован на работу с ПЭВМ типа
Macintosh фиры Apple), близкий к естественному английскому язык
программирования, предназначенный для автоматизации повторяющихся задач,
преимущественно связанных с процессами компьютерной графики (в том числе
обработки результатов сканирования, ввода изображений, цветоделения,
составления каталогов, передачи печатных документов в World Wide Web и
др.). Планировалась разработка версии этого языка для PowerPC.
Clipper — язык высокого уровня и система программирования,
предназначенные для разработки программ для ПЭВМ, преимущественно систем
управления большими объемами данных. Владельцем и разработчиком языка и
системы Clipper является фирма Nantucket (США). Начало работ по их созданию
связано с разработкой компилятора для dBase и относится к 1984 г. (год
основания фирмы Nantucket Барри Ребеллом и Брайаном Расселом). Первые
программные продукты Clipper — ClipperWinter'84 (май 1985 г.),
ClipperWinter'85 (январь 1986 г.), МсМах (версия для ПК Macintosh —
сентябрь 1986 г.) и ClipperSummer'87 (декабрь 1987 г.). Летом 1990 г. была
выпущена версия языка Clipper 5.0, получившая широкое распространение в
России. Она реализует концепцию открытой архитектуры и представляет собой
язык, компилятор и систему разработки программ для ПЭВМ, включающую набор
команд и функций, препроцессор, компоновщик, набор утилит (в том числе
отладчик и встроенную документацию).
dBASE
1. Язык программирования высокого уровня, предназначенный для создания
пакетов прикладных программ, связанных с манипулированием большими объемами
данных (Xbase). Первая версия языка dBASE II вышла в свет в начале 1980-х
гг., в августе 1994 г. была выпущена версия dBASE 5.0 для Windows
(подробнее см. [79]).
2. Семейство программ для ПЭВМ, предназначенное для манипулирования
большими объемами данных.
FoxPro — объектно-ориентированный язык, предназначенный для создания
пакетов прикладных программ, в том числе для современных операционных
систем, например версия этого языка FoxPro for Windows. Об одной из
последних версий этого языка — Visual FoxPro 3.0 фирмы Microsoft — см. в
[84].
SGML (Standardized General Markup Language) — стандартизованный
обобщенный язык разметки. Разработка языка была вызвана необходимостью
создания средств описания документов и правил их построения. Для задания
структуры документа используются специальные метки — тэги, которые отделяют
друг от друга элементы документа и файлы определения типа документа
(Document Type Definition — DTD), выполняющие функции грамматики и
определяющие структуру и содержание каждого элемента в документе. Принят
ISO в качестве стандарта в 80-е гг. Сложность этого языка помешала ему лечь
в основу первой спецификации для Web — HTML, которая стала производной от
SGML [336].
HTML, html (HyperText Markup Language) — язык разметки гипертекста,
разработан в исследовательском центре CERN в 1992 г. Он является
производным от SGML. HTML устанавливает формат гипермедийных документов в
сети WWW. HTML-документы представляют собой ASCII-файлы, доступные для
просмотра и редактирования в любом текстовом редакторе. Отличием от
обычного текстового файла является наличие в HTML-документах специальных
команд — тэгов, которые указывают правила форматирования документа. Полное
описание HTML можно получить по сетевому адресу: .
Версии языка HTML:
HTML 2.0 — стандарт был утвержден в ноябре 1994 г. организацией IETF
(Internet Engineering Task Force). В нем были расширены возможности
предыдущей версии языка, и он получил широкое распространение как у
профессионалов, так и у любителей.
HTML 3.0 — проект версии языка был опубликован в марте 1995 г. В нем были
произведены радикальные изменения предыдущих версий: включены
дополнительные возможности, включая таблицы, математические выражения и т.
д. Это стало причиной того, что он не принят в качестве официальной
спецификации и был заменен спецификацией HTML 3.2.
HTML 3.2 (кодовое наименование проекта "Wilbur") — был опубликован и начал
широко использоваться с мая 1996 г., получил официальное утверждение и
популярность из-за совместимости с HTML 2.0 1997 г.
HTML 4.0 (кодовое наименование проекта "Cougar") — последняя версия языка.
В нем реализованы многие распространенные концепции Web-дизайна и приняты
некоторые средства HTML 3.2. Самым значительным отличием HTML 4.0 от
предыдущих версий является кодировка Unicode, тэг "OBJECT", позволяющий
работать с мультимедиа (с видеоклипами и звуком) и др.
5. DHTML (Dynamic HTML) — динамическая HTML — развитие языка HTML для
создания движущихся, находящихся в динамике, эффектов на Web-страницах.
6. XML (Extensible Markup Language) — расширяемый язык разметки. Предложен
WWW Consortium (W3C) (консорциум ориентированных языков) в 1996 г. Входит в
подмножество SGML. Возник в результате необходимости создать более
обобщенный язык разметки без соблюдения сложного и громоздкого для
использования в Интернете стандарта SGML. Хотя XML и требует формально
определять язык разметки, стадия проверки корректности стала не
обязательной: наличие определений типов документов (DTD — Document Type
Definition) не требуется, хотя и допускается. Кроме того, в XML
используется лишь некоторое подмножество правил SGML, что облегчает его
использование. XML, подобно SGML, является метаязыком и содержит правила,
по которым должно определяться множество тэгов, допустимых в документе.
Пакет данных, описанный на
XML, называют XML-документом.
Java — объектно-ориентированный язык интерпретирующего типа,
разработанный фирмой Sun Microsystems в 1994 г. Он во многом сходен с
языком C++ и нашел широкое применение для написания разного рода
программных продуктов (приложений), ориентированных на работу в сетевых
системах типа "клиент-сервер" и "файл-сервер" под управлением современных
операционных систем (Windows, OS/2 и др.). Язык рассчитан на передачу по
Интернету текстов программ, которые на всех компьютерах должны выполняться
одинаковым образом. Основное достоинство, привлекшее к этому языку
специалистов, заключается в предоставляемой им возможности разработки
платформо-независимых программ. Считается, что своим успехом этот язык
обязан в первую очередь фирме Netscape Communication, которая лицензировала
его интерпретатор в свой самый популярный в мире в те годы браузер Web-
страниц (Navigator 2.0). Общими характеристиками языка Java являются: его
простота, значительный объем библиотеки подпрограмм, возможность
распространения на любой тип ЭВМ, независимость от ее архитектуры, высокая
защищенность создаваемых программ, динамичность языка, обеспечивающая
гибкое введение изменений в программы и др. В настоящее время язык Java
лицензировали такие фирмы, как IBM, Microsoft, Borland, Symantec,
Micromedia и др. В феврале 1997 г. фирма JavaSoft выпустила новую версию
усовершенствованного инструментального пакета разработки программ на языке
Java — JDK 1.1. (Java Development Kit). Он облегчает работу по составлению
программ, поддерживает средства работы с национальными кодировками и имеет
улучшенный оконный интерфейс.
Occam — язык высокого уровня, предназначенный для выполнения
параллельного программирования и создания транспьютеров. Является
результатом совместной разработки фирмы INMOS (Великобритания) и
Оксфордского университета (Дэвид Мэй). Концепция Occam базируется на теории
связанных последовательных процессов, созданной профессором Оксфордского
университета С. Хора. Свое название получил в честь английского философа
XIV в. Уильяма Оккама, поскольку в основе разработки языка был использован
провозглашенный им принцип: "Сущность не должна превышать необходимость"
("бритва Оккама"). В соответствии с упомянутым принципом из двух одинаково
эффективных вариантов решений принимается наиболее простое. Язык Occam
используется в транспьютерах первых и всех последующих выпусков.
PostScript — объектно-ориентированный язык, разработанный фирмой Adobe
Systems (США). Является одним из основных стандартов для печати и передачи
документов, работает с изображениями, включая шрифты. Поэтому относится
также к классу специализированных языков описания страниц. Представляет
собой набор команд по формированию сложных геометрических фигур из
коллекции простейших заготовок (круги, прямоугольники, прямые и кривые
линии и т. д.). Шрифты и чертежи, выполненные с использованием векторной
графики языка PostScript, могут масштабироваться без потери качества их
печати или отображения на экране монитора. Используется для управления
лазерными принтерами при печати документов и другими устройствами вывода
данных.
SQL (Structured Query Language) — язык структурированных запросов —
предназначен для обеспечения доступа к реляционным базам данных. Создан
корпорацией IBM. Большинство файловых серверов и многие СУБД используют SQL
в качестве стандартного средства доступа к данным из приложений-клиентов.
OQL (Object Query Language) — объектный язык запросов — расширенная
версия языка SQL, дополненная объектными свойствами, средствами описания
типов данных и итераций с объектами в базах данных.
ТеХ — язык, разработанный фирмой Donald Knuth еще в 1980 г. Он
предназначен для обеспечения высококачественной печати. Особое внимание в
нем уделяется возможности кодировки математических знаков с использованием
ASCII для выдачи, обработки и хранения их на ЭВМ. До настоящего времени он
считается незаменимым дополнением других языков (например, PostScript) при
подготовке материалов по математике и смежным специальностям.
UML (Unified Modelling Language) — унифицированный язык моделирования —
язык для спецификации, просмотра и документирования элементов программных
систем, предназначенный для описания бизнес-объекта как компонента
прикладной системы.
VRML (Virtual Reality Modelling Language) — язык моделирования
виртуальной реальности (сленговый термин — вермел) — предназначен для
унификации и упрощения представления трехмерной и подвижной графики, в том
числе синхронизации изображения и звука. VRML рассматривается
разработчиками как язык хотя и родственный, но альтернативный по отношению
к HTML и взаимодействующий с ним. Впервые идея языка была предложена Марком
Песке (Mark Pesce) в 1993 г., а его первая спецификация (VRML 1.0) была
подготовлена на основе формата Open Inventor фирмы SGI и представлена на
второй конференции WWW в октябре 1994 г. в Женеве. Главной задачей было
дальнейшее усовершенствование интерактивных интерфейсов в целях лучшего их
восприятия человеком. Во второй версии, в разработке которой приняли
участие и другие фирмы (например, Sony Research, Mitra и др.), его
интерактивные возможности были расширены. В частности, VRML 2.0 стал
поддерживать анимацию и звуковые эффекты, а также взаимодействие с Java и
JavaScript. В августе 1996 г. был принят его стандарт, а в декабре 1997 г.
VRML 2.0 был официально заменен на VRML 97, называемый также VRML Technical
Symposium. Новый стандарт I SO/I EC 14772 построен на основе спецификаций
VRML 2.0 с некоторыми поправками и дополнениями. В настоящее время ведется
разработка очередной версии — VRML 2000. Стандарт VRML и описание языка
можно получить по сетевым адресам: ,
.
DSML (Directory Services Markup Language) — язык разметки службы
каталогов — предназначен для поддержки служб администрации сетей,
работающих с каталогами. Специализированные каталоги позволяют эффективно
хранить сведения об абонентах сети, необходимых им сервисных услугах, а
также сетевых ресурсах и другие данные, сопоставление которых обеспечивает
возможность администраторам сети оптимизировать предоставление абонентам
необходимых им услуг в реальном масштабе времени. DSML был предложен в 1999
г. рабочей группой (DSML Working Group), представленной фирмами IBM,
Microsoft, Novell, Sun/Netscape, Oracle и др. для создания унифицированного
формата разработки таких каталогов, их публикации и обмена их содержимым.
4 СВЯЗАННЫЕ С ПРОГРАММИРОВАНИЕМ ТЕРМИНЫ
ДИРЕКТИВА [directive]
1. Вводимое в ЭВМ (оператором или пользователем) в повелительной форме
сообщение или команда, которая содержит указание на то, какие необходимо
выполнить действия.
2. Компонент программы на языке ассемблера, управляющий последующей
компоновкой программы, но не вызывающий появление машинной команды.
ЗАДАНИЕ [job]
1. Единица работы, определяемая пользователем, которую должна выполнить
ЭВМ.
2. Совокупность программ и данных, обрабатываемых автоматизированной
системой как единое целое. Описание задания составляется на языке
управления заданиями. Типизированные описания вариантов заданий,
характерных для ЭВМ определенного класса или типа, реализуются в
соответствующих операционных системах.
Поток заданий [job stream] — последовательность заданий, выполняемых ЭВМ
под управлением операционной системы.
Опция [option] — параметр или вариант выполнения задания для
обрабатывающей его программы, предназначенный для управления режимом ее
работы.
Итерация [iteration] — один цикл выполнения задания или команды
вычислительной машиной.
КОМАНДА, ИНСТРУКЦИЯ [instruction, command]
Управляющий сигнал, инициирующий выполнение процессором конкретной
операции.
В языках программирования — значимое выражение, определяющее одну
операцию и ее операнды.
3. Описание операции, которую должна выполнить ЭВМ.
Наиболее употребительные термины, связанные с видами команд
Адресная команда [address instruction] — команда программы,
осуществляющая обращение к адресам операндов либо к адресам команд,
указанных в определенных местах командного слова.
Безадресная команда [no-address instruction] — команда, определяющая
операнды, для которых задана операция в неявной форме.
Многоадресная команда [multi-address instruction] — машинная команда,
содержащая два и более адреса в явном виде.
Арифметическая команда [arithmetic instruction] — команда, определяющая
выполнение десятичной операции над числами с фиксированной или плавающей
запятой.
Команда ассемблера [assembly instruction] — основная конструкция языка
ассемблера, с помощью которой записывается программа на этом языке. Как
правило, одна команда ассемблера транслируется в одну эквивалентную
машинную программу.
Байтовая команда [byte instruction] — команда выполнения операций над
байтами или же команда, занимающая один байт.
Команда ввода-вывода (ввода/вывода) [input/output instruction] — машинная
команда, выполняющая соответственно ввод данных с внешнего устройства в
основную память или их вывод из основной памяти во внешнее устройство.
Команда вызова [call instruction] — команда, осуществляющая вызов
стандартной программы или программы пользователя.
Исполнительная команда [effective instruction] — команда, которая не
требует модификации для последующего выполнения вычислительной машиной.
Машинная команда [computer instruction] — команда, которая может быть
непосредственно распознана центральным процессором ЭВМ, для которой она
создана.
Основная команда [general instruction] — команда, входящая в стандартный
набор команд ЭВМ.
Команда останова [halt (breakpoint) instruction] — команда,
останавливающая выполнение машинной программы (см. "Команда паузы").
Команда условного останова [optional-stop instruction] — команда,
позволяющая произвести с пульта оператора ЭВМ останов выполнения текущей
программы.
Команда паузы [pause instruction] — команда, определяющая временное
прекращение выполнения программы, работа которой вновь может быть
возобновлена только после поступления внешнего прерывания.
Команда произвольной паузы, произвольного останова [optional pause
instruction] — команда, допускающая ручной приостанов выполнения машинной
программы.
Команда прерывания [trap instruction] — команда, вызывающая внутреннее
прерывание с указанным номером.
Прерываемая команда [restartable instruction] — команда, выполнение
которой может быть приостановлено при возникновении прерывания и продолжено
после его обработки.
Команда повторения, повторяемая команда [repetition instruction] —
команда, вызывающая повторение определенной последовательности команд,
образующих циклическую группу — цикл, а также обеспечивающая установку и
проверку условия выхода из цикла.
5 ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧ ПРОГРАММИРОВАНИЯ
ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ АИС, ТЕХНИЧЕСКИЕ (АППАРАТНЫЕ) СРЕДСТВА [hardware]
Совокупность электрических, электронных и механических компонентов
автоматизированных систем составляет их техническое обеспечение (в отличие
от программных средств [software], представляющих собой программное
обеспечение автоматизированных систем).
ЭЛЕКТРОННАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА, ЭВМ, КОМПЬЮТЕР [computer]
Комплекс технических и программных средств, основанных на использовании
электроники и предназначенных для автоматической или автоматизированной
обработки данных в процессе решения вычислительных и информационных задач.
Впервые принципы построения и функционирования ЭВМ были сформулированы
американским ученым-математиком Джоном фон Нейманом в 1945 г. В
соответствии с указанными принципами в состав ЭВМ должны входить:
арифметическое логическое устройство (АЛУ [АШ — Arithmetic and Logic
Unit]), выполняющее арифметические и логические операции; устройство
управления, предназначенное для организации выполнения программ;
запоминающие устройства (ЗУ); внешние устройства для ввода-вывода данных.
ПОКОЛЕНИЕ ЭВМ [computer generation]
Один из способов классификации ЭВМ по степени их развития. Каждое
поколение ЭВМ отличается от других архитектурой, элементной базой, степенью
развитости программных средств, производительностью и другими показателями.
В настоящее время различают пять поколений ЭВМ.
ЭВМ первого поколения [first-generation computer] — использовали ламповую
элементную базу, обладали малым быстродействием и объемом памяти, имели
неразвитые операционные системы, программирование выполнялось на языках
программирования низкого уровня (конец 40-х — 50-е гг.).
ЭВМ второго поколения [second-generation computer] — использовали
полупроводниковую элементную базу, изменяемый состав внешних устройств,
языки программирования высокого уровня и принцип библиотечных программ
(конец 50-х, 60-е и начало 70-х гг.).
ЭВМ третьего поколения [third-generation computer] — использовали в
качестве элементной базы интегральные схемы (ИС), имели развитую
конфигурацию внешних устройств и стандартизированные средства сопряжения,
обладали большим быстродействием и объемами основной и внешней памяти.
Развитая операционная система обеспечивала работу в мультипрограммном (то
есть с использованием многих программ) режиме (70-е — начало 80-х гг.).
ЭВМ четвертого поколения [fourth-generation computer] — используют
большие и сверхбольшие интегральные схемы (БИС и СБИС), виртуальную память,
многопроцессорный с параллельным выполнением операций принцип построения,
развитые средства диалога (середина 80-х гг. по настоящее время).
ЭВМ пятого поколения [fifth-generation computer] — характеризуются наряду
с использованием более мощных СБИС применением принципа "управления
потоками данных" (в отличие от принципа Джона фон Неймана "управления
потоками команд"), новыми решениями в архитектуре вычислительной системы и
использованием принципов искусственного интеллекта. С ЭВМ пятого поколения
связывают наряду с другими особенностями возможность ввода данных и команд
голосом. Начало разработки ЭВМ этого поколения можно отнести ко второй
половине 80-х гг., внедрения первых образцов — к первой половине 90-х гг.
ЭВМ МОГУТ РАЗЛИЧАТЬСЯ ТАКЖЕ ПО СЛЕДУЮЩИМ ОСНОВАНИЯМ:
1. По принципу построения и действия
Аналоговая ЭВМ (ABM) [analog computer] — вычислительная машина
непрерывного действия, обрабатывающая аналоговые данные. Предназначена для
воспроизведения определенных соотношений между непрерывно изменяющимися
физическими величинами. Основные области применения связаны с
моделированием различных процессов и систем.
Цифровая ЭВМ (ЦЭВМ) [computer] — то же, что ЭВМ. Уточнение типа (ЦЭВМ)
производится в случаях, когда это особо необходимо, например в сложных
вычислительных системах, включающих ЭВМ разных видов.
Комбинированная (аналого-цифровая) ЭВМ [combined computer] — ЭВМ,
сочетающая аналоговую и цифровую форму обработки данных.
Многопроцессорная ЭВМ (система) [multiprocessor system (computer)] — ЭВМ,
архитектура которой предусматривает использование большого числа
процессоров, чем обеспечивается существенное повышение ее вычислительной
мощности и, в частности, возможность обработки значительных объемов
информации. Принципы построения таких ЭВМ реализованы в симметричных
многопроцессорных системах [SMP — Symmetric Multiprocessor Systems]
(например, PowerScale группы компаний Bull), системах с массовым
параллелизмом [МРР — Massively Parallel Processing Architectures] и др.
Транспьютер [transputer— or англ. TRANSistor и comPUTER]
Микроэлектронный прибор, объединяющий на одном кристалле мощный
микропроцессор, быструю память, интерфейс внешней памяти и каналы ввода-
вывода. Предназначен для построения параллельных вычислительных структур.
Впервые был создан в 1983 г. фирмой INMOS (Великобритания).
ЭВМ с многопроцессорной параллельной архитектурой, чем обеспечивается
существенное увеличение ее производительности. При построении транспьютеров
используется специальный язык параллельного программирования Occam.
2. По вычислительной мощности и габаритам
СуперЭВМ [supercomputer] — класс сверхпроизводительных ЭВМ,
предназначенных для решения особо сложных задач в областях науки, техники и
управления. Сверхвысокая производительность достигается преимущественно за
счет параллельной архитектуры, предусматривающей использование большого
числа функционально ориентированных процессоров и параллельного
программирования, сверхглубокого охлаждения процессоров (до температур,
близких к абсолютному нулю), а также высокоскоростных СБИС. В мире
насчитывается ограниченное количество ЭВМ такого типа (порядка 500).
Основными производителями их являются фирмы США и Японии, в частности Cray,
Fujitsu и NEC.
Большая ЭВМ [large computer] — ЭВМ, имеющая высокую производительность,
большой объем основной и внешней памяти, обладающая способностью
параллельной обработки данных и обеспечивающая как пакетный, так и
интерактивный (диалоговый) режимы работы.
ЭВМ средней производительности [medium computer] — ЭВМ с
производительностью до нескольких миллионов операций в секунду, емкостью
оперативной памяти в несколько десятков Мбайт и разрядностью машинного
слова не менее 32.
Малая ЭВМ, мини-ЭВМ [small computer, minicomputer] — в прошлом так
назывались ЭВМ, конструктивно выполненные в одной стойке и занимавшие
небольшой объем (порядка десятых долей кубометра). По сравнению с большими
и средними машинами мини-ЭВМ обладают существенно более низкой
производительностью и объемом памяти. Термин "мини-ЭВМ" не имеет точного
определения, он очень близок по содержанию к термину "микроЭВМ", четкой
границы между двумя классами этих машин нет.
МикроЭВМ [microcomputer]
1. Кристалл большой или сверхбольшой интегральной схемы, который в отличие
от микропроцессора содержит все логические элементы, необходимые для
образования полноценной вычислительной системы.
2. ЭВМ, использующая в качестве арифметического и логического устройства
один или несколько микропроцессоров. Указанное значение термина в смысле
отнесения ЭВМ к тому или иному классу машин может быть признанно
некорректным в связи с широким применением микропроцессорной техники в
машинах разных классов.
3. С понятием микроЭВМ связаны также термины:
Однокристальная ЭВМ [single-chip computer] — микроЭВМ, выполненная на
одной большой (БИС) или сверхбольшой (СБИС) интегральной микросхеме.
Одноплатная ЭВМ [single-board computer] — микроЭВМ, у которой
микропроцессор, микросхемы устройств памяти и подсистемы ввода-вывода, а
также другие основные компоненты размещены на одной печатной плате.
Однопроцессорная ЭВМ [monoprocessor computer] — ЭВМ с одним центральным
процессором.
Страницы: 1, 2
|