Шрифт:
Рис. 2.2 может быть использован как иллюстрация к большим системам типа V, а также к некоторым из систем типов III и IV. Он совершенно не отражает положение дел в системах типов I и II, хотя часто выдается за неоспоримую истину во многих книгах и докладах. Диаграмма, изображенная на нем, соответствует только той области, откуда она вышла, т. е. командным и управляющим вычислительным системам ВВС, как и было указано в докладе ВВС США.
Нужно постоянно помнить об одном часто не принимаемом во внимание факте, связанном с программным обеспечением. Оно слишком велико и разносторонне, чтобы его можно было обсуждать сколько-нибудь длительное время без предварительного указания того, какая область, часть или тин программного обеспечения обсуждается. Этот термин слишком широк, чтобы использовать его без определяющих прилагательных.
Разрабатывать программное обеспечение с каждым днем становится все труднее.
Разрабатывать программное обеспечение с каждым днем становится все легче.
Оба этих утверждения верны. Кажущееся их противоречие друг другу проистекает из широчайшего многообразия мира программного обеспечения. Давайте посмотрим, где же разработка программ становится проще.
Очень упрощенные, но достаточно верные графики могут значительно прояснить складывающуюся ситуацию. Давайте бросим взгляд на вычислительный мир (рис. 2.3). В 1952 г. он состоял из одной [4] машины — UNIVAC I.
4
Автор несомненно имеет в виду состояние дел в Соединенных Штатах Америки. К 1952 году в СССР тоже уже была построена первая отечественная ЭВМ. Руководил ее разработкой академик С. А. Лебедев. — Прим. перев.
В 1980 г. этот мир значительно расширился, вычислительные машины стали появляться как на нижних, так и на верхних частях шкалы (рис. 2.4).
После этого, в середине 1960-х гг. «миникомпьютеры» — термин относится скорее к цене, чем к размеру, — сместили положение вычислительных машин на шкале еще ниже (рис. 2.5).
В настоящее время благодаря использованию сверхбольших интегральных схем научились создавать микрокомпьютеры, вполне размещающиеся на ладони. Это снова заставляет нас перестраивать картину. Увеличивая масштаб (рис. 2.6), мы можем увидеть, что же произошло за эти годы в мире вычислительных машин — стоимость их уменьшилась, а емкость памяти и производительность увеличились.
Машины становятся все более мощными (точка А). Они становятся настолько дешевыми, что проникают в такие области (точка В), куда до сих пор вычислительные машины не допускались Программное обеспечение, конечно, следует за аппаратурой и в точках А и В. Оно маленькое и простое В, большое и сложное в А.
Цифровые схемы превратились в цифровые вычислительные машины (ЦВМ) — а это означает, что они стали программируемыми Этот великолепнейший прибор стоит теперь сущую безделицу В результате цифровые вычислительные машины проникли в такие области применения, которые ранее не могли бы оправдать таких сложных средств (см. рис 2.7)
5
ГАЭ — Группа Активных Элементов — примерно соответствует одному разряду или триггеру.
Число элементов на кристалле удваивается каждый год, цена, надежность и мощность при этом остаются на прежнем уровне. Если бы автомобильная промышленность продвигалась вперед такими же темпами, то, по сведениям журнала «National Business Magazine», мы имели бы автомобили, которые весили бы около двухсот граммов, тратили бы около двух литров бензина на полтора миллиона километров и стоили бы примерно 2 доллара 70 центов.
Возникновение технологии СБИС стирает грань между схемами и вычислительными машинами. Является ли кристалл размером 2,5 x 1,25 см с процессором и памятью в 128 слов (рис. 2.8) вычислительной машиной? Конечно же, да. А ведь между тем, как следует обращаться с электрической схемой, с одной стороны, и вычислительной машиной — с другой, имеется большая разница. И этому есть причина для вычислительных машин требуются программы.
Поскольку вычислительные машины становятся столь дешевыми, мы обнаруживаем их внедрение повсюду. Они используются в игрушках, автомобилях, телевизорах, копировальных устройствах, ракетах, приборах, станках — всюду. И все эти использования подразумевают наличие программ.
Если мы разрабатываем одну программу и выполняем ее на тысячах вычислительных машин, мы делим стоимость программы на число машин и получаем стоимость «одной» программы.