Современные достижения в области миниатюризации электронных схем позволили создать устройства, которые размещаются на кремневой пластинке размером с кончик пальца, но по вычислительной мощности превосходят гигантские машины 50-х годов. Это сделало компьютеры доступными практически любому человеку. Более того, современные машины способны решать задачи, о которых едва ли можно было даже мечтать во времена компьютеров на электронных лампах и перфокартах.
Секрет такой универсальности кроется в программном обеспечении, которое позволяет использовать одну и ту же машину, построенную из стали и кремния, для решения несметного множества самых разнообразных задач. В отличие от программ ранних моделей, вводившихся в машину посредством утомительного переключения множества тумблеров и цифронаборных устройств, программное обеспечение, вдохнувшее жизнь в современный компьютер, записывается на магнитных или оптических дисках и вступает в работу сразу после включения машины.
Однако по существу команды компьютера - хотя они и задаются теперь гораздо более удобным способом заметных изменений не претерпели. Любой компьютер должен разложить задание на последовательность логических операций, а затем выполнять их одну за другой.
За прошедшие годы развитие программного обеспечения выделило несколько основных типов программ. Центральное место в большинстве компьютерных систем занимает специальная совокупность программ, называемая операционной системой, которая координирует работу компьютера и управляет размещением программ и данных в оперативной памяти. Она дает указания компьютеру, как интерпретировать команды и данные, как распределять аппаратные ресурсы для выполнения задания и как управлять периферийными устройствами (например, принтером или видеотерминалом). Она также обеспечивает возможность непосредственного взаимодействия человека и компьютера, выполняя такие действия, как хранение программ и файлов данных.
Если рассматривать операционную систему как «режиссер» компьютерного действа, то прикладные программы играют роль «артистов». Именно благодаря таким программам, как текстовый процессор (word processor), игры и электронные таблицы (spreadsheet), компьютер приобретает удивительную разносторонность.
Понятие «программное обеспечение» включает также такие программы, как трансляторы и утилиты. Трансляторы помогают программистам создавать прикладное программное обеспечение; с их помощью так называемые языки высокого уровня, отдаленно напоминающие язык человека, преобразуются в машинный язык, представляющий собой комбинации нулей и единиц, которые компьютер обрабатывает как последовательности электрических импульсов. Утилиты выполняют рутинные, но часто крайне необходимые функции, например сортировку или слияние файлов. Эти скромные «рабочие лошадки» помогают сложнейшим прикладным программам решать весьма премудрые задачи.
|