exam

Понятие программного обеспечения.

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


Что входит в понятие ПО

Помимо самих исполняемых файлов, в понятие ПО часто включают:

  • Программы и скрипты — непосредственно код, который выполняется процессором.
  • Данные и конфигурации — настройки, файлы ресурсов (картинки, шрифты, шаблоны), базы данных, необходимые для работы программы.
  • Документацию — руководства пользователя, API‑документацию, инструкции по установке и миграции. В регламентированных проектах (например, по ГОСТ) документация — обязательная часть ПО.

Термин впервые использовал математик Джон Тьюки в 1958 году как противопоставление «железу» (hardware — «твёрдое», а software — «мягкое», то есть изменяемое).


Отличие ПО от программы

Часто эти слова используют как синонимы, но в инженерии между ними есть нюанс:

  • Программа — это отдельный набор инструкций для решения конкретной задачи (например, калькулятор).
  • Программное обеспечение — более широкое понятие: это может быть одна программа, комплекс программ, библиотеки, данные и документация, которые вместе решают класс задач (например, офисный пакет или операционная система).

Основные виды ПО

По назначению

  • Системное ПО. Обеспечивает работу компьютера и других программ. Примеры: операционные системы (Windows, Linux, macOS), драйверы устройств, утилиты, загрузчики. Главная задача — управлять ресурсами (память, процессор, диски) и предоставлять интерфейс для запуска других программ.
  • Прикладное ПО. Решает задачи конечного пользователя. Примеры: браузеры, текстовые редакторы, мессенджеры, игры, CRM‑системы, банковские приложения.
  • Инструментальное ПО. Нужно для создания, тестирования и поддержки других программ. Примеры: компиляторы и интерпретаторы, отладчики, среды разработки (IDE), системы контроля версий, средства статического анализа.

По способу распространения и доступа к коду

  • Проприетарное ПО. Код закрыт, права принадлежат правообладателю, использование регулируется лицензией (например, Microsoft Office, Adobe Photoshop).
  • Свободное ПО (free software). Даёт пользователю четыре свободы: запускать, изучать, изменять и распространять программу (пример — Linux, GIMP).
  • Открытое ПО (open source). Исходный код доступен для просмотра и изменений; условия использования определяются конкретной лицензией (MIT, Apache, GPL и др.). Не всегда бесплатно в денежном смысле, но открыто для изучения.
  • Бесплатное ПО (freeware). Можно использовать без оплаты, но не обязательно с открытым кодом и не всегда с правом модификации (некоторые утилиты, антивирусы).

По среде исполнения

  • Десктопное ПО — для персональных компьютеров.
  • Веб‑приложения — работают в браузере, серверная часть на удалённом сервере.
  • Мобильные приложения — для смартфонов и планшетов (нативные, кроссплатформенные, PWA).
  • Встроенное ПО (firmware) — прошивка для устройств (роутеры, телевизоры, автомобили, станки). Часто работает без прямого взаимодействия с пользователем.

Роль ПО в системе «железо — софт — пользователь»

  • Аппаратное обеспечение даёт вычислительную мощность и каналы ввода‑вывода.
  • ПО преобразует эти возможности в понятные действия: интерфейс, логику, обработку данных, хранение и передачу информации.
  • Пользователь получает готовый инструмент: не нужно знать, как работает процессор, — достаточно нажать кнопку.

Юридические и управленческие аспекты

С точки зрения бизнеса и права ПО — это:

  • Объект авторского права. Код охраняется как литературное произведение; права могут принадлежать разработчику или заказчику.
  • Активы компании. Лицензии, подписки, собственные разработки — это статьи бюджета и нематериальные активы.
  • Продукт или услуга. ПО продают как коробку/лицензию либо как сервис (SaaS), где доступ и обновления включены в подписку.

Примеры для понимания

  • Операционная система (Windows, Android) — системное ПО: управляет устройством и запускает остальные программы.
  • Текстовый редактор (Notepad, Word) — прикладное ПО: решает конкретную задачу пользователя.
  • Компилятор C++ — инструментальное ПО: нужен, чтобы превратить исходный код в исполняемый файл.