Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
стр 103-113.doc
Скачиваний:
11
Добавлен:
21.11.2019
Размер:
3.61 Mб
Скачать

Общее

Специальное

Системное

Прикладное

Бухгалтерские системы

Операционные системы

СУБД

Банковские системы

Системы управления производством

Системы программирования

Текстовые процессоры

Электронные таблицы

Служебные программы (утилиты)

Графические системы

Рис. 1 Программное обеспечение компьютера

Пакеты прикладных программ представляют собой структурированные комплексы программ (часто со специализированными языковыми средствами), предназначенные для решения определенных задач, а также для расширения функций ОП (управления базами данных и др.). Аппаратные средства ЭВМ и система ее программного обеспечения образуют вычислительную систему. За более чем полувековую историю развития ЭВМ многие поколения программистов создали гигантский объем программного обеспечения (ПО). Зачастую он создавался стихийно, под влиянием различных обстоятельств, поэтому чтобы разобраться в этом многообразии попробуем создать некоторую классификацию.

Прежде всего, все программное обеспечение можно разделить на общее и специальное. Общее ПО рассчитано на самый широкий круг пользователей и используется почти на каждом компьютере. Специальное ПО разрабатывается для решения конкретной задачи, оно как правило уникально. В качестве примера укажем на разнообразные бухгалтерские и банковские системы, которые часто разрабатываются под заказ, хотя есть и исключения. Общее ПО, в свою очередь, подразделяется на системное, служащее для разработки программ и поддержки вычислительного процесса на компьютере (операционные системы, системы программирования, различные вспомогательные программы) и прикладное, иначе называемое пакетами прикладных программ (ППП). Типичными ППП являются текстовые процессоры, системы управления базами данных (СУБД), электронные таблицы, некоторые другие широко распространенные программы. Граница раздела между упомянутыми классами весьма условна и в процессе эволюции постоянно передвигается в пользу общего ПО.

Общее программное обеспечение — это ценнейший интеллектуальный ресурс, накопленный человечеством за последние полвека. В его разработку вложены миллионы человеко - лет труда нескольких поколений программистов, потрачены многие миллиарды долларов. Каждое десятилетие внесло свой существенный вклад в формирование общего ПО.

• 50-е годы: библиотеки стандартных программ, низкоуровневые языки и системы автоматизации программирования (ассемблеры и автокоды);

• 60-е годы: высокоуровневые языки и системы автоматизации программирования, пакетные операционные системы;

• 70-е годы: диалоговые операционные системы, системы управления базами данных (СУБД);

• 80-е годы: пакеты прикладных программ для персональных компьютеров, системы автоматизации проектирования (CASE);

• 90-е годы: программное обеспечение компьютерных сетей, мультимедиа.

Библиотеки стандартных программ и ассемблеры

Первые вычислительные машины вообще не имели никакого общего программного

обеспечения. Программы для решения конкретных задач писались с нуля, в машинных двоичных кодах (для сокращения записи использовалась восьмеричная или шестнадцатеричная система, но это не меняло сути) в абсолютных адресах, они загружались в чистую оперативную память. Процесс был мучительным и трудоемким. Приходилось помнить двоичные коды всех операций, а любую подпрограмму выписывать из справочника в условных адресах, затем вручную привязывать к главной программе, распределять память и т. д. На каждом этапе возникали ошибки, поэтому отладить программу даже в тысячу команд было уже очень трудно. Первоочередной задачей программистов на данном этапе было создание библиотек, которые обеспечивали бы вызов стандартных программ из внешней памяти и автоматически подключали их к

главной программе.

Вторая проблема была связана с мнемоническим кодированием и автоматическим распределением памяти. Впервые она была решена в Кембридже в Великобритании на ЭВМ EDSAC (1949 г.). Вместо того, чтобы записывать коды операций двоичными цифрами программист писал текст программы на символическом языке, пользуясь мнемоническими обозначениями операций и условными адресами, а специальная программа (руководитель проекта Морис Уилкс назвал ее собирающей системой — по английски assembly system) автоматически преобразовывала мнемонические коды в понятные машине двоичные, и распределяла память для выполнения программы. Идея оказалась столь продуктивной, что все последующие поколения программистов на всех ЭВМ отказались от абсолютного кодирования. Языки программирования низкого уровня, в которых коды операций заменены мнемоническими обозначениями, стали называться языками ассемблера или автокодами (мнемокодами), а преобразующие программы — ассемблерами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]