Программное обеспечение — совокупность программ, предназначенных для выполнения компьютером. Возможности системы зависят и от аппаратуры, и от установленных программ.
По назначению программное обеспечение делят на системное, прикладное и системы программирования; одна конкретная программа классифицируется по основной функции в рассматриваемой ситуации.
Логика урока
Системное программное обеспечение включает операционную систему, драйверы и сервисные программы, обеспечивающие работу и обслуживание вычислительной системы.
Операционная система управляет процессами, памятью, устройствами, файлами, правами доступа и взаимодействием с пользователем.
Драйвер связывает операционную систему с конкретным типом устройства; файловая система организует имена, размещение и доступ к файлам и каталогам.
Утилита выполняет сервисную задачу: диагностику, резервное копирование, архивирование, проверку безопасности или обслуживание накопителя.
Архиватор использует алгоритмы сжатия, чтобы изменить представление данных; сжатие без потерь позволяет восстановить исходную последовательность точно.
Алгоритм Хаффмана строит переменный префиксный код по частотам: на каждом шаге объединяют два наименьших веса; более частые символы обычно получают короткие коды.
Выигрыш кода Хаффмана оценивают по суммарной длине полезных данных вместе с необходимостью хранить таблицу или дерево; короткий пример может не уменьшить итоговый файл.
Система программирования объединяет средства создания программ: редактор, транслятор, инструменты запуска, тестирования и отладки; интегрированная среда собирает их в одном интерфейсе.
Интерпретатор переводит и выполняет программу по частям во время запуска, а компилятор предварительно обрабатывает программу и обычно создаёт машинный или промежуточный результат; реальные платформы могут сочетать подходы.
Библиотеки содержат готовые подпрограммы, а компоновщик связывает объектные модули и нужные библиотечные части в запускаемый результат; отладчик помогает пошагово выполнять программу и наблюдать значения.
Прикладное программное обеспечение помогает пользователю решать предметные задачи: создавать документы, работать с графикой, рассчитывать данные, общаться или проектировать.