Программное обеспечение (ПО) – комплекс программ обеспечивающих обработку или передачу данных предназначенных для многократного использования и применения разными пользователями [7].
Программное обеспечение – совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.
Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.
Программа – это упорядоченные последовательности команд.
Конечная цель любой компьютерной программы – управление аппаратными средствами. Даже если на первый взгляд программа никак не взаимодействует с оборудованием, не требует никакого ввода данных с устройств ввода и нее осуществляет вывод данных на устройство вывода все равно ее работа основана на управлении аппаратными устройствами компьютера.
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и в непрерывном взаимодействии.
Состав программного обеспечения вычислительной системы называют программной конфигурацией.
Между программами, как и между физическими узлами и блоками существует взаимосвязь – многие программы работают, опираясь на другие программы более низкого уровня, т.е. мы можем говорить о межпрограммном интерфейсе. Возможность существования такого интерфейса тоже основана на существовании технических условий и протоколов взаимодействия, а на практике он обеспечивает распределение ПО на несколько взаимодействующих между собой уровней.
Уровни ПО представляют собой пирамидальную конструкцию. Каждый следующий уровень опирается на ПО предшествующих уровней. Такое членение удобно для всех этапов работы с вычислительной системой, начиная с установления программ до практической эксплуатации и технического обслуживания. Каждый вышележащий уровень повышает функциональность всей системы. Так, например, вычислительная система с ПО базового уровня не способна выполнять большинство функций, но позволяет установить системное ПО.
Базовый уровень – самый низкий уровень ПО представляет базовое ПО. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Как правило, базовые программные средства непосредственно входят в состав базового оборудования и хранятся в специальных микросхемах, называемых постоянными запоминающими устройствами (ПЗУ – Read Only Memory – ROM). Программы и данные записываются («прошиваются») в микросхемах ПЗУ на этапе производства и не могут быть изменены в процессе эксплуатации.
В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяют перепрограммируемые ПЗУ (ППЗУ – Erasable and Programmable Read Only Memory, EPROM). В этом случае изменение содержания ПЗУ можно выполнять как непосредственно в составе вычислительной системы (такая технология называется флэш-технологией) так и вне ее, на специальных устройствах, называемых программаторами.
Системный уровень – переходный. Программы, работающие на этом уровне, обеспечивают взаимодействие прочих программ компьютерной системы с программами базового уровня и непосредственно с аппаратным обеспечением, то есть выполняют «посреднические» функции.
Системные программы - программы общего пользования, выполняемая вместе с прикладными программами и служащая для управления ресурсами компьютера: центральным процессором, памятью, вводом-выводом.
Системные программы – это программы предназначенные:
- для поддержания работоспособности системы обработки информации;
- для повышения эффективности ее использования.
Различают программы:
- системные управляющие;
- системные обслуживающие.
Системные программы - это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы.
Среди десятков тысяч системных программ особое место занимают операционные системы, которые обеспечивают управление ресурсами компьютера с целью их эффективного использования.
Важными классами системных программ являются также программы вспомогательного назначения - утилиты (лат. utilitas - польза). Они либо расширяют и дополняют соответствующие возможности операционной системы, либо решают самостоятельные важные задачи. Некоторые разновидности утилит:
- программы контроля, тестирования и диагностики, которые используются для проверки правильности функционирования устройств компьютера и для обнаружения неисправностей в процессе эксплуатации; указывают причину и место неисправности;
- программы-драйверы, которые расширяют возможности операционной системы по управлению устройствами ввода-вывода, оперативной памятью и т.д.; с помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся;
- программы-упаковщики (архиваторы), которые позволяют записывать информацию на дисках более плотно, а также объединять копии нескольких файлов в один архивный файл;
- антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусами;
- программы оптимизации и контроля качества дискового пространства;
- программы восстановления информации, форматирования, защиты данных;
- коммуникационные программы, организующие обмен информацией между компьютерами;
- программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти;
- программы для записи CD-ROM, CD-R и многие другие.
Часть утилит входит в состав операционной системы, а другая часть функционирует независимо от нее, т.е. автономно.
От программного обеспечения этого уровня во многом зависят эксплуатационные показатели всех вычислительной системы в целом. Так, например, при подключении к вычислительной системе нового оборудования на системном уровне должна быть установлена программа, обеспечивающая для других программ взаимосвязь с этим оборудованием. Конкретные программы, отвечающие за взаимодействие с конкретными устройствами, называются драйверами устройств – они входят в состав программного обеспечения системного уровня.
Другой класс программ системного уровня отвечает за взаимодействие с пользователем. Именно благодаря им он получает возможность вводить данные в вычислительную систему, управлять ее работой и получать результат в удобной для себя форме. Эти программные средства называют средствами обеспечения пользовательского интерфейса. От них напрямую зависит удобство работы с компьютером и производительность труда на рабочем месте.
Совокупность программного обеспечения системного уровня образует ядро операционной системы компьютера. Если компьютер оснащен программным обеспечением системного уровня, то он уже подготовлен к установке программ более высоких уровней, к взаимодействию программных средств с оборудованием и, самое главное, к взаимодействию с пользователем. То есть наличие ядра операционной системы – непременное условие для возможности практической работы человека с вычислительной системой.
Служебный уровень. Программное обеспечение этого уровня взаимодействует как с программами базового уровня, так и с программами системного уровня. Основное назначение служебных программ (их также называют утилитами) состоит в автоматизации работ по проверке, наладке и настройке компьютерной системы. Во многих случаях они используются для расширения или улучшения функций системных программ. Некоторые служебные программы (как правило, это программы обслуживания) изначально включают в состав операционной системы, но большинство служебных программ являются для операционной системы внешними и служат для расширения ее функций.
В разработке и эксплуатации служебных программ существует два альтернативных направления: интеграция с операционной системой и автономное функционирование. В первом случае служебные программы могут изменять потребительские свойства системных программ, делая их более удобными для практической работы. Во втором случае они слабо связаны с системным программным обеспечением, но предоставляют пользователю больше возможностей для персональной настройки их взаимодействия с аппаратным и программным обеспечением.
Прикладной уровень. Программное обеспечение прикладного уровня представляет собой комплекс прикладных программ, с помощью которых на данном рабочем месте выполняются конкретные задания. Спектр этих заданий необычайно широк – от производственных до творческих и развлекательно-обучающих. Огромный функциональный диапазон возможных приложений средств вычислительной техники обусловлен наличием прикладных программ для разных видов деятельности.
Поскольку между прикладным ПО и системным существует непосредственная взаимосвязь (первое опирается на второе), то можно утверждать, что универсальность вычислительной системы, доступность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа используемой операционной системы, от того, какие системные средства содержит ее ядро, как она обеспечивает взаимодействие триединого комплекса человек – программа – оборудование.
Программы, с помощью которых пользователь непосредственно решает свои информационные задачи, не прибегая к программированию, называется прикладными программами.
Очевидно, что системы программирования нужны далеко не всем, тогда как системное и прикладное ПО незаменимо и необходимо любому пользователю.