Читать интересную книгу Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 13 14 15 16 17 18 19 20 21 ... 337
заполнить много книг, но в целом для этого необходима согласованная работа аппаратного и программного обеспечения сотен компьютеров, разбросанных по всему миру. Если вам не повезет, то несколько телекоммуникационных спутников (которые сами представляют собой компьютерные системы) также включатся в работу. Мы говорим “не повезет”, потому что не можем полностью компенсировать окольный путь длиной 20 тыс. миль; скорость света (а значит, скорость передачи вашего голоса) является конечной (оптоволоконные кабели значительно ускоряют передачу сигнала). Большинство этих функций выполняются отлично; коэффициент надежности основных телекоммуникационных систем достигает 99,9999% (например, они допускают лишь 20 минут простоя за 20 лет). Основные проблемы кроются в линиях связи между вашим мобильным телефоном и ближайшим телефонным коммуникатором.

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

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

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

1.5.4. Медицина

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

Посмотрим, в каком месте компьютеры и программное обеспечение могли бы сыграть ключевую роль здесь. Сканеры — это в основном компьютеры; излучаемые ими импульсы управляются компьютерами, но получаемая информация представляет собой неразбериху, пока не будет обработана сложными алгоритмами и преобразована в понятные трехмерные изображения соответствующей части тела. Для проведения хирургических операций с помощью компьютеров мы должны продвинуться еще дальше. Существует множество методов визуализации, позволяющих хирургу видеть внутренности пациента при наилучшем увеличении и освещении. С помощью компьютеров хирург может намного точнее оперировать инструментами, чем человеческая рука, и проникать в области, куда обычным способом без дополнительных разрезов дотянуться невозможно. Минимально инвазивная хирургия (лапароскопия) — это яркий пример медицинской технологии, позволяющей уменьшить боль до минимума и сократить время выздоровления миллионов людей. Компьютер может также помочь руке хирурга выполнить более тонкую работу, чем обычно. Кроме того, робототехническая система допускает дистанционное управление, позволяя доктору работать на расстоянии (например, через Интернет). Компьютеры и программы, связанные с этими системами, поразительно сложны и интересны. Разработка пользовательского интерфейса, средств управления оборудованием и методов визуализации в этих системах загрузит работой многие тысячи исследователей, инженеров и программистов на многие десятилетия вперед.

Среди медиков идет дискуссия о том, какой именно новый инструмент оказался наиболее полезным. Сканер компьютерной аксиальной томографии? Сканер магниторезонансной томографии? Аппараты для автоматического анализа крови? Ультразвуковые установки с высоким разрешением? Персональные информационные устройства? К удивлению многих, “победителем” в этом “соревновании” стали устройства, обеспечивающие непрерывный доступ к записям о состоянии пациента. Знание истории болезни пациента (заболевания, которые он перенес, виды медицинской помощи, к которой он обращался, аллергические реакции, наследственные проблемы, общее состояние здоровья, текущее лечение и т.д.) упрощает диагностику и минимизирует вероятность ошибок.

1.5.5. Информация

На следующих двух фотографиях изображены обычные персональные компьютеры и группа серверов.

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

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

• 719 блоков.

• 63 272 компьютера.

• 126 544 центральных процессора.

• Производительность — 253 ТГц.

• Объем оперативной памяти — 126 544 Гбайт.

• Объем постоянной памяти — 5 062 Тбайт.

Гигабайт (Гбайт) — это около миллиарда символов. Терабайт (Tбайт) — это около тысячи гигабайтов, т.е. около триллиона символов. За прошедшее время группа серверов Google стала намного больше. Это довольно экстремальный пример, но каждая крупная компания выполняет программы в веб, чтобы взаимодействовать с пользователями и клиентами. Достаточно вспомнить компании Amazon (книжная и другая торговля), Amadeus (продажа авиабилетов и аренда автомобилей) и eBay (интернет-аукционы). Миллионы небольших компаний, организаций и частных лиц также работают в сети веб. Большинство из них не используют собственное программное обеспечение, но многие все же пишут свои программы, которые часто бывают совсем не тривиальными.

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

• Вовремя ли прибудет самолет, вылетающий в Чикаго в 12:30?

• Болел ли Гильберт Салливан корью?

• Поступила ли на склад кофеварка, которую заказал Хуан Вальдез?

• Какую кухонную мебель купил Джек Спрат в 1996 году и покупал ли он ее вообще?

• Сколько телефонных звонков поступило из зоны 212 в августе 2006 года?

• Сколько кофейных чашек было продано в январе и чему равна их совокупная стоимость?

Из-за крупного масштаба баз данных эти системы весьма сложны. К тому же ответы на вопросы следует давать быстро (часто на протяжении не более двух секунд) и правильно (по крайней мере,

1 ... 13 14 15 16 17 18 19 20 21 ... 337
На этом сайте Вы можете читать книги онлайн бесплатно русская версия Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп.
Книги, аналогичгные Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Оставить комментарий