Программное обеспечение в широком смысле этого понятия является наиболее гибким, изменчивым и легко поддающимся в любой своей части реализации и изменениям, наиболее быстро развивающимся компонентом систем обработки данных с помощью ЭВМ. Этот компонент является основным (если не единственным!) средством адаптации систем обработки данных при всех резких изменениях как в плане развития
технических средств и проблемной среды, так и в общем плане исторического развития вычислительного дела в целом.
Программирование для ЭВМ первого поколения было совсем «прозрачным»: между программистом с его программой и ЭВМ не было никаких посредников. В ходе сеанса программист становился монопольным хозяином машины: ему были доступны для обозрения и модификации любой регистр, любая ячейка памяти, пульт машины и переключатели панелей ручного управления. Даже первые операционные системы еще не казались признаками отчуждения – каждый уважающий себя программист знал их наизусть. Вычислительные машины не имели операционных систем. Они выполняли программы, загруженные в оперативную память.
Прикладной программист ЭВМ второго поколения отделен от ЭВМ непроницаемой стеной высокоуровневых языков (с их трансляторами), операционными системами с пакетным режимом и операторным обслуживанием.
Машины третьего поколения не вернули планируемой «прозрачности» программирования. Начался этап бурного развития операционных систем. Всеобщее недовольство (при повсеместном использовании) таких «монстров» (одно из самых мягких определений Э. Дейкстра), как операционные системы IBM/360, достигло предела.
Лишь для машин четвертого поколения приемлемая по эффективности реализация давних идей о виртуализации всех вычислительных ресурсов вычислительной системы может, по-видимому, сделать реально возможным осуществление упомянутого прогноза. Начало постепенного перехода к машинам пятого поколению характеризуется развитием «демократических начал», ориентирующих ее на малоподготовленных пользователей.
Для многих фирм и организаций, частных или государственных, выпуск ЭВМ с той или иной архитектурой, повторяющей лучшие зарубежные образцы, является особенностью экономической и научно-технической политики. Наиболее ощутимые выгоды доставляет отнюдь не одинаковость аппаратуры (обычно это не достижимо уже на уровне элементной базы) и даже не одинаковость архитектуры самой по себе, а одинаковость базового программного обеспечения и, как следствие, свободный обмен программами, написанными где бы то ни было для ЭВМ с такой же архитектурой и таким же базовым программным обеспечением.
Программное обеспечение для ЭВМ делятся на два больших класса:
q системное;
q прикладное.
Системные программы управляют работой аппаратных средств и обеспечивают услугами нас и наши прикладные комплексы. В первую очередь – это операционные системы и дополняющие их программные модули (системные программы –»утилиты», драйверы периферийных устройств и т.п.).