Программное обеспечение - наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой либо данные для использования в других программах, либо алгоритм, реализованный в виде последовательности инструкций для процессора.
Компьютерные программы подразделяются на три категории:
Прикладные программы, которые непосредственно выполняют необходимые пользователю компьютера работы (редактирование текстов, обработка информационных массивов, просмотр видео, пересылка сообщений).
Пакеты прикладных программ – комплекс взаимосвязанных программ для решения определенного класса задач.
К ним относятся:
- Пакеты прикладных программ автоматизирующий бухгалтерский учет;
- Пакеты прикладных программ финансовой деятельности;
- Пакеты прикладных программ для управления персоналом (кадровый учет);
- Пакеты прикладных программ управления производством;
- банковские информационные системы;
Системные программы, особую роль среди которых играет операционная система -программа, управляющая компьютером, запускающая другие программы и выполняющая сервисные функции при работе компьютера. Другие сервисные программы обычно выполняют различные вспомогательные функции - создают резервные копии используемой информации, проверяют работоспособность устройств компьютеров.
Инструментальные программы (системы программирования), которые помогают создавать новые программы для компьютера.
Сервисное программное обеспечение – программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
Утилиты –программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютера, т.е. диагностики, тестирование аппаратных и программных средств, оптимизации использования дискового пространства, восстановление информации и т.д.
Системное программное обеспечение - это комплекс программ, которые обеспечивают эффективное управление компонентами вычислительной системы, такими как процессор, оперативная память, каналы ввода-вывода, сетевое и коммуникационное оборудование и т.п. Системное программное обеспечение реализует связь аппаратного и программного обеспечения, выступая как "межслойный интерфейс" с одной стороны которого аппаратура, а с другой приложения пользователя. Кроме системного программного обеспечения принято выделять Прикладное программное обеспечение, которое призвано решать прикладные задачи пользователя. В состав системного программного обеспечения входят: Операционные системы, Среды программирования (компиляторы, трансляторы, компоновщики, загрузчики, отладчики, текстовый редактор, библиотеки подпрограмм), Утилиты, Системы управления файлами и Системы управления базами данных.
К базисному программному обеспечению можно отнести BIOS - (англ. Basic Input-Output System - базовая система ввода-вывода ) - программа, находящаяся в ПЗУ (постоянном запоминающем устройстве) персонального компьютера и исполняющаяся при включении питания. Главная функция BIOS- подготовить компьютер к тому, чтобы основное программное обеспечение (в большинстве случаев это операционная система), записанное на различных носителях либо доступное через сеть, могло стартовать и получить контроль над компьютером.
Операционная система, ОС - базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
Основные функции (простейшие ОС):
· Загрузка приложений в оперативную память и их выполнение;
· Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);
· Управление оперативной памятью (распределение между процессами, виртуальная память);
· Управление доступом к данным на энергонезависимых носителях (таких как Жёсткий диск, Компакт-диск и т. д.), как правило, с помощью файловой системы;
· Пользовательский интерфейс;
· Сетевые операции, поддержка стека протоколов
Дополнительные функции:
· Параллельное или псевдопараллельное выполнение задач (многозадачность);
· Взаимодействие между процессами;
· Защита самой системы, а также пользовательских данных и программ от злонамеренных действий пользователей или приложений;
· Разграничение прав доступа и многопользовательский режим работы (аутентификация, авторизация).
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами. Ниже приведена классификация ОС по нескольким наиболее основным признакам.