Программные средства реализации информационных процессов
Любой компьютер состоит из технического обеспечения (hardware) и функционирует, решает задачи с помощью программного обеспечения (software).
Структура программного обеспечения достаточно сложна и неоднозначна (в том смысле, что все программы не могут быть отнесены к тому или иному классу этой структуры однозначно, односложно). Эта структура несколько условная и производит классификацию программного обеспечения нестрого и только по назначению программ, хотя есть и другие критерии эффективности программного обеспечения (дружественность пользователю, тип использования и т.д.).
Базовое программное обеспечение (ПО).
Системное ПО программы обеспечения взаимодействия пользователя и компьютера).
Операционные системы (ОС) - программы ОС (отладчики, загрузчики и т.д.).
Программы обеспечения связи с устройствами (драйверы), тестирования их.
1. Инструментальное ПО (программы для массовой разработки других программ).
Трансляторы с языков программирования.
Интерфейсные системы – программы обеспечения дружественного интерфейса.
2. Проблемно-ориентированные инструментальные системы (САПР, АСУ, АРМ и др.).
Прикладное программное обеспечение.
Прикладное ПО - программы обеспечения решения прикладных задач пользователя).
Автономные программы (программы, не связываемые с другими из прикладного ПО).
Библиотеки программ (программы, организованные по принципу библиотек книг).
Пакеты прикладных программ, ППП (проблемно-ориентированные прикладные системы).
Интегрированные пакеты прикладных программ - системы, состоящие из связываемых ППП).
Специальное (уникальное) ПО - программы, используемые для решения уникальных проблем).
Охарактеризуем программное обеспечение (ПО) компьютера (компьютерной системы, сети).
Операционные системы
Наиболее сложный и важный элемент ПО – это ОС.
ОС – совокупность программ, которые обеспечивают нормальную работу всех основных устройств компьютера, всех программ и данных, используемых на компьютере при решении задач.
ОС состоит из двух основных частей – управляющие программы и обрабатывающие программы и включает в себя следующие основные программы:
диспетчер – управляющая программа для координации работы различных устройств ЭВМ, планирования использования и распределения машинного времени, аппаратуры между программами, пересылка программ из ВЗУ в ОЗУ и наоборот, распределение данных в памяти, ввод программ в выделенные участки ОЗУ, управление выполнением задачи, принятие решений в аварийных ситуациях, обнаружение и классификация ошибок и др.;
супервизор – управляющая программа для контроля координации используемых ресурсов и последовательности действий процессора;
отладчик – обрабатывающая программа для отладки программы;
редактор связей – программа для формирования непосредственно выполняемой в памяти программы на машинном языке.
Основными функциями ОС являются:
выполнение очередного по приоритету задания и отслеживание очередности;
управление распределением данных в памяти и извлечением их из памяти;
управление устройствами, их актуализация по мере необходимости (по требованиям программ);
восстановление работоспособности при сбоях;
управление работой арифметико-логического командного устройства процессора.
Данные, привлекаемые при решении задач, ОС с помощью специальных программ отображает на реальные физические структуры, носители данных. Для этих целей используется так называемая файловая система обмена данными между программами пользователя и ОС.
Файл – именованный структурированный набор однотипных последовательностей данных, обычно хранимый на внешнем носителе и копируемый для работы с ним по мере надобности в ОЗУ. Файловая система должна обеспечивать выполнение основных операций над файлами: создание, модификация (в том числе расширение и сжатие), уничтожение, чтение (запись), перемещение файла. Файловая система ведет справочник файлов, где регистрируются файлы активные, используемые в данном задании в данный момент.
ОС бывают различного типа:
однозадачные, используемые для решения в каждый момент времени только одной задачи;
многозадачные мультипрограммной обработки, загружающие в ОЗУ последовательность (пакет) независимых задач, а затем решающие эти задачи по очереди, выделяя каждой из них ресурсы компьютера (память, процессор, внешнее устройство) на некоторый промежуток времени, например, на 0,1 с (за такой небольшой промежуток времени компьютер с быстродействием 1 млн операций в секунду и очередностью в 10 программ, в каждой программе произведет около 100000 операций);
реального времени, которые обрабатывают порции данных по мере их поступления от источника информации, например от летящей ракеты и др.
Пример. ОС Linux – многопользовательская сетевая ОС с оконным графическим интерфейсом для персональных компьютеров и рабочих станций. Это открытая система (Open Code System) – исходные тексты распространяются с лицензией на свободное копирование, модификацию и установку для неограниченного числа пользователей. Разработана система Линусом Торвалдсом (Linus Torvalds) из университета Хельсинки и модифицируется всеми пользователями и др. Основные возможности ОС Linux:
возможность бесплатного и легального получения и использования исходных кодов ОС;
высокое быстродействие, надежность, устойчивость, защищенность от вирусов;
эффективная поддержка многопользовательского режима, многозадачности, интерактивности;
интегрируемость компьютера с ОС Linux в различные сети и Интернет;
возможность выполнения загрузочных файлов ОС Unix, DOS и Windows;
богатый набор инструментальных средств для разработки прикладных программ;
богатая, полная и открытая документация и исходные тексты всех компонент;
использование компьютера на полную мощность, "превращение" его в аналог сервера;
защита памяти процесса, экономная загрузка и динамически изменяемая память;
поддержка национальных алфавитов и соглашений, расширяемость и др.
Программное базовое обеспечение системы Linux:
системы программирования (C++, Pascal, Perl, ADA, Modula, Prolog, Java, Python и другие);
динамические библиотеки программ;
сетевое обеспечение на базе протоколов TCP/IP;
поддержка электронной мультимедийной почты;
поддержка основных типов СУБД;
графическая сетевая оконная система;
издательская система TEX , текстовый процессор LyX , основанный на TEX ;
многие другие сотни программ и пакетов.
Пример. Программы обеспечения связей процессора с устройствами бывают различного типа и назначения – драйверы дисплея, клавиатуры, мыши, принтера и т.д. Еще больше различных программ для тестирования (диагностики неисправностей) устройств компьютера – программы тестирования памяти, принтера, дисплея и т.д.
Инструментальные системы
Инструментальная система – это программная система (лучше говорить о программной среде, куда включаем и пользователя, так как именно пользователь, его знания, умения, навыки делают эту систему менее или более эффективной) для ускоренной и малоресурсной разработки каких-то других программ (или обработки данных), как системных или прикладных, так и новых инструментальных.
Пример. Рассмотрим инструментальную среду – графический редактор, который позволяет визуализировать графические объекты двумя основными способами: векторно или растрово. Векторный подход динамически постепенно формирует на экране (который рассматривается как некоторое координатное пространство) объект по его представлению, составленному из графических примитивов. Растровый подход формирует на экране весь объект целиком на основе его макета (шаблона, графических примитивов в видеопамяти), состоящего из отдельных кластеров пикселей в некоторой пиксельной двухмерной матрице (аналоге листа для рисования с декартовой системой координат). В этой матрице записывается информация о яркости и цвете кластера изображения (на один пиксель иногда 1-2 байта и более), а сама матрица может иметь размерность 1024x1024 пикселей и более. Сформированное в пиксельной матрице изображение хранится в видеопамяти дисплея и выводится на экран в режиме кадровой регенерации. Изображение в цвете (рисование в цвете) – это манипуляция пикселями этой матрицы. Графические 3D-редакторы изображений позволяют не только конструировать 3D-объекты, но и перемещать их по задаваемой траектории, то есть осуществлять анимацию. Одной из мощных графических сред является пакет 3D-Studio Max фирмы Autodesk. Кроме этого пакета, широко используются графические пакеты:
GRAFLotus Freelance – для работы с деловой и компьютерной графикой;
Splash и Fanta – для работы в области дизайна и компьютерных фильмов;
AutoCAD – для автоматизации проектно-конструкторских работ;
CorelDraw, PaintBrush, AdobeIllustrator – для разнообразных приложений.
Трансляторы подробно рассматриваются нами ниже.
Рассмотрим интерфейсные системы обеспечения дружественного интерфейса между пользователями и программами).
Пример. Наиболее ранняя интерфейсная система – Norton Commander (Нортон Коммандер, автор – Питер Нортон). Системы, подобные Norton Commander (NC), называются операционными оболочками и их можно отнести к инструментальным средам (инструментарий более удобного, комфортного интерфейса с ОС, с файловой системой, минуя утомительный командный язык ОС). Такая система позволяет визуально и удобно выполнять копирование, создание, удаление, переименование, перемещение, просмотр и поиск файлов и т.д. NC использует управляющие и функциональные клавиши, которым соответствуют определенные операции и отклики системы:
Esc – отмена выполняемой функции;
Enter – выполнение функции;
Тab – смена текущей (активной) панели на другую (ранее пассивную);
PgUp (PgDn) – переход на страницу вперед (назад);
Home (End) – установка на начало (конец) каталога;
,
,
,
– клавиши перемещения курсора влево, вверх, вправо, вниз;
Ctrl-S (одновременное нажатие клавиш Ctrl и S) — на символ влево;
Ctr-D (Ctr-A,Сtrl-F) – на символ вправо (на слово влево, на слово вправо);
F1 – клавиша помощи, подсказки по активному состоянию (клавиша help);
F2 – запись на диск активного файла;
F3 – просмотр содержимого активного файла;
F4 – редактирование активного файла;
F5 – копирование активного файла в активный каталог на другой панели;
F6 – переименование (перенос) активного файла;
F7 – создание нового каталога (подкаталога);
F8 – удаление активного файла;
F9 – активизация команд панели (системного меню) NC;
F10 – выход из NC.
Более развитым отечественным аналогом NC для Windows-систем является, например, оболочка FAR-менеджер.
Проблемно-ориентированные инструментальные системы служат для решения достаточно широкого класса задач некоторой профессиональной, проблемной ориентации: САПР – системы автоматизации проектирования, АСУ – автоматизированные системы управления, АРМ – автоматизированные рабочие места, СУБД – система, обеспечивающая интерфейс программ пользователя и данных из базы данных, ЭС – экспертные системы, системы накопления, хранения и актуализации опыта, знаний, умений, навыков (экспертных суждений) экспертов и др.
Автономные программы – это те программы, которые в громадном количестве ежедневно разрабатываются и используются для различных прикладных целей (обучения, вычисления, моделирования и т.д.).
Библиотеки программ – совокупность программ для решения задач определенной направленности (например, решения систем алгебраических уравнений), с описанием, каталогом, инструкциями и размещенные на внешних носителях таким образом, чтобы иметь возможность легко подключаться к решаемой задаче (к выполняемой программе) по ходу ее решения.
Пакет прикладных программ (ППП) состоит из следующих обязательных частей:
описание, представление класса задач, решаемых с помощью ППП;
комплекс программ, обеспечивающих построение прикладных программ ППП (технологической цепочки);
комплекс прикладных программ, обеспечивающих решение задач из предметной области ППП;
входной язык (язык запросов) ППП;
база данных для хранения данных, передача их модулям ППП;
монитор (управляющая программа) ППП, обеспечивающая ввод задания (запроса), его расшифровку и построение технологической цепочки из модулей ППП для поиска ответа.
Пример. Простым и универсальным студенческим пакетом статистического анализа данных является пакет SPSS. Интерфейс пользователя с SPSS для Windows реализуется с помощью простых меню и диалоговых окон, то есть SPSS свободна от использования специально изучаемого командного языка пакета. Имеется редактор Data Editor для визуального контроля вводимых данных, функционально аналогичный редакторам табличных процессоров, например, Excel. По столбцам отображаются варьируемые переменные, а по строкам – наборы их вариации, причем с каждой из переменных можно ознакомиться путем вызова ее имени. Ввод данных – аналогичен вводу данных табличного типа (например, в Excel). В диалоговых окнах можно определять (вводить или вычислять) сложные выражения, используемые далее в расчетах. Есть возможность применения различных законов случайного распределения. Более мощным (но и более сложным в изучении и использовании) является математический пакет MathCAD.
Функциональная система интегрированного пакета программ состоит не из модулей (как в ППП), а из ППП.
Пример. Наиболее распространенный интегрированный пакет прикладных программ – MS Office (пакет автоматизации работы в офисе). В его ядро входят следующие пакеты: Word – текстовый редактор, Excel – электронная таблица, Access – СУБД, PowerPoint – система презентации и др.
Специальное (или уникальное) ПО разрабатывается для решения очень важных, уникальных проблем.
Пример. К такому классу ПО можно отнести программную систему управления кораблем "Буран".