Аутентификация

Секретность и анонимность могут быть важны для нашего общественного и дело­вого благосостояния, но аутентификация необходима для выживания. Аутенти­фикация, давая информацию о том, кому можно и кому нельзя доверять, служит непрерывному возобновлению отношений, придающих смысл сложному миру. Даже животные нуждаются в аутентификации запаха, звука, касания. Возможно, сама жизнь — это распознавание молекулярного состава ферментов, антител и т. д.

Люди аутентифицируют себя огромное количество раз в день. При входе в ком­пьютерную систему, вы подтверждаете свою подлинность компьютеру. В 1997 году управление социального обеспечения пробовало ввести данные людей в сеть; они прекратили это после жалоб на то, что номер социального обеспечения и девичья фамилия матери не являются достаточно хорошими опознавательными средства­ми и что у людей будет возможность читать данные других людей. Компьютер так­же должен подтвердить свою подлинность вам; в противном случае как вы узнае­те, что это ваш компьютер, а не какой-нибудь самозванец?

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

Человек говорит с продавцом магазина и спрашивает о пироге. В некоторой степени оба аутентифицируют друг друга. Продавец хочет знать, способен ли кли­ент заплатить. Если клиент одет в тряпье, продавец может попросить, чтобы он ушел (или, по крайней мере, заплатил сразу). Если клиент носит лыжную маску и размахивает АК-47, продавец, скорее всего, убежит сам.

Клиент также аутентифицирует подлинность торговца. Он на самом деле про­давец? Он продаст мне пирог или даст мне только кучу опилок в булочке? Что сказать о булочной? В наличии есть некое свидетельство о чистоте, подписанное местным санитарным инспектором, оно висит где-то на стене, если вдруг клиент захочет проверить. Но чаще клиент доверяет своим инстинктам. Мы все уходим из булочной, если нам не понравилось «ощущение» этого места.

Торговец вручит пирог, а клиент заплатит 5 долларов по счету. Еще большая аутентификация. Действительно ли этот счет подлинный? Выглядит ли этот пи­рог съедобным? У нас настолько хорошо развита зрительная (и обонятельная) аутентификация, что мы не задумываемся об этом, но поступаем так все время. Клиент получит сдачу, посмотрит на чек, чтобы удостовериться, что он пробит за­конным предпринимателем, и положит его в карман.

Если бы клиент платил по кредитной карте, за этим последовало бы еще боль­ше аутентификации. Торговец прогнал бы карту через считывающее контрольное устройство, которое связалось бы с центральным сервером, и убедился бы, что счет действителен и кредита на нем достаточно для покупки. Торговец исследовал бы карту, чтобы убедиться, что это не подделка, и проверил бы подпись на ее оборот­ной стороне. (Большинство торговцев, правда, не будут так беспокоиться, особен­но если сделка незначительна по сумме.)

Если бы клиент платил чеком, был бы другой опознавательный ритуал. Торго­вец посмотрел бы на чек и, возможно, спросил бы клиента о некоторых идентифи­кационных данных. Он мог бы записать номер водительского удостоверения клиен­та и номер его телефона на обороте чека или, допустим, номер кредитной карточки клиента. Ни одно из этих ухищрений фактически не позволяет сделать вывод, что чек действителен, но помогает проследить за клиентом в случае, если возникнут проблемы.

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

Вернемся к нашему торговцу. Приходит другая клиентка. Она и торговец — старые друзья. Каждый из них знает другого в лицо. Это — здравая система под­тверждения: они узнают друг друга даже при том, что у нее новая прическа, а он носит новый парик и очки. Супергерои понимают это и носят маски, чтобы сохра­нить свою личность в секрете. Это больше подходит для комиксов, чем для реаль­ной жизни, потому что аутентификация — это не только распознавание лица (ина­че слепой никогда никого не узнал бы). Люди помнят голос друг друга, фигуру, особенности и т. д. Если торговец говорит со своим другом по телефону, они могут подтвердить личности друг друга вообще без визуального контакта. Специальный уполномоченный Гордон должен был понять, что Брюс Уэйн — на самом деле Бэт-! ман, просто потому, что они так часто разговаривали по телефону.

В любом случае наш клиент, купивший пирог, закончил его есть. Он произно­сит «до свидания», будучи уверенным в том, что говорит это тому же самому про­давцу, который обслуживал его. Он выходит через ту же самую дверь, в которую вошел, и идет домой.

Все достаточно просто, потому что каждый бывал в таких магазинчиках. Пла­тон не доверял написанному, потому что не мог определить, что является правдой, если человек не находится прямо перед ним. Что бы он сказал о Всемирной Сети: никакого голоса, никаких лиц... только биты.

Тот же самый клиент, купивший пирог, теперь возымел желание купить что-нибудь менее скоропортящееся — рецепт приготовления пирога, например. Для этих поисков он заходит в Сеть, пользуется своим испытанным поисковым серве­ром и находит несколько веб-сайтов, где продаются рецепты пирогов. Все они при­нимают к оплате кредитные карточки через Интернет или позволяют сделать за­каз по почте. Все они обещают доставку в три-четыре дня. Что теперь?

Как бедный клиент узнает, можно ли им доверять? Потребуется немного уси­лий, чтобы просмотреть предложения: в Сети любой может сделать это в течение нескольких минут. Но какие из продавцов честны, а какие занимаются жульниче­ством? URL — указатель информационного ресурса (строка символов, указываю­щая на местонахождение документа в Интернете) мог бы быть именем продавца рецептов, которому можно доверять, но где гарантия, что сайт действительно со­ответствует тому самому доверенному имени? У Северо-Западных авиалиний есть веб-сайты, где можно купить авиабилеты: www.nwa.com. До недавнего времени у туристических агентов был веб-сайт www.northwest-airlines.com. Сколько людей купили билеты у последних, думая, что покупают их у первых? (Многие компа­нии не знают доменных имен своих тезок.) Некоторые компании помещают имена своих конкурентов в описание своих веб-сайтов (обычно скрытые) в надежде об­мануть поисковые серверы. Internic.net. где вы собираетесь зарегистрировать до­менное имя, — не то же самое, что Internic.com. Последний возник как надуватель­ство, сформировавшись внутри Internic Software, и в настоящее время якобы регистрирует имена доменов. Хозяева, вероятно, сделают значительный бизнес за счет создания путаницы. Есть даже более мрачное предположение: кто может ска­зать, что некий незаконный хакер не убедил программу просмотра отображать один URL вместо другого?

Клиент находит веб-сайт, который выглядит подходящим, и выбирает рецепт пирога. Теперь он должен заплатить торговцу. Если он покупает что-либо цен­ное, то в этом случае нужна серьезная аутентификация. (Если он тратит 25 цен­тов на виртуальную газету, все немного проще.) Действительны ли эти элект­ронные деньги? Действительна ли эта кредитная карточка и есть ли у клиента право выписывать электронный чек? Некоторые торговцы, работающие непос­редственно с клиентом, просят показать водительские права перед тем, как при­нять чек; а что же может проверить цифровой торговец перед принятием элект­ронного чека?

Наиболее важной проблемой безопасности является аутентификация через цифровые сети. Здесь может быть также много различных решений, как и различ­ных требований. Некоторые решения должны быть сильными и весомыми, чтобы защитить миллионы долларов. Для других это не обязательно: например, аутенти­фикация дисконтной карты торговца. Некоторые решения подразумевают аноним­ность — наличные деньги или карту, которая пускает вас в специфическую область сети, не требующую обязательного раскрытия вашего имени, — в то время как дру­гие нуждаются в строгой системе аутентификации. Большинство будут стремить­ся к интернациональности: сетевой паспорт, системы, используемые для междуна­родной торговли, цифровые подписи или международные контракты и соглашения.

Часто аутентификация осуществляется невидимо для пользователя. Когда вы используете свой телефон (или платный телевизионный канал), то аутентифици-' руете себя в сети так, чтобы было известно, кому выставлять счет. Военная авиа­ция имеет системы IFF (позволяющие узнать — друг перед вами или враг) для опознавания своих собственных и союзных самолетов системами ПВО. Тахогра­фы, применяемые повсюду в грузовиках в Европе, чтобы заставить водителей соблюдать правила — такие, как принудительный отдых, — используют методы аутентификации, чтобы предотвратить мошенничество. Предоплата электричества в Великобритании — другой пример.

Когда думаете об аутентификации, держите в уме два ее различных типа. Они могут выглядеть похожими, но техника их использования очень различна. Пер­вый — это аутентификация сеанса: беседа лицом к лицу или по телефону, или через IRC (международную линию передачи документальной информации). Се­ансами также могут быть разовые посещения интернет-магазина. Метод аутенти­фикации здесь — это сравнение отдельных диалогов: является ли лицо, сказавшее что-либо сейчас, тем же самым лицом, сказавшим что-либо ранее? (Это легко сде­лать при переговорах по телефону или при личной встрече — если голос и вне­шность те же самые, то, вероятно, это один и тот же человек. В Сети значительно сложнее.)

Второй — это аутентификация транзакции: покупки с использованием кре­дитной карты, частично денежное обращение. Аутентифицируется здесь действи­тельность сделки: признают ее стороны или же будет вызвана полиция. Споры при обсуждении этой стороны вопроса одни и те же, осуществляется сделка через Сеть, по телефону или же при личном контакте. Неважно, идет ли речь о проверке чека на 100 долларов торговцем, который должен удостовериться, что чек не поддель­ный, или о сопоставлении подписи на кредитной карточке с подписью в регистра­ционной карточке продаж.

Злонамеренные посвященные лица

Злонамеренный член организации — опасный внутренний враг. Он всегда внутри системы, поэтому, когда он хочет атаковать, его не беспокоят заграждения, приго­товленные для незваных гостей. Возможно, он имеет самый высокий уровень до­ступа и рассматривается системой как заслуживающий доверия, в то время как он ее атакует. Помните русского шпиона Олдриджа Эймса? Он занимал удобнейшую позицию в Центральном разведывательном управлении, чтобы продавать КГБ имена американских разведчиков, находящихся на территории Восточной Евро­пы: его имени доверяли. Подумайте теперь о программисте, который имеет воз­можность написать код для базы данных платежных ведомостей, дабы обеспечить себе повышение зарплаты каждые шесть месяцев. Или о службе охраны банка, которая сообщает своим дружкам-грабителям предположительное время закры­тия кассы. Злонамеренных сотрудников практически невозможно остановить, по­скольку они именно те люди, которые пользуются доверием.

Вот канонический пример атаки посвященного лица. В 1978 году Стэнли Марк Рифкин был консультантом в центральном отделении банка. Он использовал свои знания и доступ к системе пересылки денег, чтобы переместить несколько милли­онов долларов на счет в швейцарском банке, а затем обратить эти деньги в алмазы. Он также запрограммировал компьютерную систему на автоматическое стирание записанной на пленку резервной копии данных, поскольку в ней содержалось свидетельство его преступления (он ушел бы с этими деньгами, если бы не похвастал­ся своему адвокату, который и рассказал обо всем).

Посвященные лица не всегда нападают на систему, иногда они просто исполь­зуют ее в преступных целях. В 1991 году служащий Чарльз Шваб из Сан-Фран­циско использовал электронную почту компании для покупки и продажи кокаи­на. Некто, осужденный за насилие над детьми, работал в больнице в одном из районов Бостона. Украв пароль сослуживца, он изучал больничные карты пациен­тов, которым звонил с непристойными предложениями.

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

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

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

Мотивация нападений посвященных лиц может быть различна: месть, финансо­вая выгода, изменение существующих порядков или даже реклама. Вообще говоря, она совпадает с мотивацией хакера, преступника-одиночки или агента национальной разведки. Степень риска, на который готовы идти злонамеренные посвященные лица, зависит от того, движимы они «высокой целью» или простой жадностью.

Конечно, атаки посвященных лиц не новы, и проблема эта возникла не в кибер-' пространстве. Если бы не было системы электронной почты, служащий Чарльз Шваб мог бы использовать телефонную систему, факсимильные аппараты или, может быть, даже бумажную почту.

Действие на расстоянии

Как любят подчеркивать специалисты по технологиям, Интернет не имеет границ или естественных ограничений. Любые две вещи одинаково тесно связаны, будь они расположены в разных концах комнаты или планеты. Одинаково просто акти­визировать работу компьютера в Тулузе с компьютера в Тунисе и с компьютера в Таллахассии (Tallahassee). Не нравятся законы о цензуре или законы о компью­терных преступлениях в вашей стране? Найдите страну, которая вам нравится боль­ше. Страны вроде Сингапура пытались ограничить возможности своих граждан в отношении поиска в Сети, но строение Интернета делает задачу блокировки его отдельных частей неосуществимой. По мнению Джона Гилмора, «цензура Интер­нета — это его повреждение и разгром».

Это означает, что нападающим в Интернете не нужно находиться где-то ря­дом со своей добычей. Нападающий может сидеть за компьютером в Санкт-Пе­тербурге и атаковать компьютер Ситибанка в Нью-Йорке. Такое изменение по­ложения вещей породило гигантские последствия для безопасности. Раньше, если вы строили товарный склад в Буффало, вам приходилось беспокоиться только о преступниках, которые могли бы приехать в Буффало и вломиться в ваш склад. С тех пор как благодаря Интернету все компьютеры стали равноудалены от лю­бого другого компьютера, вам надлежит принимать во внимание преступность всего мира.

Глобальная природа Интернета также затрудняет поиск преступников и их об­винение. Найти нападающих, ловко скрывающих свое местонахождение, может быть почти невозможно, и, если вы даже найдете их, что будете делать? Преступ­ность ограничена только в том, что касается политических границ. Но если у Ин­тернета не существует физической территории, на которой можно было бы его кон­тролировать, то кто обеспечит его безопасность?

К настоящему времени все правоохранительные органы, которые могли бы предъявить претензии к Интернету, уже пытались это сделать. Данные пришли из Германии? Тогда это в юрисдикции немецких законов. Они адресованы в Соеди­ненные Штаты? Тогда это дело американского правительства. Они проходили че­рез Францию? Если так, французские власти ответят qu 'Us 'estpasse'. В 1994 году операторов компьютера BBS в Милпитасе, штат Калифорния, — где находились и люди и компьютеры — судили и признали виновными в суде Теннесси, потому что кто-то в Теннесси сделал междугородный телефонный звонок в Калифорнию и загрузил порнографические картинки, которые, как обнаружилось, разрешены в Ка­лифорнии, но неприличны в Теннесси. Операторы BBS никогдадо судебного про­цесса не бывали в Теннесси. В июле 1997 года 33-летняя женщина была осуждена швейцарским судом за отправку порнографии через Интернет — хотя с 1993 года она жила в США. Имеет ли это какой-то смысл?

Тем не менее обычно преследование судебным порядком невообразимо труд­но. До того как их «вычислят», преступники могут использовать неразбериху в ка­честве ширмы. В 1995 году 29-летний хакер из Санкт-Петербурга заработал 12 миллионов долларов, вломившись в компьютер Ситибанка. Ситибанк случай­но обнаружил взлом и вернул себе большую часть денег, но встретил огромные сложности с выдачей хакера, чтобы подвергнуть его суду.

Такая разница в законах между различными штатами и странами может даже привести к высокотехнологичной форме выбора области юрисдикции. Иногда это работает в пользу обвинителя, как, например, осуждение в Теннесси калифорний­ской BBS. В других случаях она идет на пользу преступникам: преступному син­дикату, у которого достаточно денег, чтобы предпринять широкомасштабную ата­ку на финансовую систему, не так трудно найти страну, у которой слабые законы о компьютерной преступности, несомненно продажные офицеры полиции и ника­ких договоров о выдаче преступников.

Пятое поколение — невидимые компьютеры

 

В 1981 году правительство Японии объявило о намерениях выделить националь­ным компаниям 500 миллионов долларов на разработку компьютеров пятого по­коления на основе технологий искусственного интеллекта, которые должны бы­ли потеснить «тугие на голову» машины четвертого поколения. Наблюдая за тем, как японские компании оперативно захватывают рыночные позиции в са­мых разных областях промышленности — от фотоаппаратов до стереосистем и телевизоров, — американские и европейские производители в панике бросились требовать у своих правительств аналогичных субсидий и прочей поддержки. Од­нако несмотря на большой шум, японский проект разработки компьютеров пято­го поколения в конечном итоге показал свою несостоятельность и был аккуратно «задвинут в дальний ящик». В каком-то смысле эта ситуация оказалась близка той, с которой столкнулся Беббидж: идея настолько опередила свое время, что для ее реализации не нашлось адекватной технологической базы.

Тем не менее то, что можно назвать пятым поколением компьютеров, все же материализовалось, но в весьма неожиданном виде — компьютеры начали стре­мительно уменьшаться. Модель Apple Newton, появившаяся в 1993 году, наглядно доказала, что компьютер можно уместить в корпусе размером с кассетный плеер. Рукописный ввод, реализованный в Newton, казалось бы, усложнил дело, но впо­следствии пользовательский интерфейс подобных машин, которые теперь назы­ваются персональными электронными секретарями (Personal Digital Assistants, PDA), или просто карманными компьютерами, был усовершенствован и приоб­рел широкую популярность. Многие карманные компьютеры сегодня не менее мощны, чем обычные ПК двух-трехлетней давности.

Но даже карманные компьютеры не стали по-настоящему революционной раз­работкой. Значительно большее значение придается так называемым «невиди­мым» компьютерам — тем, что встраиваются в бытовую технику, часы, банков­ские карточки и огромное количество других устройств [21]. Процессоры этого типа предусматривают широкие функциональные возможности и не менее ши­рокий спектр вариантов применения за весьма умеренную цену. Вопрос о том, можно ли свести эти микросхемы в одно полноценное поколение (а существуют они с 1970-х годов), остается дискуссионным. Факт в том, что они на порядок расширяют возможности бытовых и других устройств. Уже сейчас влияние невидимых компьютеров на развитие мировой промышленности очень велико, и с годами оно будет возрастать. Одной из особенностей такого рода компьютеров является то, что их аппаратное и программное обеспечение зачастую проектиру­ется методом соразработки [90], о котором мы поговорим далее в этой книге.

Итак, к первому поколению причисляются компьютеры на электронных лампах (такие, как ENIAC), ко второму — транзисторные машины (IBM 7094), к треть­ему — первые компьютеры на интегральных схемах (IBM 360), к четвертому — персональные компьютеры (линейки ЦП Intel). Что же касается пятого поко­ления, то оно больше ассоциируется не с конкретной архитектурой, а со сменой парадигмы. Компьютеры будущего будут встраиваться во все мыслимые и не­мыслимые устройства и за счет этого действительно станут невидимыми. Они прочно войдут в повседневную жизнь — будут открывать двери, включать лам­пы, распределять деньги и выполнять тысячи других обязанностей. Эта модель, разработанная Марком Вайзером (Mark Weiser) в поздний период его деятель­ности, первоначально получила название повсеместной компьютеризации, но в настоящее время не менее распространен термин «всепроникающая компью­теризация» [217]. Это явление обещает изменить мир не менее радикально, чем промышленная революция.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Четвертое поколение — сверхбольшие интегральные схемы (1980-?)

 

Появление сверхбольших интегральных схем (СБИС) в 80-х годах позволило помещать на одну плату сначала десятки тысяч, затем сотни тысяч и, наконец, миллионы транзисторов. Это привело к созданию компьютеров меньшего разме­ра и более быстродействующих. До появления PDP-1 компьютеры были на­столько велики и дороги, что компаниям и университетам приходилось иметь специальные отделы (вычислительные центры). К 80-м годам цены упали так сильно, что возможность пррюбретать компьютеры появилась не только у ор­ганизаций, но и у отдельных людей. Началась эра персональных компьюте­ров.

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

Первые персональные компьютеры продавались в виде комплектов. Каждый комплект содержал печатную плату, набор интегральных схем, обычно вклю­чающий схему Intel 8080, несколько кабелей, источник питания и иногда 8-дюй­мовый дисковод. Сложить из этих частей компьютер покупатель должен был сам. Программное обеспечение к компьютеру не прилагалось. Покупателю при­ходилось писать программное обеспечение самому. Позднее появилась операци­онная система СР/М, написанная Гари Килдаллом (Gary Kildall) для Intel 8080. Эта действующая операционная система помещалась на дискету, она включала в себя систему управления файлами и интерпретатор для выполнения пользова­тельских команд, которые набирались с клавиатуры.

Еще один персональный компьютер, Apple (а позднее и Apple II), был разра­ботан Стивом Джобсом (Steve Jobs) и Стивом Возняком (Steve Wozniak). Этот компьютер стал чрезвычайно популярным среди домашних пользователей и школ, что в мгновение ока сделало компанию Apple серьезным игроком на рынке.

Наблюдая за тем, чем занимаются другие компании, компания IBM, лиди­рующая тогда на компьютерном рынке, тоже решила заняться производством персональных компьютеров. Но вместо того, чтобы конструировать компьютер на основе отдельных компонентов IBM «с нуля», что заняло бы слишком много времени, компания предоставила одному из своих работников, Филипу Эстриджу (Philip Estridge), большую сумму денег, приказала ему отправиться куда-нибудь подальше от вмешивающихся во все бюрократов главного управления компа­нии, находящегося в Армонке (шт. Нью-Йорк), и не возвращаться, пока не будет создан действующий персональный компьютер. Эстридж открыл предприятие достаточно далеко от главного управления компании (во Флориде), взял Intel 8088 в качестве центрального процессора и создал персональный компьютер из разнородных компонентов. Этот компьютер (IBM PC) появился в 1981 году и стал самым покупаемым компьютером в истории.

Однако компания IBM сделала одну вещь, о которой позже пожалела. Вместо того чтобы держать проект машины в секрете (или, по крайней мере, оградить себя патентами), как она обычно делала, компания опубликовала полные проек­ты, включая все электронные схемы, в книге стоимостью 49 долларов. Эта книга была опубликована для того, чтобы другие компании могли производить смен­ные платы для IBM PC, что повысило бы совместимость и популярность этого компьютера. К несчастью для IBM, как только проект IBM PC стал широко из­вестен, многие компании начали делать клоны PC и часто продавали их гораздо дешевле, чем IBM (поскольку все составные части компьютера можно было лег­ко приобрести). Так началось бурное производство персональных компьютеров.

Хотя некоторые компании (такие, как Commodore, Apple и Atari) производи­ли персональные компьютеры с использованием своих процессоров, а не процес­соров Intel, потенциал производства IBM PC был настолько велик, что другим компаниям приходилось пробиваться с трудом. Выжить удалось только некото­рым из них, и то лишь потому, что они специализировались в узких областях, например, в производстве рабочих станций или суперкомпьютеров.

Первая версия IBM PC была оснащена операционной системой MS-DOS, ко­торую выпускала тогда еще крошечная корпорация Microsoft. IBM и Microsoft совместно разработали последовавшую за MS-DOS операционную систему OS/2, характерной чертой которой был графический пользовательский интерфейс (Graphical User Interface, GUI), сходный с интерфейсом Apple Macintosh. Между тем компания Microsoft также разработала собственную операционную систему Windows, которая работала на основе MS-DOS, на случай, если OS/2 не будет иметь спроса. OS/2 действительно не пользовалась спросом, a Microsoft успешно продолжала выпускать операционную систему Windows, что послужило причи­ной грандиозного раздора между IBM и Microsoft. Легенда о том, как крошечная компания Intel и еще более крошечная, чем Intel, компания Microsoft умудри­лись свергнуть IBM, одну из самых крупных, самых богатых и самых влиятель­ных корпораций в мировой истории, подробно излагается в бизнес-школах всего мира.

Первоначальный успех процессора 8088 воодушевил компанию Intel на его дальнейшие усовершенствования. Особо примечательна версия 386, выпущенная в 1985 году, — это первый представитель линейки Pentium. Современные про­цессоры Pentium гораздо быстрее процессора 386, но с точки зрения архитекту­ры они просто представляют собой его более мощные версии.

В середине 80-х годов на смену CISC (Complex Instruction Set Computer — компьютер с полным набором команд) пришел компьютер RISC (Reduced Instruc­tion Set Computer — компьютер с сокращенным набором команд). RISC-команды были проще и работали гораздо быстрее. В 90-х годах появились суперскаляр­ные процессоры, которые могли выполнять много команд одновременно, часто не в том порядке, в котором они располагаются в программе. Мы введем понятия RISC, CISC и суперскалярного процессора в главе 2, где обсудим их подробно.

Вплоть до 1992 года персональные компьютеры были 8-, 16- и 32-разрядны­ми. Затем появилась революционная 64-разрядная модель Alpha производства DEC — самый что ни на есть настоящий RISC-компьютер, намного превзошед­ший по показателям производительности все прочие ПК. Впрочем, тогда ком­мерческий успех этой модели оказался весьма скромным — лишь через десяти­летие 64-разрядные машины приобрели популярность, да и то лишь в качестве профессиональных серверов.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Третье поколение — интегральные схемы (1965-1980)

 

Изобретение в 1958 году Робертом Нойсом (Robert Noyce) кремниевой инте­гральной схемы означало возможность размещения на одной небольшой микро­схеме десятков транзисторов. Компьютеры на интегральных схемах были мень­шего размера, работали быстрее и стоили дешевле, чем их предшественники на транзисторах.

К 1964 году компания IBM лидировала на компьютерном рынке, но сущест­вовала одна большая проблема: компьютеры 7094 и 1401, которые она выпуска­ла, были несовместимы друг с другом. Один из них предназначался для сложных расчетов, в нем использовалась двоичная арифметика на регистрах по 36 бит, во втором применялась десятичная система счисления и слова разной длины. У многих покупателей были оба этих компьютера, и им не нравилось, что они совершенно несовместимы.

Когда пришло время заменить эти две серии компьютеров, компания IBM сделала решительный шаг. Она выпустила линейку транзисторных компьютеров System/360, которые были предназначены как для научных, так и для коммерче­ских расчетов. Линейка System/360 имела много нововведений. Это было целое семейство компьютеров для работы с одним языком (ассемблером). Каждая но­вая модель была больше по возможностям, чем предыдущая. Компания смогла заменить 1401 на 360 (модель 30), а 7094 — на 360 (модель 75). Модель 75 была больше по размеру, работала быстрее и стоила дороже, но программы, написан­ные для одной из них, могли использоваться в другой. На практике программы, написанные для маленькой модели, выполнялись большой моделью без особых затруднений. Но в случае переноса программного обеспечения с большой маши­ны на маленькую могло не хватить памяти. И все же создание такой линейки компьютеров было большим достижением. Идея создания семейств компьюте­ров вскоре стала очень популярной, и в течение нескольких лет большинство компьютерных компаний выпустили серии сходных машин с разной стоимостью и функциями. В табл. 1.2 показаны некоторые параметры первых моделей из се­мейства 360. О других моделях этого семейства мы расскажем далее.

Еще одно нововведение в 360 — мультипрограммирование. В памяти компь­ютера могло находиться одновременно несколько программ, и пока одна программа ждала, когда закончится процесс ввода-вывода, другая выполнялась. В результа­те ресурсы процессора расходовались более рационально.

image

Компьютер 360 был первой машиной, которая могла полностью эмулировать работу других компьютеров. Маленькие модели могли эмулировать 1401, а боль­шие — 7094, поэтому программисты могли оставлять свои старые программы без изменений и использовать их в работе с 360. Некоторые модели 360 выполняли программы, написанные для 1401, гораздо быстрее, чем сама 1401, поэтому стала бессмысленной переделка программ.

Компьютеры серии 360 могли эмулировать работу других компьютеров, потому что создавались с использованием микропрограммирования. Нужно было напи­сать всего лишь три микропрограммы: одну — для системы команд 360, другую — для системы команд 1401, третью — для системы команд 7094. Требование гиб­кости стало одной из главных причин применения микропрограммирования.

Компьютеру 360 удалось разрешить дилемму между двоичной и десятичной системами счисления: у этого компьютера было 16 регистров по 32 бит для би­нарной арифметики, но память состояла из байтов, как у 1401. В 360 использова­лись такие же команды для перемещения записей разного размера из одной час­ти памяти в другую, как ив 1401.

Объем памяти у 360 составлял 224 байт (16 Мбайт). В те времена такой объем памяти казался огромным. Линейка 360 позднее сменилась линейкой 370, затем 4300, 3080, 3090. У всех этих компьютеров была сходная архитектура. К середи­не 80-х годов 16 Мбайт памяти стало недостаточно, и компании IBM пришлось частично отказаться от совместимости, чтобы перейти на 32-разрядную адреса­цию, необходимую для памяти объемом в 232 байт.

Можно было бы предположить, что поскольку у машин были слова в 32 бит и регистры, у них вполне могли бы быть и адреса в 32 бит. Но в то время никто не мог даже представить себе компьютер с объемом памяти в 16 Мбайт. Обви­нять IBM в отсутствии предвидения все равно что обвинять современных произ­водителей персональных компьютеров в том, что адреса в них всего по 32 бит. Возможно, через несколько лет объем памяти компьютеров будет составлять на­много больше 4 Гбайт, и тогда адресов в 32 бит будет недостаточно.

Мир мини-компьютеров сделал большой шаг вперед в третьем поколении вме­сте с производством линейки компьютеров PDP-11, последователей PDP-8 со словами по 16 бит. Во многих отношениях компьютер PDP-11 был младшим братом 360, a PDP-1 — младшим братом 7094. И у 360, и у PDP-11 были регистры, слова, память с байтами, и в обеих линейках компьютеры имели разную стои­мость и разные функции. PDP-1 широко использовался, особенно в университе­тах, и компания DEC продолжала лидировать среди производителей мини-ком­пьютеров.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Второе поколение — транзисторы (1955-1965)

 

Транзистор был изобретен сотрудниками лаборатории Bell Laboratories Джоном Бардином (John Bardeen), Уолтером Браттейном (Walter Brattain) и Уильямом Шокли (William Shockley), за что в 1956 году они получили Нобелевскую пре­мию в области физики. В течение десяти лет транзисторы совершили револю­цию в производстве компьютеров, и к концу 50-х годов компьютеры на вакуум­ных лампах уже безнадежно устарели. Первый компьютер на транзисторах был построен в лаборатории МТИ. Он содержал слова из 16 бит, как и Whirlwind I. Компьютер назывался ТХ-0 (Transistorized experimental computer 0 — экспери­ментальная транзисторная вычислительная машина 0) и предназначался только для тестирования будущей машины ТХ-2.

Машина ТХ-2 не имела большого значения, но один из инженеров этой лабо­ратории, Кеннет Ольсен (Kenneth Olsen), в 1957 году основал компанию DEC (Digital Equipment Corporation — корпорация по производству цифровой аппа­ратуры), чтобы производить серийную машину, сходную с ТХ-0. Эта машина, PDP-1, появилась только через четыре года главным образом потому, что те, кто финансировал DEC, считали производство компьютеров невыгодным. Поэтому компания DEC продавала в основном небольшие электронные платы.

Компьютер PDP-1 появился только в 1961 году. Он имел 4096 слов по 18 бит и быстродействие 200 000 команд в секунду. Этот параметр был в два раза мень­ше, чем у 7090, транзисторного аналога 709. PDP-1 был самым быстрым компь­ютером в мире в то время. PDP-1 стоил 120 000 долларов, в то время как 7090 стоил миллионы. Компания DEC продала десятки компьютеров PDP-1, и так появилась компьютерная промышленность.

Одну из первых машин модели PDP-1 отдали в МТИ, где она сразу привлек­ла внимание некоторых молодых исследователей, подающих большие надежды. Одним из нововведений PDP-1 был дисплей размером 512 х 512 пикселов, на котором можно было рисовать точки. Вскоре студенты МТИ составили специ­альную программу для PDP-1, чтобы играть в «Войну миров» — первую в мире компьютерную игру.

Через несколько лет компания DEC разработала модель PDP-8, 12-разряд­ный компьютер. PDP-8 стоил гораздо дешевле, чем PDP-1 (16 000 долларов). Главное нововведение — единственная шина (omnibus), показанная на рис. 1.5. Шина — это набор параллельно соединенных проводов для связи компонентов компьютера. Это нововведение радикально отличало PDP-8 от IAS. Такая струк­тура с тех пор стала использоваться во всех компьютерах. Компания DEC прода­ла 50 000 компьютеров модели PDP-8 и стала лидером на рынке мини-компью­теров.

Как уже отмечалось, с изобретением транзисторов компания IBM построила транзисторную версию 709 — 7090, а позднее — 7094. У этой версии время цикла составляло 2 микросекунды, а память состояла из 32 536 слов по 36 бит. 7090 и 7094 были последними компьютерами типа ENIAC, но они широко использо­вались для научных расчетов в 60-х годах прошлого века.

Компания IBM выпускала также компьютеры 1401 для коммерческих расче­тов. Эта машина могла считывать и записывать магнитные ленты и перфокарты и распечатывать результат так же быстро, как и 7094, но при этом стоила дешев­ле. Для научных вычислений она не подходила, но зато была очень удобна для ведения деловых записей.

У 1401 не было регистров и фиксированной длины слова. Память содержала 4000 байт по 8 бит (в более поздних моделях объем увеличился до немыслимых в то время 16 000 байт). Каждый байт содержал символ в 6 бит, административ­ный бит и бит для указания конца слова. У команды MOVE, например, есть исход­ный адрес и адрес пункта назначения. Эта команда перемещает байты из первого адреса во второй, пока бит конца слова не примет значение 1.

В 1964 году компания CDC (Control Data Corporation) выпустила машину 6600, которая работала почти на порядок быстрее, чем 7094. Этот компьютер для сложных расчетов пользовался большой популярностью, и компания CDC пошла «в гору». Секрет столь высокого быстродействия заключался в том, что внутри ЦПУ (центрального процессора) находилась машина с высокой степе­нью параллелизма. У нее было несколько функциональных устройств для сло­жения, умножения и деления, и все они могли работать одновременно. Для того чтобы машина быстро работала, требовалось составить хорошую программу, а приложив некоторые усилия, можно было сделать так, чтобы машина выпол­няла 10 команд одновременно.

Внутри машины 6600 было встроено несколько маленьких компьютеров. Центральный процессор, таким образом, производил только подсчет чисел, а ос­тальные функции (управление работой машины, а также ввод и вывод информа­ции) выполняли маленькие компьютеры. Некоторые принципы работы устрой­ства 6600 используются и в современных компьютерах.

Разработчик компьютера 6600 Сеймур Крей (Seymour Cray) был легендарной личностью, как и фон Нейман. Он посвятил всю свою жизнь созданию очень мощных компьютеров, которые сейчас называют суперкомпьютерами. Среди них можно назвать 6600, 7600 и Сгау-1. Сеймур Крей также является автором известного «алгоритма покупки автомобилей»: вы идете в магазин, ближайший к вашему дому, показываете на машину, ближайшую к двери, и говорите: «Я беру эту». Этот алгоритм позволяет тратить минимум времени на не очень важные

clip_image002

дела (покупку автомобилей) и позволяет большую часть времени на важные (разработку суперкомпьютеров).

Следует упомянуть еще один компьютер — Burroughs В5000. Разработчики машин PDP-1, 7094 и 6600 занимались только аппаратным обеспечением, стара­ясь снизить его стоимость (DEC) или заставить работать быстрее (IBM и CDC). Программное обеспечение не менялось. Производители В5000 пошли другим путем. Они разработали машину с намерением программировать ее на языке Algol 60 (предшественнике языков С и Java), сконструировав аппаратное обеспе­чение так, чтобы упростить задачу компилятора. Так появилась идея, что при разработке компьютера нужно также учитывать и программное обеспечение. Но вскоре эта идея была забыта.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Первое поколение — электронные лампы (1945-1955)

 

Стимулом к созданию электронного компьютера стала Вторая мировая война. В начале войны германские подводные лодки разрушали британские корабли. Германские адмиралы посылали на подводные лодки по радио команды, и хотя англичане могли перехватывать эти команды, проблема была в том, что радио­граммы были закодированы с помощью прибора под названием ENIGMA, пред­шественник которого был спроектирован изобретателем-дилетантом и бывшим президентом США Томасом Джефферсоном.

В начале войны англичанам удалось приобрести ENIGMA у поляков, кото­рые, в свою очередь, украли ее у немцев. Однако, чтобы расшифровать закодиро­ванное послание, требовалось огромное количество вычислений, и их нужно было произвести сразу после перехвата радиограммы. Поэтому британское правитель­ство основало секретную лабораторию для создания электронного компьютера под названием COLOSSUS. В создании этой машины принимал участие знамени­тый британский математик Алан Тьюринг. COLOSSUS работал уже в 1943 году, но, так как британское правительство полностью контролировало этот проект и рассматривало его как военную тайну на протяжении 30 лет, COLOSSUS не стал базой для дальнейшего развития компьютеров. Мы упомянули о нем только потому, что это был первый в мире электронный цифровой компьютер.

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

Джон Моушли, который был знаком с работами Атанасова и Стибблитса, по­нимал, что армия заинтересована в счетных машинах. Он потребовал от армии финансирования работ по созданию электронного компьютера. Требование было удовлетворено в 1943 году, и Моушли со своим студентом Дж. Преспером Экер-том (J. Presper Eckert) начали конструировать электронный компьютер, который они назвали ENIAC (Electronic Numerical Integrator and Computer — электронный цифровой интегратор и калькулятор). ENIAC состоял из 18 ООО электровакуум­ных ламп и 1500 реле, весил 30 тонн и потреблял 140 киловатт электроэнергии. У машины было 20 регистров, каждый из которых мог содержать 10-разрядное десятичное число. (Десятичный регистр — это память очень маленького объема, которая может вмещать число до какого-либо определенного максимального ко­личества разрядов, что-то вроде одометра, запоминающего километраж пройден­ного автомобилем пути.) В ENIAC было установлено 6000 многоканальных пе­реключателей и имелось множество кабелей, протянутых к разъемам.

Работа над машиной была закончена в 1946 году, когда она уже была не нуж­ной — по крайней мере, для достижения первоначально поставленных целей.

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

После появления школы за конструирование электронных вычислительных машин взялись другие исследователи. Первым рабочим компьютером был EDSAC (1949 год). Эту машину сконструировал Морис Уилкс в Кембриджском универ­ситете. Далее — JOHNIAC в корпорации Rand, ILLIAC в Университете Илли­нойса, MANIAC в лаборатории Лос-Аламоса и WEIZAC в Институте Вайцмана в Израиле.

Экерт и Моушли вскоре начали работу над машиной EDVAC (Electronic Dis­crete Variable Computer — электронная дискретная параметрическая машина). К несчастью, этот проект закрылся, когда они ушли из университета, чтобы ос­новать компьютерную корпорацию в Филадельфии (Силиконовой долины тогда еще не было). После ряда слияний эта компания превратилась в Unisys Corpora­tion.

Экерт и Моушли хотели получить патент на изобретение цифровой вычисли­тельной машины. После нескольких лет судебной тяжбы было вынесено реше­ние, что патент недействителен, так как цифровую вычислительную машину изобрел Атанасов, хотя он ее и не запатентовал.

В то время как Экерт и Моушли работали над машиной EDVAC, один из уча­стников проекта ENIAC, Джон Фон Нейман, поехал в Институт специальных исследований в Принстоне, чтобы сконструировать собственную версию EDVAC под названием IAS (Immediate Address Storage — память с прямой адресацией). Фон Нейман был гением в тех же областях, что и Леонардо да Винчи. Он знал много языков, был специалистом в физике и математике, обладал феноменаль­ной памятью: он помнил все, что когда-либо слышал, видел или читал. Он мог дословно процитировать по памяти текст книг, которые читал несколько лет на­зад. Когда фон Нейман стал интересоваться вычислительными машинами, он уже был самым знаменитым математиком в мире.

Фон Нейман вскоре осознал, что создание компьютеров с большим количест­вом переключателей и кабелей требует длительного времени и очень утомительно. Он пришел к мысли, что программа должна быть представлена в памяти компь­ютера в цифровой форме, вместе с данными. Он также отметил, что десятичная арифметика, используемая в машине ENIAC, где каждый разряд представлялся десятью электронными лампами (1 включена и 9 выключены), должна быть за­менена параллельной бинарной арифметикой. Между прочим, Атанасов пришел к аналогичному выводу лишь спустя несколько лет.

Основной проект, который фон Нейман описал вначале, известен сейчас как фон-неймановская вычислительная машина. Он был использован в EDSAC, первой машине с программой в памяти, и даже сейчас, более чем полвека спустя, является основой большинства современных цифровых компьютеров. Сам замы­сел и машина IAS оказали очень большое влияние на дальнейшее развитие ком­пьютерной техники, поэтому стоит кратко описать проект фон Неймана. Стоит иметь в виду, что хоть проект и связан с именем фон Неймана, в его разработке приняли деятельное участие другие ученые — в частности, Голдстайн. Архитек­туру этой машины иллюстрирует рис. 1.4.

clip_image002

Машина фон Неймана состояла из пяти основных частей: памяти, арифмети­ко-логического устройства, устройства управления, а также устройств ввода-вы­вода. Память включала 4096 слов размером по 40 бит, бит — это 0 или 1. Каждое слово содержало или 2 команды по 20 бит, или целое число со знаком на 40 бит. 8 бит указывали на тип команды, а остальные 12 бит определяли одно из 4096 слов. Арифметический блок и блок управления составляли «мозговой центр» компьютера. В современных машинах эти блоки сочетаются в одной мик­росхеме, называемой центральным процессором (ЦП).

Внутри арифметико-логического устройства находился особый внутренний регистр на 40 бит, так называемый аккумулятор. Типичная команда добавляла слово из памяти в аккумулятор или сохраняла содержимое аккумулятора в па­мяти. Эта машина не выполняла арифметические операции с плавающей точкой, поскольку Фон Нейман считал, что любой сведущий математик способен дер­жать плавающую точку в голове.

Примерно в то же время, когда Фон Нейман работал над машиной IAS, ис­следователи МТИ разрабатывали свой компьютер Whirlwind I. В отличие от IAS, ENIAC и других машин того же типа со словами большой длины, машина Whirl­wind I имела слова по 16 бит и предназначалась для работы в реальном времени. Этот проект привел к изобретению Джеем Форрестером (Jay Forrester) памяти на магнитном сердечнике, а затем и первого серийного мини-компьютера.

В то время IBM была маленькой компанией, производившей перфокарты и механические машины для сортировки перфокарт. Хотя фирма IBM частично финансировала проект Айкена, она не интересовалась компьютерами pi только в 1953 году построила компьютер 701, через много лет после того, как компания Экерта и Моушли со своим компьютером UNIVAC стала номером один на ком­пьютерном рынке.

В 701 было 2048 слов по 36 бит, каждое слово содержало две команды. 701 стал первым компьютером, лидирующим на рынке в течение десяти лет. Через три года появился компьютер 704, у которого было 4 Кбайт памяти на магнитных сердечниках, команды по 36 бит и процессор с плавающей точкой. В 1958 году компания IBM начала работу над последним компьютером на электронных лам­пах, 709, который по сути представлял собой усложненную версию 704.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.

Нулевое поколение — механические компьютеры (1642-1945)

 

Первым человеком, создавшим счетную машину, был французский ученый Блез Паскаль (1623-1662), в честь которого назван один из языков программирова­ния. Паскаль сконструировал эту машину в 1642 году, когда ему было всего 19 лет, для своего отца, сборщика налогов. Это была механическая конструкция с шестеренками и ручным приводом. Счетная машина Паскаля могла выполнять только операции сложения и вычитания.

Тридцать лет спустя великий немецкий математик Готфрид Вильгельм Лейбниц (1646-1716) построил другую механическую машину, которая помимо сложения и вычитания могла выполнять операции умножения и деления. В сущности, Лейбниц три века назад создал подобие карманного калькулятора с четырьмя функциями.

Еще через 150 лет профессор математики Кембриджского Университета, Чарльз Бэббидж (1792-1871), изобретатель спидометра, разработал и сконструировал разностную машину. Эта механическая машина, которая, как и машина Паскаля, могла лишь складывать и вычитать, подсчитывала таблицы чисел для морской навигации. В машину был заложен только один алгоритм — метод конечных раз­ностей с использованием полиномов. У этой машины был довольно интересный способ вывода информации: результаты выдавливались стальным штампом на медной дощечке, что предвосхитило более поздние средства ввода-вывода — перфокарты и компакт-диски.

Хотя его устройство работало довольно неплохо, Бэббиджу вскоре наскучила машина, выполнявшая только один алгоритм. Он потратил очень много времени, большую часть своего семейного состояния и еще 17 ООО фунтов, выделенных пра­вительством, на разработку аналитической машины. У аналитической машины было 4 компонента: запоминающее устройство (память), вычислительное устрой­ство, устройство ввода (для считывания перфокарт), устройство вывода (перфо­ратор и печатающее устройство). Память состояла из 1000 слов по 50 десятичных разрядов; каждое из слов содержало переменные и результаты. Вычислительное устройство принимало операнды из памяти, затем выполняло операции сложения, вычитания, умножения или деления и возвращало полученный результат обратно в память. Как и разностная машина, это устройство было механическим.

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

Поскольку аналитическая машина программировалась на элементарном ас­семблере, ей было необходимо программное обеспечение. Чтобы создать это про­граммное обеспечение, Бэббидж нанял молодую женщину — Аду Августу Лов-лейс (Ada Augusta Lovelace), дочь знаменитого британского поэта Байрона. Ада Ловлейс была первым в мире программистом. В ее честь назван современный язык программирования — Ada.

К несчастью, подобно многим современным инженерам, Бэббидж никогда не отлаживал компьютер. Ему нужны были тысячи и тысячи шестеренок, сделан­ных с такой точностью, которая в XIX веке была недоступна. Но идеи Бэббиджа опередили его эпоху, и даже сегодня большинство современных компьютеров по конструкции сходны с аналитической машиной. Поэтому справедливо будет ска­зать, что Бэббидж был дедушкой современного цифрового компьютера.

В конце 30-х годов немец Конрад Зус (Konrad Zuse) сконструировал несколь­ко автоматических счетных машин с использованием электромагнитных реле. Ему не удалось получить денежные средства от правительства на свои разработ­ки, потому что началась война. Зус ничего не знал о работе Бэббиджа, его маши­ны были уничтожены во время бомбежки Берлина в 1944 году, поэтому его рабо­та никак не повлияла на будущее развитие компьютерной техники. Однако он был одним из пионеров в этой области.

Немного позже счетные машины были сконструированы в Америке. Машина Джона Атанасова (John Atanasoff) была чрезвычайно развитой для того времени. В ней использовалась бинарная арифметика и информационные емкости, кото­рые периодически обновлялись, чтобы избежать уничтожения данных. Совре­менная динамическая память (ОЗУ) работает по точно такому же принципу. К несчастью, эта машина так и не стала действующей. В каком-то смысле Атана-сов был похож на Бэббиджа — мечтатель, которого не устраивали технологии своего времени.

Компьютер Джорджа Стибитса (George Stibbitz) действительно работал, хотя и был примитивнее, чем машина Атанасова. Стибитс продемонстрировал свою машину на конференции в Дартмутском колледже в 1940 году. На этой конфе­ренции присутствовал Джон Моушли (John Mauchley), ничем не примечатель­ный на тот момент профессор физики из университета Пенсильвании. Позднее он стал очень известным в области компьютерных разработок.

Пока Зус, Стибитс и Атанасов разрабатывали автоматические счетные машины, молодой Говард Айкен (Howard Aiken) в Гарварде упорно проектировал ручные счетные машины в рамках докторской диссертации. После окончания исследования

Айкен осознал важность автоматических вычислений. Он пошел в библиотеку, прочитал о работе Бэббиджа и решил создать из реле такой же компьютер, кото­рый Бэббиджу не удалось создать из зубчатых колес.

Работа над первым компьютером Айкена «Магк I» была закончена в 1944 го­ду. Компьютер имел 72 слова по 23 десятичных разряда каждое и мог выполнить любую команду за 6 секунд. В устройствах ввода-вывода использовалась перфо­лента. К тому времени, как Айкен закончил работу над компьютером «Магк II», релейные компьютеры уже устарели. Началась эра электроники.

Таненбаум Э. Архитектура компьютера. 5-е изд. (+CD). — СПб.: Питер, 2007. — 844 с: ил.