Программное обеспечение ЭВМ
Определение понятия «программное обеспечение». ЭВМ представляют интегрированное целое - аппаратную часть и программное обеспечение. ЭВМ основана на принципе программного управления - последовательного выполнения записанных в памяти кодов команд, состоящих из кодов операций и кодов адресов данных. Операция изменяет данные (величину, логическое значение и др.) ячейки памяти с адресом, указанным в команде, - это команды арифметики и логики. Устройство, выполняющее такие команды, так и называется - АЛУ (арифметико-логическое или просто -арифметическое устройство).
Другой класс команд, обеспечивающий изменение адреса очередной исполняемой команды, исполняет устройство управления - УУ Арифметико-логическое и устройство управления обмениваются данными для определения адреса следующей исполняемой команды, зависящей от результатов счета.
Поскольку ЦП имеет разные дополнительные устройства, система команд ЭВМ содержит множество других команд, в основном пересылки данных между устройствами и команд управления ими.
Программа представляет собой машинный алгоритм решения задачи - вычислительной, логической, обработки символов или смешанной. ЭВМ исполняет только программу, записанную в машинных кодах, называемую исходным кодом. Часть программы, решающую подзадачу в составе программы, называют подпрограммой.
Программным обеспечением (ПО) конкретной ЭВМ называют всю совокупность программ, хранящуюся в ее памяти, а также - все программы, написанные для ЭВМ с данной системой команд, все программы для всех ЭВМ.
Программы редко бывают небольшими, и основной их массив представлен программными системами (ПС). Их создание - трудоемкая задача. Поэтому существуют системы записи программ в символическом коде на том или ином языке программирования.
Программа, записанная на языке программирования для исполнения, переводится (транслируется) в машинный код. Это также сложная алгоритмическая задача, и программы перевода (трансляторы) представляют собой сложные ПС в сотни тысяч команд.
В мире существуют многие миллионы ПС, которые разбиваются на небольшое число классов: системное ПО, инструментальное ПО и прикладное ПО. В их характеристике различают как на программно-аппаратном, так и на чисто программных (нескольких) уровнях ядро и оболочку программно-аппаратной или программной системы. Используется также понятие платформы, в качестве которой берется как аппаратная часть ЭВМ, так и ее та или иная ПС.
Системное ПО. Важнейшей оболочкой ЭВМ, являющейся интерфейсом самого нижнего уровня между ЭВМ и пользователем, является операционная система (ОС). ОС прошли длительный путь развития от простых программ управления вводом и выводом данных ЭВМ первого поколения, встраиваемых программистами «вручную» в свои программы, до сложных современных ПС, обеспечивающих всесторонний и удобный доступ ко всем аппаратным ресурсам современных неизмеримо более сложных ЭВМ четвертого поколения, обладающих некоторыми чертами ЭВМ пятого поколения. При этом сохраняется свойство совместимости -прикладная программа, написанная в ранней версии ОС, исполняется в среде более поздней ОС.
Наиболее распространенной на ПК является ОС 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. В России подобные работы ведутся в МГУ и СПбГУ. Однако приемлемых результатов пока добиться не удалось нигде в мире[19].
Исследовательские и конструкторские работы по распознаванию слитной речи, несмотря на большие научные достижения, не привели еще к практически значимым результатам. Большего достигли работы в решении более простой задачи распознавания отдельных слов. Так в ПО фирмы Microsoft включаются программы распознавания речи для подачи команд компьютеру и диктовки текста на английском языке (Windows XP, Office XP и др.).
Музыкальный компьютер. Для превращения ПК в многофункциональный музыкальный компьютер необходимо дополнение его звуковой картой, внешним MIDI-устройством и MIDI-клавиатурой. Необходимы также специфический аппаратный интерфейс и программа - музыкальный редактор. MIDI (Musical Instrument Digital Interface) - цифровой интерфейс музыкального инструмента, является стандартом, принятым во всем мире. Этим стандартом организация производителей музыкальной аппаратуры (NAMM, США) в 1982 г. установила требования к аппаратным и программным средствам сети электронных инструментов.
Звуковая карта преобразует аналоговые сигналы в цифровые и обратно, синтезирует звуки инструментов, обеспечивает множество звуковых эффектов (реверберацию, хорус, стереозвук и т. д.), микширование звуков нескольких источников, синтезирует человеческий голос. Через нее осуществляется подключение второй звуковой карты, музыкальных синтезаторов, ритм-машин и другого посредством MIDI-интерфейса.
Соединительные кабели (аппаратный интерфейс) должны быть тщательно экранированы, а некоторые из них -выполнены на основе оптической связи: управляющий сигнал по оптико-волоконному кабелю передается на светодиод, так что никакие гальванические «наводки», могущие генерировать шум в соединительных цепях, просто невозможны. Все вопросы технического обеспечения музыкального компьютера обстоятельно изложены в книгах Р. и Ю. Петелиных.
Современные музыкальные редакторы создаются с использованием новейших научных достижений в области искусственного интеллекта, теории информации, теории алгоритмов и других наук. В их функции входит поддержка MIDI-стандарта, обеспечение связи аппаратной части MIDI-интерфейса с внешними MIDI-устройствами, отображение списка инструкций, передаваемых синтезатору, использование MIDI-драйверов, имеющихся в ОС (в Windows 95 входит драйвер MIDI-Mapper) и множество других.
Большинство музыкальных редакторов осуществляют представление музыкальных композиций нотными записями. Пером служит мышь. Программа помогает выбрать размер, установить ключ, знаки альтерации и т. п., следит за переходами тактовой черты. Игра может быть представлена сразу же в нотной записи. Множество функций музыкальных редакторов описывается в книгах Петелиных и других авторов.