Введение Любая современная вычислительная система функционирует на базе
аппаратного обеспечения (hardware) и решает задачи с помощью
программного обеспечения (software). Достаточно сложная и неоднозначная
структура программного обеспечения на самом деле несколько условная и,
как правило, производит классификацию программного обеспечения по
назначению программ, хотя существуют и другие критерии, характеризующие
программное обеспечение (дружественность, тип использования и т.д.).
Подразделение программного обеспечения на системное и прикладное в
некоторой степени устарело. Поэтому современная классификация
программного обеспечения предусматривает его разделение на системное,
промежуточное и прикладное. Причем, современная тенденция развития
программного обеспечения состоит в снижении объема как системного, так и
прикладного программирования, а основная часть работы выполняется в
промежуточном программном обеспечении.
Промежуточное программное обеспечение (middleware) определяется
как совокупность программ, осуществляющих управление вторичными
ресурсами, которые ориентированы на решение определенного класса задач.
К нему относятся менеджеры транзакций, серверы БД, серверы коммуникаций
и другие программные серверы. С точки зрения инструментальных средств
промежуточное программное обеспечение ближе к прикладному, т.к. не
работает напрямую с первичными ресурсами, а использует для этого сервисы,
предоставляемые системным программным обеспечением. С точки же зрения
алгоритмов и технологий разработки оно ближе к системному, т.к. всегда
является сложным программным изделием многократного и многоцелевого
использования, в котором применяются алгоритмы, сходные с применяемыми
в системном программном обеспечении.
Снижение объема системного программирования обусловлено
современными концепциями построения операционных систем, а также
архитектурой ядра, в соответствии с которыми большая часть функций
системы выносится в утилиты, которые можно отнести и к промежуточному
программному
обеспечению.
Снижение
объема
прикладного
программирования связано с тем, что современные продукты промежуточного
программного обеспечения предлагают все больший набор инструментальных
средств и шаблонов для решения задач своего класса. Значительная часть
системного и практически все прикладное программное обеспечение пишется
на языках высокого уровня, что обеспечивает сокращение расходов на их
разработку/модификацию и переносимость.
Целью настоящего конспекта является ознакомление студентов со
структурой, особенностями функционирования и использования системного
программного обеспечения в вычислительных системах.