Программное обеспечение — это не только программы, а весь зоопарк из инструкций, данных и документации, который заставляет компьютер хоть как-то работать. Без него железо просто кусок пластика и меди. Ни запустить, ни выключить.
Что вообще такое программное обеспечение
Если коротко — это:
- программы (очевидно)
- функции и процедуры внутри этих программ
- документация (да, кто-то её всё ещё читает)
- и данные, с которыми всё это работает
Программное обеспечение — один из видов обеспечения вычислительных систем. Помимо него есть ещё аппаратное, математическое, лингвистическое и прочее занудство, про которое даже инженеры стараются не вспоминать. Информатика и софтверная инженерия — это уже про академиков, не про нас.
Классификация ПО
По способу запуска:
- интерпретируемые (работают «на лету»)
- компилируемые (сначала собираются, потом работают)
По переносимости:
- платформозависимые (завязаны на конкретное железо или ОС)
- кроссплатформенные (более живучие, работают где угодно)
По распространению:
- закрытые (плати и молчи)
- открытые (код есть, но не факт что можно всё)
- свободные (делай, что хочешь)
По назначению:
- системные
- прикладные
- инструментальные
По составу:
- компонент (одиночка, выполняет конкретную задачу)
- комплекс (несколько компонентов, работает в связке)
Системное ПО
Системное ПО — это то, без чего не взлетит вообще ничего. Оно рулит железом: процессором, памятью, видюхой, сетью. Это прослойка между операционной системой и тем, что вы запускаете.
Если прикладной софт решает задачи вроде “написать текст” или “посчитать финансы”, то системное — даёт всем остальным ПО возможность вообще запуститься и работать.
Примеры:
- операционные системы (Windows, Linux, macOS)
- драйверы
- утилиты
- СУБД
и прочие «бэкграундные» штуки
Встроенные программы
Это то, что «вшито» в железо — например, BIOS. Без него ПК не узнает, что он ПК. В микроконтроллерах и простых системах таких встроенных программ может быть с десяток: инициализация, диагностика, подгрузка чего-нибудь из памяти и т.д.
Утилиты
Утилиты — это такие помощники. Не делают ничего суперважного напрямую, но без них вы проклянёте всё. Они настраивают систему, чистят мусор, показывают, где память утекает.
Некоторые встроены в ОС, некоторые идут в комплекте с железом, а некоторые — качаешь отдельно и молишься, чтобы не было вируса.
Прикладное ПО
Это то, с чем сталкивается пользователь: браузеры, почтовики, офисные пакеты, графические редакторы, игры. То, ради чего вообще всё и запускалось. Работает в тесной связке с человеком — кнопки, окна, интерфейс.
Инструментальное ПО
Инструментальное ПО — это уже для тех, кто пишет софт. Без него девелоперы бы всё ещё паяли на бумаге. В эту категорию входят:
- среды разработки (IDE)
- SDK
- системы контроля версий (Git и всё, что с ним)
- баг-трекеры (Jira, вырви глаз)
Это не для обычных смертных, а для тех, кто пишет код, а потом ещё три дня дебажит, почему он не работает.
Вот это должен знать каждый айтишник!