Структура системного программного обеспечения
Системное программное обеспечение можно разделить на базовое программное обеспечение, которое, как правило, поставляется вместе с компьютером, и сервисное программное обеспечение, которое может быть приобретено дополнительно.
Базовое программное обеспечение (base software) – минимальный набор программных средств, обеспечивающих работу компьютера. Сервисное программное обеспечение включает программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
Рис. 2.3. Структура системного программного обеспечения
В базовое программное обеспечение входят:
- операционная система;
- операционные оболочки (обычно текстовые и графические);
- сетевая операционная система.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:
- управление памятью (максимальный объем адресуемого пространства, типы памяти, технические показатели использования памяти);
- функциональные возможности вспомогательных программ (утилит) в составе операционной системы;
- наличие компрессии диска;
- возможность архивирования файлов;
- поддержка многозадачного режима работы;
- поддержка сетевого программного обеспечения;
- наличие качественной документации;
- условия и сложность процесса инсталляции;
- мобильность (переносимость), безопасность, надежность и др.
Сетевые операционные системы – комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети. Сетевая ОС предоставляет пользователям различные виды сетевых служб (управление файлами, электронная почта, аудиои видеоконференции, распределенные вычисления, процессы управления сетью и др.), поддерживает работу в абонентских системах. Сетевые операционные системы используют архитектуру клиент-сервер или одноранговую архитектуру. Вначале сетевые операционные системы поддерживали лишь локальные вычислительные сети (ЛВС), сейчас эти операционные системы распространяются на ассоциации локальных сетей (см. часть 1, раздел 4).
Операционные оболочки – специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Операционные оболочки имеют текстовый и графический варианты интерфейса конечного пользователя, а в будущем возможны варианты речевого интерфейса и распознавание рукописного ввода данных. Эти программы существенно упрощают задание управляющей информации для выполнения команд операционной системы, уменьшают напряженность и сложность работы конечного пользователя.
Расширением базового программного обеспечения компьютера является набор сервисных, дополнительно устанавливаемых программ (или программ, поставляемых непосредственно с операционными системами), которые можно классифицировать по функциональному признаку следующим образом:
- программы диагностики работоспособности компьютера;
- антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
- программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физическом уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
- программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
- программы обслуживания сети.
Эти программы часто называются утилитами. Утилиты – программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров (диагностики, тестирования аппаратных и программных средств, оптимизации использования дискового пространства, восстановления разрушенной на магнитном диске информации и т. п.).
В современных операционных системах такие утилиты могут быть представлены, как, например, в Windows, группами программ "стандартные" и "служебные". В них входит ряд полезных программ: калькулятор, звукозапись, блокнот и др. В группе "служебные" имеется ряд программ, расширяющих возможности операционной системы: очистка и дефрагментация диска, восстановление системы и т.п.
Прикладное программное обеспечение
Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах деятельности человека. Помимо создания новых программных продуктов, разработчики прикладных программ большие усилия тратят на совершенствование и модернизацию популярных систем, создание их новых версий. Новые версии, как правило, поддерживают старые, сохраняя преемственность, и включают в себя базовый минимум (стандарт) возможностей.
Один из возможных вариантов классификации программных средств (ПС), составляющих прикладное программное обеспечение (ППО), отражен на2.4. Как и почти всякая классификация, приведенная на рисунке, не является единственно возможной. В ней представлены даже не все виды прикладных программ. Тем не менее, использование классификации полезно для создания общего представления о ППО.
Рис. 2.4. Структура прикладного программного обеспечения
Несмотря на широкие возможности использования компьютеров для обработки самой разной информации, самыми популярными являются программы, предназначенные для работы с текстами – текстовые редакторы и издательские системы. Текстовыми редакторами называют программы для ввода, обработки, хранения и печатания текстовой информации в удобном для пользователя виде. Эксперты оценивают использование компьютера в качестве печатающей машинки в 80% всего времени задействования техники.
Большую популярность приобрели программы обработки графической информации. Компьютерная графика в настоящее время является одной из самых динамично развивающихся областей программного обеспечения. Она включает в себя ввод, обработку и вывод графической информации – чертежей, рисунков, фотографий, картин, текстов и т. д. – средствами компьютерной техники. Различные типы графических систем позволяют быстро строить изображения, вводить иллюстрации с помощью сканера или видеокамеры, создавать анимационные ролики. Графические редакторы позволяют пользоваться различным инструментарием художника, стандартными библиотеками изображений, наборами стандартных шрифтов, редактированием изображений, копированием и перемещением фрагментов по страницам экрана и др.
Для выполнения расчетов и дальнейшей обработки числовой информации существуют специальные программы – электронные таблицы. В процессе деятельности любого специалиста часто требуется представить результаты работы в виде таблиц, где одна часть полей занята исходными данными, а другая – результатами вычислений и графического анализа. Характерными для них является большой объем перерабатываемой информации, необходимость многократных расчетов при изменении исходных данных. Автоматизацией подобной рутинной работы и занимаются электронные таблицы.
Одним из наиболее перспективных направлений развития вычислительной техники является создание специальных аппаратных средств для хранения гигантских массивов информационных данных и последующей нечисловой обработки их, чаще всего – поиска и сортировки. Для компьютерной обработки подобных баз данных используют системы управления базами данных (СУБД). Последние представляют собой набор средств программного обеспечения, необходимых для создания, обработки и вывода записей баз данных. Различают несколько типов СУБД: иерархические, сетевые, реляционные. При работе с СУБД выделяют несколько последовательных этапов:
- проектирование базы данных;
- создание структуры базы данных;
- заполнение базы данных;
- просмотр и редактирование базы данных;
- сортировку базы данных;
- поиск необходимой записи;
- выборку информации по определенным признакам (критериям);
- создание отчетов.
Как правило, большинство популярных систем управления базами данных поддерживают эти этапы и предоставляют удобный инструментарий для их реализации.
Желание объединить функции различных прикладных программ в единую систему привело к созданию интегрированных систем. Современная концепция интеграции программных средств – кооперация отдельных прикладных программных систем по типу широко известного пакета Microsoft Office. Универсальные интегрированные системы разрабатывались по принципу единой системы, содержащей в качестве элементов множество программ, полезных практически любому пользователю. К таким программам относятся: текстовые и графические редакторы, электронные таблицы, пакеты для разработки презентаций, почтовые программы, органайзеры, системы управления базами данных и др.
Сами системы, входящие в пакет, являются независимыми, более того, они сами представляют локально интегрированный пакет, поскольку помимо основной своей задачи поддерживают функции других систем. Например, текстовый редактор Word обладает возможностью манипулировать с электронными таблицами и базами данных, а в электронной таблице Excel встроен мощный текстовый редактор. Для сопряжения информационных данных из различных программных систем в них предусматривают импортно-экспортную систему обмена с перекодировкой форматов представления данных.
К прикладному программному обеспечению относятся также инструментальные программные средства специального назначения. В настоящее время создаются различные специальные программные системы целевого назначения, предназначенные для работы специалистов в некоторой предметной области. Такие программы называют авторскими инструментальными системами. Авторская система представляет интегрированную среду с заданной интерфейсной оболочкой, которую пользователь может наполнить информационным содержанием своей предметной области.
Среди таких систем получили распространение экспертные системы. Такие программы ведут себя подобно эксперту в некоторой узкой прикладной области. Экспертные системы призваны решать задачи с неопределенностью и неполными исходными данными, требующие для своего решения экспертных знаний. Кроме того, эти системы должны уметь объяснять свое поведение и свое решение.
Принципиальным отличием экспертных систем от других программ является их адаптивность, т.е. изменчивость в процессе самообучения.
Принято выделять в экспертных системах три основных модуля:
- модуль базы знаний;
- модуль логического вывода;
- интерфейс пользователя.
Экспертные системы, являющиеся основой искусственного интеллекта, получили широкое распространение в различных областях науки (например, для классификации животных и растений по видам, для химического анализа), в медицине (постановка диагноза, анализ электрокардиограмм, определение методов лечения), в технике (поиск неисправностей в технических устройствах, слежение за полетом космических кораблей и спутников), в политологии и социологии, криминалистике, лингвистике и т.д.
В последнее время широкую популярность получили программы обработки гипертекстовой информации. Гипертекст – это форма организации текстового материала не в линейной последовательности, а в форме указания возможных переходов (ссылок), связей между отдельными его фрагментами. В обычном тексте используется обычный линейный принцип размещения информации, и доступ к нему (тексту) осуществляется последовательно. В гипертекстовых системах информация напоминает текст энциклопедии, и доступ к любому выделенному фрагменту текста осуществляется произвольно по ссылке. Организация информации в гипертекстовой форме используется при создании справочных пособий, словарей, контекстной помощи (Help) в прикладных программах.
Расширение концепции гипертекста на графическую и звуковую информацию приводит к понятию гипермедиа. Идеи гипермедиа получили распространение в сетевых технологиях, в частности, в интернет-технологиях. Технология WWW (World Wide Web) позволила структурировать громадные мировые информационные ресурсы посредством гипертекстовых ссылок. Разработаны программные средства, позволяющие создавать подобные веб-странички. Стали высокоразвитыми механизмы поиска нужной информации в лабиринте информационных потоков. Популярными поисковыми средствами в Интернете являются Yandex, Google, Yahoo, AltaVista, Magellan, Rambler и др.
Мультимедиа (multimedia) – это взаимодействие визуальных и аудиоэффектов под управлением интерактивного программного обеспечения. Появление и широкое распространение компакт-дисков (CD-ROM и DVD) сделало эффективным использование мультимедиа в рекламной и информационной службе, сетевых телекоммуникационных технологиях, в обучении.
Мультимедийные игровые и обучающие системы начинают вытеснять традиционные "бумажные библиотеки". Сегодня в DVD-библиотеках можно "гулять" по музеям, Московскому Кремлю и т.д. с помощью "электронного путеводителя", изучать различные учебные дисциплины, языки программирования и др.
Отдельную группу прикладного ПО составляют программные средства профессионального уровня. Каждая прикладная программа этой группы ориентируются на достаточно узкую предметную область, но проникает в нее максимально глубоко. Так функционируют АСНИ – автоматизированные системы научных исследований, каждая из которых "привязана" к определенной области науки, САПР – системы автоматизированного проектирования, каждая из которых также работает в узкой области, АСУ – автоматизированные системы управления (которых в 60-70-х годах были разработаны тысячи).
Следует отметить не только условность предложенной выше классификации, но и наличие пересечений. Так, каждую конкретную экспертную систему вполне можно отнести к ППО профессионального уровня; принцип гипертекста реализован в ряде авторских систем и т.д. В тоже время в связи с важностью отдельных групп прикладного ПО для широкого круга пользователей компьютерных систем прикладные программные системы общего назначения рассматриваются более подробно в разделе 8.