Основные виды программного обеспечения

Основные виды программного обеспечения

При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения. Если раньше можно было легко перечислить основные категории ПО — операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась. Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность). Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.

Рисунок 2. Основные категории ПО

Прикладное программное обеспечение

Какие программы называют прикладными.

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

Прикладные программы могут носить и общий характер, например, обеспечивать составление и печатание документов и т.п.

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

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

Наиболее часто встречающееся прикладное ПО.

Рисунок 3. Пакеты прикладных программ.

Системные программы

Роль и назначение системных программ.

Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом.

Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы.

Рисунок 4. Пакеты системных программ

Системное программное обеспечение направлено:

- на создание операционной среды функционирования других программ;

- на обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;

- на проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;

- на выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).

Структура системного программного обеспечения.

Системного программное обеспечение можно разделить на:

Базовое программное обеспечение (base software) — минимальный набор программных средств, обеспечивающих работу компьютера,(как правило, поставляется вместе с компьютером). В базовое программное обеспечение входят: операционная система; операционные оболочки (текстовые и графические); сетевая операционная система.

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

Инструментальное ПО (Системы программирования)

К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:

ассемблеры — компьютерные программы, осуществляющие преобразование программы в форме исходного текста на языке ассемблера в машинные команды в виде объектного кода.

трансляторы - программы или технические средства, выполняющее трансляцию программы.

компиляторы — Программы, переводящие текст программы на языке высокого уровня, в эквивалентную программу на машинном языке.

интерпретаторы — Программы (иногда аппаратные средства), анализирующие команды или операторы программы и тут же выполняющие их

компоновщики (редакторы связей) — программы, которые производят компоновку — принимают на вход один или несколько объектных модулей и собирают по ним исполнимый модуль.

препроцессоры исходных текстов — это компьютерные программы, принимающие данные на входе, и выдающие данные, предназначенные для входа другой программы, например, такой, как компилятор

Отла?дчик (debugger)- является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе.

ПОНЯТИЕ ОПЕРАЦИОННОЙ ОБОЛОЧКИ И ОПЕРАЦИОННОЙ СИСТЕМЫ

Что такое операционная система?

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

Операционная система выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны.

Операционная система обычно хранится во внешней памяти компьютера — на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.

В функции операционной системы входит:

- осуществление диалога с пользователем;

- ввод-вывод и управление данными;

- планирование и организация процесса обработки программ;

- распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

- запуск программ на выполнение;

- всевозможные вспомогательные операции обслуживания;

- передача информации между различными внутренними устройствами;

- программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).

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

Операционную систему можно назвать программным продолжением устройства управления компьютера. Операционная система скрывает от пользователя сложные ненужные подробности взаимодействия с аппаратурой, образуя прослойку между ними. В результате этого люди освобождаются от очень трудоёмкой работы по организации взаимодействия с аппаратурой компьютера.

В Табл. 1. приведены некоторые характеристики некоторых наиболее распространенных ОС. Как видите, среди них нет ни одной операционной системы с чисто командным интерфейсом, и это неудивительно, так как эпоха интерфейсов, основанных на командной строке, медленно, но верно уходит в прошлое.

Название Поддержка функций Примеры
Много-задачность Много-поточность GUI SMD
Windows 98 ü ü ü - 1. ПК, рабочие станции.
Windows 2000 ü ü ü ü 2. ПК, рабочие станции, серверы, кластеры серверов.
System 7 ü ü ü - 3. ПК, Macintosh фирмы Apple.
Unix ü ü ü ü 4. ПК, раб. станции, кластеры серверов, миникомпьютеры
Linux ü ü ü ü 5. ПК, раб. станции, серверы.

Таблица 1

Кроме того, именно ОС обеспечивает возможность индивидуальной настройки компьютера: ОС определяет, из каких компонентов собран компьютер, на котором она установлена, и настраивает сама себя для работы именно с этими компонентами.

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

В зависимости от количества одновременно обрабатываемых задач и числа пользователей, которых могут обслуживать ОС, различают четыре основных класса операционных систем:

- однопользовательские однозадачные, которые поддерживают одну клавиатуру и могут работать только с одной (в данный момент) задачей;

- однопользовательские однозадачные с фоновой печатью, которые позволяют помимо основной задачи запускать одну дополнительную задачу, ориентированную, как правило, на вывод информации на печать. Это ускоряет работу при выдаче больших объёмов информации на печать;

- однопользовательские многозадачные, которые обеспечивают одному пользователю параллельную обработку нескольких задач. Например, к одному компьютеру можно подключить несколько принтеров, каждый из которых будет работать на "свою" задачу;

- многопользовательские многозадачные, позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС очень сложны и требуют значительных машинных ресурсов.

В различных моделях компьютеров используют операционные системы с разной архитектурой и возможностями. Для их работы требуются разные ресурсы. Они предоставляют разную степень сервиса для программирования и работы с готовыми программами.

Что такое программы-оболочки.

Оболочки – это программы, созданные для упрощения работы со сложными программными системами, такими, например, как DOS. Они преобразуют неудобный командный пользовательский интерфейс в дружественный графический интерфейс или интерфейс типа "меню". Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги.

Самая популярная у пользователей IBM-совместимого ПК оболочка – пакет программ Norton Commander. Он обеспечивает:

- создание, копирование, пересылку, переименование, удаление, поиск файлов, а также изменение их атрибутов;

- отображение дерева каталогов и характеристик входящих в них файлов в форме, удобной для восприятия человека;

- создание, обновление и распаковку архивов (групп сжатых файлов);

- просмотр текстовых файлов;

- редактирование текстовых файлов;

- выполнение из её среды практически всех команд DOS;

- запуск программ;

- выдачу информации о ресурсах компьютера;

- создание и удаление каталогов;

- поддержку межкомпьютерной связи;

- поддержку электронной почты через модем.

Что такое сетевые операционные системы.

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

Что такое утилиты?

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

Кратко опишем некоторые разновидности утилит:

Программы контроля, тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации; указывают причину и место неисправности;

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

Программы-упаковщики (архиваторы), которые позволяют за счет применения специальных алгоритмов упаковки информации сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один архивный файл. Применение программ-архиваторов очень полезно при создании архива файлов, так как в большинстве случаев значительно удобнее их хранить, предварительно сжав программами-архиваторами. Представители данных программ –WinRar и WinZip.

Антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами. Компьютерный вирус — это специально написанная небольшая по размерам программа, которая может "приписывать" себя к другим программам для выполнения каких-либо вредных действий — портит файлы, "засоряет оперативную память и т.д. Представители антивирусного семейства программ – Kaspersky Antivirus, DrWeb, Norton Antivirus.

Рисунок 5. Классификация вирусов

Согласно исследованию организации AVIEWS (Antivirus Information & Early Warning System), Sophos обнаруживает не менее 80 процентов неизвестных зловредных кодов, значительно опережая многие другие весьма популярные и именитые программы. Второе место занял «Антивирус Касперского», который обнаруживает 65 процентов угроз. Интересно, что третье место с 60 процентами занял Ikarus, не известная широким массам программа. А такая именитая программа, как Panda, показала всего 10%.

Программы для создания резервных копий информации позволяют периодически копировать важную информацию, находящуюся на жестком диске компьютера, на дополнительные носители. Представители программ резервного копирования – APBackUp, Acronis True Image.

Программы оптимизации и контроля качества дискового пространства;

Программы восстановления информации, форматирования, защиты данных;

Коммуникационные программы, предназначены для организации обмена информацией между компьютерами. Это программы позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Другой вид таких программ обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Они дают возможность посылать и принимать телефаксные сообщения. Представители коммуникационных программ – Venta Fax, Cute FTP.

Программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти;

Программы для печати экрана бывают весьма полезны при использовании графических программ для вывода на печать содержимого экрана, так как отнюдь не всегда это можно сделать с помощью самой графической программы. Представители программ для печати экрана – SnagIt, HyperSnap-DX.

Программы для записи CD-ROM, CD-R и многие другие.

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

Тенденции развития программного обеспечения

Бурный рост и быстрые темпы развития рынка ПО.

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

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

- функциональность программы, т.е. полнота удовлетворения ею потребностей пользователя;

- наглядный, удобный, интуитивно понятный и привычный пользователю интерфейс (т.е. способ взаимодействия программы с пользователем);

- простота освоения программы даже начинающими пользователями, для чего используются информативные подсказки, встроенные справочники и подробная документация;

- надежность программы, т.е. устойчивость ее к ошибкам пользователя, отказам оборудования и т.д., и разумные ее действия в этих ситуациях.

Расширяется практика сдачи программного обеспечения в аренду.

Стандартизация и интеграция продуктов ПО.

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

Увеличение мощности программ.

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

Возможность дистанционного запуска ПО через Web.

Сегодня большинство систем плавно перетекают в Web. Всемирная паутина затягивает все больше и больше приложений. Базы данных приобретают Web-интерфейсы пользователей, взамен имеющихся ранее настольных приложений. В конечном итоге, стоит ожидать, что конечному пользователю будет нужен лишь веб-браузер, чтобы иметь возможность удовлетворять все возможные потребности в программном обеспечении. В данном случае пользователю все равно, какая операционная система управляет локальным компьютером, главное - надежность и производительность сервера. (Например, пакет Microsoft Office может быть установлен на удаленных серверах, а не на системах конечных пользователей, но запуск приложений при этом будет происходить не менее быстро, чем на локальных ПК). Таким образом, все программы получат возможность как локального исполнения, так и дистанционного запуска через Web.

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

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

В самом общем плане программное обеспечение делится на базовое (системное) и прикладное.

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

Прикладное ПО непосредственно нацелено на решение профессиональных задач пользователя.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: