4.4. Программное обеспечение ЭВМ

Определение понятия «программное обеспечение». ЭВМ представляют интегрированное целое - аппаратную часть и программное обеспечение. ЭВМ основана на принципе программного управления - последовательного выполнения записанных в памяти кодов команд, состоящих из кодов операций и кодов адресов данных. Операция изменяет данные (величину, логическое значение и др.) ячейки памяти с адресом, указанным в команде, - это команды арифметики и логики. Устройство, выполняющее такие команды, так и называется - АЛУ (арифметико-логическое или просто -арифметическое устройство).

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

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

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

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

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

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

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

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

Наиболее распространенной на ПК является ОС MS Windows, которая прошла путь развития от графической оболочки для практически первой массовой ОС MS-DOS (Disc Operation System) до современных версий Widows (уже не «оболочек», так как от MS-DOS к этому времени отказались), ориентированных как на серверы компьютерных сетей, так и на профессиональные работы и потребности массового пользователя.

Для массового пользователя интерес представляет версия Windows ME (Millennium Edition - «ОС тысячелетия»), приуроченная к началу нового тысячелетия, которая насыщена разнообразным ПО. Например, она включает в свой состав программу Media Player 7 - универсальный проигрыватель, воспроизводящий, помимо музыки, видео, анимацию, панорамы и др., программу Windows Movie Maker оцифровки и монтажа любительского видео и множество других.

К системному ПО относятся также утилиты (буквально - «полезные») - программы диагностики и тестирования ЭВМ и др.

Современные ОС, отдаляя программиста от аппаратного ядра ЭВМ, существенно повышают интеллектуальность интерфейса «ЭВМ - пользователь».

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

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

ППП разделяют на ППП общего назначения (I); ППП, расширяющие функции ОС (II); проблемно-ориентированные (III) и интегрированные (IV). ППП расширения функций ОС охватывают широкий набор ПС узкого назначения: антивирусные, работы с файлами, сопряжения ЭВМ с приборным оборудованием и др. ППП общего назначения ориентированы на широкий круг задач различных проблемных областей. Проблемно-ориентированные ППП имеют приложение в достаточно узких специфических областях. Интегрированные пакеты объединяют функционально-ориентированные ППП, в основном общего назначения.

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

Класс ППП

Группа ППП

Некоторые представители ППП

(I) Общего назначения

Текстовые процессоры

MS Word, Лексикон

Электронные таблицы

MS Excel, SuperCalc

Системы управления базами данных (СУБД)

MS Access, dBase, Paradox, Clipper

Класс ППП

Группа ППП

Некоторые представители ППП

 

ППП деловой графики

MS Chart, GRAF Lotus

Телекоммуникационные

CrossTalk, QL2Fax, Комета

(II) Расширяющие функции ОС

Антивирусные

Turbo Antivirus, Norton Antivirus, Доктор Веб, «Лаборатория Касперского»

Работы с файлами и архивами

Norton Commander, WinZip, WinRAR

Поддержки систем интеграции ППП

ИСПАК, САТУРН

(III) Проблемно-ориентированные

Графические

CorelDraw, Adobe Photoshop, Freelance Plus

Музыкальные

BAND-IN-A-BOX, Спецификация XG, Visual Arranger for Windows

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

MYCIN (медицинская), TOPSI (принятия решений), Expert Choice (оптимизации решений)

Системы автоматизации проектирования (САПР)

Palasm (проектирование матриц ПЗУ), AUTRA DSP (комплексная: машиностроение, строительство и др.)

Системы автоматизации моделирования

MatLab, MathCAD, Statistica, Stat Graf, Statan ППП САПР, отдельные ППП I, II и III классов

Автоматизированные рабочие места (АРМ)

ППП САПР, отдельные ППП I, II и III классов

Издательские (верстальщики)

MS Publisher, QuarkXPress, Corel Ventura, Macromedia FreeHand

(IV) Интегрированные

Объединение нескольких ППП

MS Office, Framework, Symphony, MS Works

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

Технические средства речевого общения с ЭВМ. Речевые технологии образуют особое направление НАВТ Они складываются из задач автоматического распознавания живой речи и автоматического синтеза машинной речи. Целью решения этих задач являются: речевое управление техническими устройствами, многоязычный ввод устной речи для перевода, преобразование устной речи в печатный текст и в тест в азбуке Брайля, создание фонетических тренажеров и др.

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

В области синтеза речи в настоящее время в стадии разработки находятся системы TTS - Text-To-Speech («Текст -Речь»). TTS состоит из подсистемы лингвистического анализа и подсистемы акустического синтеза речи. Созданы системы MITALK и DECTALK для английского языка и многоязычная система INFOVOX. В России подобные работы ведутся в МГУ и СПбГУ. Однако приемлемых результатов пока добиться не удалось нигде в мире.

Исследовательские и конструкторские работы по распознаванию слитной речи, несмотря на большие научные достижения, не привели еще к практически значимым результатам. Большего достигли работы в решении более простой задачи распознавания отдельных слов. Так в ПО фирмы Microsoft включаются программы распознавания речи для подачи команд компьютеру и диктовки текста на английском языке (Windows XP, Office XP и др.).

Музыкальный компьютер. Для превращения ПК в многофункциональный музыкальный компьютер необходимо дополнение его звуковой картой, внешним MIDI-устройством и MIDI-клавиатурой. Необходимы также специфический аппаратный интерфейс и программа - музыкальный редактор. MIDI (Musical Instrument Digital Interface) - цифровой интерфейс музыкального инструмента, является стандартом, принятым во всем мире. Этим стандартом организация производителей музыкальной аппаратуры (NAMM, США) в 1982 г. установила требования к аппаратным и программным средствам сети электронных инструментов.

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

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

Современные музыкальные редакторы создаются с использованием новейших научных достижений в области искусственного интеллекта, теории информации, теории алгоритмов и других наук. В их функции входит поддержка MIDI-стандарта, обеспечение связи аппаратной части MIDI-интерфейса с внешними MIDI-устройствами, отображение списка инструкций, передаваемых синтезатору, использование MIDI-драйверов, имеющихся в ОС (в Windows 95 входит драйвер MIDI-Mapper) и множество других.

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