ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.12.2020

Просмотров: 1060

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Глава

 3.  

Программное

обеспечение

 

компьютеров

3.1. 

Классификация

 

и

 

эволюция

 

про

-

граммного

 

обеспечения

Еще

 

в

 30-

е

 

годы

  «

великий

 

вождь

 

всех

 

народов

» 

товарищ

 

Ста

-

лин

 

произнес

 

крылатую

 

фразу

которая

 

долгое

 

время

 

не

 

сходила

 

с

лозунгов

 

и

 

транспарантов

: «

Техника

 

без

 

людей

 

мертва

Техника

 

во

главе

 

с

 

людьми

овладевшими

 

техникой

может

 

и

 

должна

 

давать

чудеса

». 

Адаптируя

 

это

 

изречение

 

к

 

проблема

 

информатики

мож

-

но

 

сказать

что

 

вычислительная

 

техника

 (hardware) 

без

 

программ

,

олицетворяющих

 

действия

 

людей

 

по

 

управлению

 

ею

мертва

 

и

 

без

-

душна

 

как

 

всякое

 

железо

И

 

только

 

программное

 

обеспечение

(software) 

вдыхает

 

жизнь

 

в

 

эти

 

кристаллы

разъемы

 

и

 

провода

зас

-

тавляет

 

компьютеры

 

делать

 

все

 

те

 

чудеса

которым

 

мы

 

не

 

перестаем

удивляться

Желая

 

подчеркнуть

 

приоритет

 

программного

 

обеспече

-

ния

  

перед

 

аппаратным

академик

 

Глушков

 

как

-

то

 

сказал

что

 

в

 

на

-

стоящее

 

время

 

они

 

соотносятся

 

друг

 

с

 

другом

 

по

 

стоимости

  

и

 

вло

-

женному

 

интеллекту

 «

как

 

товар

 

с

 

упаковкой

».

За

 

пятьдесят

 

лет

 

развития

 

многие

 

поколения

 

программистов

создали

 

гигантский

 

объем

 

программного

 

обеспечения

 (

ПО

). 

Хотя

он

 

создавался

 

стихийно

под

 

влиянием

 

преходящих

 

обстоятельств

,


background image

158

в

 

процессе

 

его

 

формирования

 

существуют

 

определенные

 

законо

-

мерности

Чтобы

 

их

 

выяснить

нам

 

понадобится

 

некоторая

 

класси

-

фикация

 

программного

 

обеспечения

 (

см

схему

).

Прежде

 

всего

все

 

программное

 

обеспечение

 

можно

 

разделить

на

 

общее

 

и

 

специальное

Общее

 

ПО

 

рассчитано

 

на

 

самый

 

широкий

круг

 

пользователей

 

и

 

используется

 

почти

 

на

 

каждом

 

компьютере

.

Специальное

 

ПО

 

разрабатывается

 

для

 

решения

 

конкретной

 

задачи

,

оно

 

как

 

правило

 

уникально

В

 

качестве

 

примера

 

укажем

 

на

 

разно

-

образные

 

бухгалтерские

 

и

 

банковские

 

системы

которые

 

часто

 

раз

-

рабатываются

 

под

 

заказ

хотя

 

есть

 

и

 

исключения

.

Общее

 

ПО

в

 

свою

 

очередь

подразделяется

 

на

 

системное

слу

-

жащее

 

для

 

разработки

 

программ

 

и

 

поддержки

 

вычислительного

 

про

-

цесса

 

на

 

компьютере

 (

операционные

 

системы

системы

 

программи

-

рования

различные

 

вспомогательные

 

программы

и

 

прикладное

,

иначе

 

называемое

 

пакетами

 

прикладных

 

программ

 (

ППП

). 

Типич

-

ными

 

ППП

 

являются

 

текстовые

 

процессоры

системы

 

управления

Классификация

 

программного

 

обеспечения

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

системы

СУБД

Текстовые

процессоры

Операционные

системы

Банковские

системы

Электронные

таблицы

Специальное

Общее

Программное

обеспечение

Системное

Прикладное

(

ППП

)

Системы

программирования

Графические

системы

Системы

управления

производством

Служебные

программы

(

утилиты

)


background image

159

Эволюция

 

общего

 

программного

 

обеспечения

1950

1960

1970

1980

1990

2000

100%

Общее

 

программное

 

обеспечение

100%

СУБД

Диалоговые

 

ОС

Специальное
программное

обеспечение

Компьютерные

 

сети

Мультимедиа

Пакетные

 

ОС

Языки

 

и

 

системы

 

программирования

Настольные

 

ППП

CASE-

технологии

Автокоды

 

и

 

ассемблеры

Библиотеки

 

прикладных

 

программ

базами

 

данных

 (

СУБД

), 

электронные

 

таблицы

некоторые

 

другие

широко

 

распространенные

 

программы

.

 

Граница

 

раздела

 

между

 

упомянутыми

 

классами

 

весьма

 

услов

-

на

 

и

  

в

 

процессе

 

эволюции

 

постоянно

 

передвигается

 

в

 

пользу

 

об

-

щего

 

ПО

На

 

заре

 

компьютерной

 

эры

 (

первая

 

коммерческая

 

ЭВМ

UNIVAC 

появилась

как

 

мы

 

знаем

в

 1951 

году

), 

когда

 

машины

 

были

программно

 

несовместимы

 

и

 

каждая

 

задача

 

была

 

уникальна

, 100%

программного

 

обеспечения

 

было

 

специальным

Этот

 

факт

 

наглядно

представлен

 

на

 

схеме

где

 

по

 

оси

 

абсцисс

 

отложено

 

время

а

 

по

 

оси

ординат

 

показана

 

относительная

 

доля

 

каждого

 

класса

 

ПО

В

 

даль

-

нейшем

по

 

мере

 

освоения

 

типовых

 

классов

 

задач

 

и

 

унификации

вычислительных

 

систем

все

 

большее

 

число

 

программ

 

стало

 

пере

-

ходить

 

в

 

разряд

 

общего

 (

системного

 

или

 

прикладного

ПО

.  

К

 

концу


background image

160

XX 

века

 90 - 95% 

всего

 

ПО

  

можно

 

считать

 

общим

а

следовательно

,

и

 

общедоступным

.

Общее

 

программное

 

обеспечение

 — 

это

 

ценнейший

 

интеллек

-

туальный

 

ресурс

накопленный

 

человечеством

 

за

 

последние

 

полве

-

ка

В

 

его

 

разработку

 

вложены

 

миллионы

 

человеко

-

лет

 

труда

 

несколь

-

ких

 

поколений

 

программистов

потрачены

 

многие

 

миллиарды

 

дол

-

ларов

Образование

 

массива

 

общего

 

ПО

 

из

 

специального

 

подобно

отложению

 

осадочных

 

пород

 

на

 

дне

 

океана

когда

  

в

 

каждую

 

истори

-

ческую

 

эпоху

 

из

 

плавающей

клубящейся

 

мути

 

отстаивается

 

и

 

вык

-

ристаллизовывается

 

новый

 

геологический

 

пласт

Много

 

тысячеле

-

тий

 

спустя

 

геологи

пробуривая

 

скважины

обнаруживают

 

эти

 

плас

-

ты

 

и

 

по

 

ним

 

восстанавливают

 

геологическую

 

историю

 

Земли

.

Представим

 

себя

 

на

 

месте

 

геологов

 

и

 

произведем

 «

разведочное

бурение

» 

общего

 

ПО

В

 

нашем

 

случае

 

вся

 «

геологическая

» 

история

длилась

 

всего

 50 

лет

Мы

 

условно

 

разделим

 

ее

 

на

 5 

эпох

 

по

 10 

лет

каждая

Каждая

 

эпоха

 

оставила

 

свой

 

слой

 

в

 

общем

 

ПО

который

 

на

-

глядно

 

показан

 

на

 

рисунке

 

и

 

который

 

мы

 

кратко

 

прокомментируем

.

50-

е

 

годы

:

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

 

ассемблеры

Первые

 

вычислительные

 

машины

 

во

-

обще

 

не

 

имели

 

никакого

 

общего

 

программного

обеспечения

Программы

 

для

 

решения

 

конкретных

задач

 

писались

 

с

 

нуля

,  

в

 

машинных

 

двоичных

 

ко

дах

  (

для

 

сокращения

   

записи

 

использовалась

восьмеричная

 

или

 

шестнадцатеричная

 

система

но

это

 

не

 

меняло

 

сути

в

 

абсолютных

 

адресах

они

 

загружались

 

в

 

чис

-

тую

 

оперативную

 

память

Процесс

 

был

 

мучительным

 

и

 

трудоемким

.

Приходилось

 

помнить

 

двоичные

 

коды

 

всех

 

операций

а

 

любую

 

под

-

программу

 

выписывать

 

из

 

справочника

 

в

 

условных

 

адресах

затем

вручную

 

привязывать

 

к

 

главной

 

программе

распределять

 

память

 

и

т

д

.  

На

 

каждом

 

этапе

 

возникали

 

ошибки

поэтому

 

отладить

 

про

-

грамму

 

даже

 

в

 

тысячу

 

команд

 

было

 

уже

 

очень

 

трудно

.

Первоочередной

 

задачей

 

программистов

 

на

 

данном

 

этапе

 

было

создание

 

библиотек

которые

 

обеспечивали

 

бы

 

вызов

 

стандартных

программ

 

из

 

внешней

 

памяти

 

и

 

автоматически

 

подключали

 

их

   

к

главной

 

программе

Идея

 

использования

  

подпрограмм

 

была

 

реали

-

зована

 

Грейс

 

Хоппер

 

еще

 

до

 

появления

 

ЭВМ

на

 

электромеханичес

-


background image

161

кой

 MARK-1, 

а

 

в

 

дальнейшем

 

она

 

стала

 

общепринятой

Из

-

за

 

про

-

граммной

 

несовместимости

 

у

 

каждой

 

ЭВМ

 

были

 

свои

 

уникальные

библиотеки

Например

для

 

отечественной

 

машины

 

М

-20  

Михаил

Романович

 

Шура

-

Бура

  

с

 

коллегами

 

разработали

  

прекрасную

 

по

тем

 

временам

 

интерпретирующую

 

систему

 

ИС

-2 

с

 

богатейшей

 

кол

-

лекцией

 

стандартных

 

программ

охватывающей

 

все

 

области

 

вычис

-

лительной

 

математики

Создание

 

библиотек

 

резко

 

повысило

 

про

-

изводительность

 

труда

 

программистов

так

 

как

 

появмлась

 

возмож

-

ность

 

опереться

 

на

 

труд

 

предшественников

 

и

 

не

 

программировать

каждую

 

новую

 

задачу

 

с

 

нуля

.

Вторая

 

проблема

 

была

 

связана

 

с

 

мнемоническим

 

кодированием

и

 

автоматическим

 

распределением

 

памяти

.  

Впервые

 

она

 

была

 

ре

-

шена

 

в

 

Кембридже

 

в

 

Великобритании

  

на

 

ЭВМ

 EDSAC (1949 

г

.).

Вместо

 

того

чтобы

 

записывать

 

коды

 

операций

 

двоичными

 

цифра

-

ми

  

программист

 

писал

 

текст

 

программы

 

на

 

символическом

  

языке

,

пользуясь

 

мнемоническими

 

обозначениями

 

операций

 

и

 

условными

адресами

а

 

специальная

  

программа

 (

руководитель

 

проекта

 

Морис

Уилкс

 

назвал

 

ее

 

собирающей

 

системой

 — 

по

 

английски

 

assembly

system

автоматически

 

преобразовывала

 

мнемонические

 

коды

 

в

 

по

-

нятные

 

машине

 

двоичные

и

 

распределяла

 

память

 

для

 

выполнения

программы

Идея

 

оказалась

 

столь

 

продуктивной

что

 

все

 

последую

-

щие

 

поколения

 

программистов

 

на

 

всех

 

ЭВМ

 

отказались

 

от

 

абсо

-

лютного

 

кодирования

Языки

 

программирования

 

низкого

 

уровня

в

которых

 

коды

 

операций

 

заменены

 

мнемоническими

 

обозначения

-

ми

стали

 

называться

 

языками

 

ассемблера

 

или

 

автокодами

 (

мнемо

-

кодами

), 

а

 

преобразующие

 

программы

 — 

ассемблерами

.

В

 50-

е

 

годы

 

ЭВМ

 

были

 

еще

 

экзотической

 

редкостью

они

 

ис

-

пользовались

 

в

 

основном

 

в

 

элитных

 

академических

 

учреждениях

 

и

военных

 

системах

Программисты

 

также

 

исчислялись

 

единицами

 

и

работать

 

им

 

приходилось

 

в

 

очень

 

стесненных

 

условиях

Приходи

-

лось

 

постоянно

 

изворачиваться

экономить

 

каждую

 

ячейку

 

памяти

и

 

каждый

 

машинный

 

такт

потому

 

что

 

возможности

 

тех

 

компьюте

-

ров

 

были

 

более

 

чем

 

скромными

У

 

машины

 

Урал

-1, 

например

ОЗУ

имело

 

всего

 1024 

слова

 

при

 

быстродействии

 100 

оп

./

с

Зато

 

каждая

отлаженная

тем

 

более

 

стандартная

программа

 

была

 

своего

 

рода

шедевром

.