В основу работы компьютеров положен программный принцип управления, состоящий в том, что компьютер выполняет действия по заранее заданной программе.
Программа – упорядоченная последовательность команд (инструкций) компьютера для решения задачи. Конечной целью любой компьютерной программы является управление аппаратными средствами.
Программным обеспечением (software) ЭВМ (в частности, персонального компьютера) называют совокупность программных средств и их систем, обеспечивающих функционирование, диагностику и тестирование аппаратных средств, а также разработку, отладку и выполнение любых задач пользователя, где в качестве пользователя может выступать как человек, так и любое внешнее устройство, подключённое к ЭВМ и нуждающееся в её ресурсах, а также совокупность необходимых для эксплуатации этих программных средств документов.
Аппаратное и программное обеспечение тесно связаны: более сложные программные продукты требуют более совершенных аппаратных средств.
Методы и средства взаимодействия человека с аппаратными и программными средствами называют пользовательским интерфейсом. Соответственно, существуют аппаратные интерфейсы, программные интерфейсы и аппаратно-программные интерфейсы.
Классификация программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения. Если раньше можно было по пальцам перечислить основные категории ПО: операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась. Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность). Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека. Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно.
Таким образом, возможна лишь самая общая и приближенная классификация ПО:
1. системное ПО: управление всеми ресурсами ЭВМ; осуществление общей организации процесса обработки информации; создание операционной среды функционирования других программ; обеспечение надежной и эффективной работы самого компьютера и вычислительной сети; проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей; выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
2. инструментальное ПО: предназначено для создания оригинальных программных средств (ПС) в любой проблемной области (системы программирования, средства редактирования, отладки и тестирования и т.д.);
3. прикладное ПО: составляют пакеты прикладных программ (ППП), предназначенные для решения определенного круга задач из различных проблемных областей, а также менее крупные программы-утилиты, преследующие более узкие, но достаточно важные цели снижения трудоемкости и повышения эффективности работы проблемного пользователя (текстовые и табличные процессоры, СУБД и т.д.).