УДК 681.324:681.3.001.57
ВИРТУАЛЬНЫЕ МАШИНЫ И СЕТИ
А. В. Гордеев,
доктор техн. наук, профессор
Санкт-Петербургский государственный университет аэрокосмического приборостроения
В статье кратко описываются наиболее распространенные средства моделирования персональных компьютеров и локальных сетей на их основе, известные как виртуальные машины. В результате сравнительного анализа средств моделирования излагаются основные их возможности, достоинства и недостатки. Приведены примеры использования виртуальных машин и сетей как в учебном процессе, так и в реальной практике построения вычислительных сетей.
We describe most popular tools of emulations of PCs and networks, known as virtual machines. There are very few publications on this topic in Russian. As a result of comparison of virtual machines, the author talks about their basic features, advantages and disadvantages. The article narrates about examples of using virtual PCs and virtual networks both in the educational aspect and in the case of real-life networks.
Успехи в построении компьютерных моделей разных объектов и систем привели к появлению виртуальных объектов и миров. Одним из таких объектов, который может быть построен с помощью компьютера, является сам компьютер. Другими словами, речь идет о том, что посредством специально созданного программного обеспечения мы на компьютере можем достаточно реально моделировать работу другого компьютера. В этом случае говорят о виртуальных машинах. А если запустить на одном или нескольких компьютерах несколько виртуальных машин и обеспечить возможность взаимодействовать этим виртуальным машинам посредством сетевых технологий, то можно говорить и о виртуальных сетях. К сожалению, на эту тему совсем немного публикаций [1, 2]. Наибольшим быстродействием обладают те виртуальные компьютеры, архитектура которых соответствует архитектуре компьютеров, на которых и организуется моделирование. Само собой, что полноценное и эффективное функционирование виртуальных машин возможно только на тех компьютерах, аппаратные средства которых позволяют организовать независимые защищенные вычисления.
В настоящее время существует несколько программных продуктов, которые позволяют получить на обычных персональных компьютерах полноценные виртуальные вычислительные машины. Мы ограничимся рассмотрением всего двух1, но, пожа-
1 Помимо этих программ, можно также упомянуть программу twoOStwo и некоторые другие, однако моделирующие возможности, надежность и производительность остальных средств существенно ниже.
луй, самых известных - это VMware Workstation и Microsoft Virtual PC. Кроме этих программ, которые организуют функционирование модели компьютера непосредственно на том компьютере, на котором работает пользователь, имеются программные средства, позволяющие создавать виртуальные машины и работать с ними по технологии клиент-сервер. Наиболее известными являются VMware GSX Server и VMware ESX Server. Эти программные средства позволяют создавать и запускать виртуальные машины на сервере. Работа с виртуальными машинами в этом случае осуществляется через консольное приложение. Такая работа напоминает работу с терминальным сервером.
Тот компьютер с операционной системой, в среде которой функционирует запускаемая виртуальная машина, называется основным, или главным (в своей документации компания VMware Inc. употребляет термин host). Та операционная система, которая устанавливается на виртуальный компьютер, называется гостевой (guest VM).
И VMware Workstation, и Microsoft Virtual PC предназначены для построения виртуальных машин, работающих под управлением широко распространенных операционных систем. Так, например, VMware Workstation 4.5.2 позволяет установить на виртуальный компьютер следующие гостевые операционные системы:
• простейшие однопрограммные DOS-системы типа Microsoft MS-DOS 6.x;
• так называемые DOS-based Windows, т. е. операционные системы Windows, использующие DOS для своей загрузки. Это и уже всеми забытые 16-раз-
рядные Windows 3.х, и более современные 32-разрядные Windows 95 I 98 I 98 SE I ME;
• наиболее мощные и совершенные в плане своей архитектуры и используемой модели защиты системы Microsoft поколения New Technology - Windows NT 4.0 (Workstation и Server 4.0, в том числе и Terminal Server Edition), системы семейства Windows 2000 (Professional, Server и Advanced Server), системы Windows XP (Professional и Home Edition), серверные системы Windows Server 2003 (Web Edition, Standard Edition и Enterprise Edition);
• известные сетевые системы Novell Netware 5.1 и Novell Netware б;
• системы класса UNIX - Red Hat Linux 7.0, 7.1,
7.2, 7.3, 8.0, Linux Mandrake 8.2, 9.0, SuSe Linux
7.3, SuSe Linux Enterprise Server 7.0, 8.0, 8.1 ,Turbolinux Server 7.0, 8.0, Turbolinux Workstation 8.0, FreeBSD 4.0-4.6.2, 4.8.
Работа вышеперечисленных систем была всесторонне протестирована компанией VMware, и при создании новой виртуальной машины пользователю предлагается именно такой список из возможных гостевых систем. Кроме этого, как показывает практика, достаточно успешно в роли гостевых работают и другие операционные системы, не вошедшие в него. Так, например, можно создать даже бездисковую машину и работать с операционной системой, которая будет загружаться либо с компакт-диска, либо с его образа. В качестве такого диска при обучении студентов мы часто используем компакт-диск, на котором имеется и Windows XPE, и Linux Life CD (Linux BCS Linux).
Microsoft Virtual PC 2004 также позволяет работать со следующими наиболее распространенными клиентскими операционными системами: MSDOS, Windows 95, Windows 98, Windows Millennium Edition, Windows NT Workstation, Windows 2000 (Professional), Windows XP (Home Edition и Professional), OSI2 (разных версий, в том числе и OSI2 Warp). Из серверных операционных систем в диалоговом окне выбора инсталлируемой виртуальной машины упомянуты Windows NT Server, Windows 2000 Server, Windows Server 2003. Кроме этого, имеется пункт Other, что означает возможность установки и других операционных систем.
Первое важное различие, которое имеется между VMware Workstation и Microsoft Virtual PC, заключается в том, что для VMware есть реализации, когда основной компьютер работает под Linux, и есть реализации, работающие в среде Win32API. Для Microsoft Virtual PC нет реализаций, работающих на основной машине с системами Linux.
Второе различие в этих программных продуктах, которое, безусловно, обращает на себя внимание, заключается в том виртуальном оборудовании, которое может быть включено в состав виртуального компьютера. Обе они основаны на хорошо известном чипсете от Intel - 440BX - и центральном процессоре с архитектурой ia32, частота которого соответствует частоте процессора основ-
ного компьютера. Таким образом, платформа реального и виртуального компьютеров могут не совпадать. Например, реальный компьютер может быть собран на базе процессора AMD Athlon и материнской платы с чипсетом NVidia NForce, в то время как виртуальный компьютер будет иметь процессор Intel Pentium и материнскую плату на чипсете Intel 440BX. Правда, работать процессор виртуального компьютера будет на частоте реального процессора. Более того, некоторые тестирующие программы, непосредственно опрашивающие сигнатуру процессора (например, известная многим программа AIDA32), укажут на процессор, реально установленный на host-машине.
Итак, первое главное отличие между основной и гостевой машинами начинается с контроллера памяти и контроллера ввода/вывода и может продолжиться наличием или отсутствием SCSI-контроллеров, числом и типом накопителей на жестких дисках, сетевыми адаптерами и другим периферийным оборудованием. Отличие виртуального процессора от реального заключается, в частности, в том, что виртуальный может иметь коэффициент умножения внутренней частоты процессора по отношению к частоте FSB, который не соответствует реальному процессору. В результате некоторые тестовые программы могут выдавать некорректную информацию о быстродействии памяти. Объем оперативной памяти, который указывается при создании и последующем конфигурировании виртуальной машины, зависит от объема реальной памяти. Объем оперативной памяти виртуальной машины не может быть больше, чем объем памяти в основном (реальном) компьютере. Остальные компоненты у VMware Workstation и Microsoft Virtual PC - разные.
Так, например, машины VMware могут включать в свой состав следующее оборудование:
• сетевые адаптеры AMD PCnet-PCI II (всего до трех адаптеров), которые работают по технологии Ethernet, т. е. скорость обмена данными по сети составляет не более 10 Мб|с;
• жесткие диски с интерфейсом IDE. Как и в настоящем компьютере, может быть до четырех устройств, подключенных через этот интерфейс, в том числе и приводы CD-ROM, один из которых будет входить в состав виртуальной машины по умолчанию, если это устройство имеется на основном компьютере. Следует заметить, что если на реальном компьютере нет привода CD-ROM, то на виртуальном он может быть, но в этом случае он может работать только с виртуальными компакт-дисками, т. е. с так называемыми образами дисков. Поскольку образы компакт-дисков представлены файлами на реальных жестких дисках (а их скорость, как известно, существенно выше, нежели у оптических приводов), то некоторые задачи, которые связаны с работой приводов CD-ROM, на виртуальных машинах могут быть выполнены с существенно более высокой скоростью, чем на ре-
альных. Последнее справедливо и в некоторых других случаях, и об этом будет изложено более подробно;
• контроллеры SCSI (BusLogic или LSI Logic), посредством которых можно работать с соответствующими SCSI-устройствами. Этими устройствами могут быть и жесткие диски, и приводы CD-ROM. Интерфейс SCSI в соответствии с известной спецификацией поддерживает работу до семи SCSI-устройств. Эти устройства могут быть виртуальными либо могут быть задействованы реально существующие. Безусловно, реальные жесткие диски работают намного быстрее виртуальных. Однако для большей безопасности рекомендуется для виртуальных машин использовать отдельные жесткие диски, не задействованные основным компьютером;
• VMware Workstation 4.5 допускает, что при наличии в основном (реальном) компьютере 4 Гбайт памяти, под виртуальный компьютер может быть отведено до 3,6 Гбайт оперативной памяти.
• дисковод (Floppy Drive). Его наличие или отсутствие в виртуальном компьютере связано с тем, имеется ли такое устройство в основной машине. Если нет, то дисковод по умолчанию не будет включен. Если же его добавить в виртуальный компьютер, то это устройство должно быть либо связано с реально существующим дисководом, либо представлено образом тех данных, которые могут быть считаны с этого виртуального дисковода, либо записываются на некую виртуальную дискету.
Виртуальные машины, создаваемые в среде Microsoft Virtual PC 2004, имеют следующие особенности:
• объем памяти виртуальной машины может определяться с шагом 1 Мб (а не с шагом 4 Мб, как у VMware Workstation), но не более чем объем памяти основной машины за вычетом объема, необходимого основной операционной системе и самой программе Microsoft Virtual PC;
• имеется явное ограничение на количество виртуальных жестких дисков - их может быть не более трех. Это ограничение может стать препятствием при моделировании и изучении RAID-массивов;
• в качестве виртуальных сетевых адаптеров могут выступать только те реальные, что установлены на основной машине. Максимальное количество их не может превышать четырех. В дополнение к этому следует отметить, что Microsoft Virtual PC не имеет механизма конфигурирования виртуальных сетей, в то время как в VMware Workstation имеется несколько очень важных настроек и обеспечивается возможность построения до десяти виртуальных подсетей.
К сожалению, мультипроцессорную систему промоделировать нельзя ни в VMware Workstation, ни в Microsoft Virtual PC, хотя чипсет 440BX и допускает возможность построения компьютеров с двумя процессорами. Двухпроцессорные SMP-системы на этом чипсете в свое время были не ред-
костью, и было бы интересно получить возможность исследовать работу SMP-систем.
Наконец, нельзя не заметить различие в быстродействии виртуальных машин. Виртуальные машины VMware Workstation работают в два раза быстрее, нежели машины Microsoft Virtual PC. В подтверждение сказанному можно привести следующий пример. Процесс инсталляции операционной системы Microsoft Windows Millennium Edition в среде VMware Workstation 4.0 занял 55 мин, в то время как инсталляция этой же системы в среде Microsoft Virtual PC потребовал 1 ч и 45 мин. Основной компьютер работал под операционной системой Microsoft Windows XP SP2 и имел следующую конфигурацию: материнская плата на чипсете Intel 440BX, процессор iP-III 800MHz, оперативная память PC133 объемом 512 Мбайт, два накопителя на жестких дисках. Винчестер, на котором создавались виртуальные машины, - это достаточно быстродействующий даже по сегодняшним меркам IC35L120AVVA207, причем файлы виртуальных машин по очереди создавались в одном и том же разделе. Этот раздел был специально отведен для экспериментов и располагался на внешних цилиндрах, что обеспечивает максимальное быстродействие дисковой подсистемы. Необходимо отметить, что наибольшее замедление в работу виртуальных машин вносит именно дисковая подсистема. Использование даже простейшего контроллера с RAID-0 на основной машине позволяет заметно ускорить работу виртуальных машин.
Итак, можно констатировать, что предпочтительнее использовать именно продукты компании VMware. Более того, у компании VMware есть программные продукты, позволяющие использовать идеологию клиент-сервер и запускать виртуальные машины на мощных многопроцессорных серверах с большим объемом оперативной памяти и высокой производительностью. Как правило, такие серверы имеют быструю дисковую подсистему, основанную на технологиях RAID-массивов. Одной из таких программ является уже упомянутый VMware GSX Server 3.1. При наличии нескольких серверов с VMware GSX Server ими можно управлять с помощью специальных средств. Одним из таких средств является VMware Virtual Center, который позволяет с одного места управлять тысячами виртуальных машин. Дополнительно можно использовать такое сильное средство, как VMware ACE. Эти средства позволяют клонировать машины, собирать информацию о потребляемых вычислительных ресурсах, останавливать и запускать те или иные виртуальные машины, управлять виртуальными сетями, создавать и использовать специальные политики, которые помогают администрировать. В результате администраторы могут более эффективно и строго управлять информационными и вычислительными ресурсами, которые предоставляются пользователям посредством виртуальных машин.
Замечательным является то, что VMware GSX Server позволяет работать с виртуальными маши-
нами даже с маломощных рабочих станций, поскольку последние в этом случае выступают просто как терминалы. Этот продукт, так же как и VMware Workstation, существует в двух вариантах - и под Linux, и под Windows. Он устанавливается на сервер. Интересно отметить, что на компьютер, работающий под операционной системой, имеющей статус рабочей станции, его установить нельзя.
На рабочие станции, с которых пользователи будут работать со своими виртуальными машинами, устанавливается либо VMware Workstation (если ресурсы компьютера позволяют запускать виртуальные машины), либо специальное клиентское программное обеспечение - VMware Virtual Machine Console. Оно тоже бывает в двух вариантах - и под Linux, и под Windows. Таким образом, мы можем иметь четыре возможные комбинации клиентских и серверных программ, обеспечивающих работу с виртуальными машинами. Пожалуй, наиболее распространенной является ситуация, когда VMware GSX Server работает в среде Linux, а клиенты работают в среде Windows. Однако возможна и обратная ситуация, когда VMware GSX Server работает в операционной системе Windows Server 2003, а модули клиентов работают в среде Linux. Само собой, что может быть ситуация, когда и сервер и клиент работают в среде Win32 API, и, наконец, когда все работают в среде Linux.
При использовании VMware GSX Server все моделирование работы виртуальных машин, запущенных на основной машине, осуществляется на стороне сервера. Клиенту лишь передаются графические изображения дисплея гостевой машины, полученные на сервере. В обратную сторону (от клиента к серверу) передаются данные, полученные от перемещения мыши, и данные, полученные при нажатиях на клавиатуру. Полезным является то обстоятельство, что при закрытии окна клиентского приложения, в котором была работающая виртуальная машина, последняя продолжает работать без каких-либо последствий. При повторных открытиях сеанса работы с удаленной виртуальной машиной пользователь получает экран своего виртуального монитора. Все эти действия практически полностью совпадают с той ситуацией, которая многим нынче известна по работе с терминальным сервером. Самым интересным является то, что сам терминальный сервер при использовании VMware GSX Server также может быть виртуальным.
Виртуальные сети, имеющиеся в программах компании VMware Inc., можно представить как IP-подсети, которые могут быть связаны не только с виртуальными машинами, но и с основными компьютерами. Виртуальные сетевые адаптеры виртуальных машин могут быть либо связанными с реальными сетевыми адаптерами посредством мостового соединения (Bridged-networking), либо использовать технологию трансляции сетевых
адресов (NAT - Network Address Translation). В первом случае все кадры данных с реальной сетевой карты передаются на виртуальный сетевой адаптер и обратно. Это обеспечивается установкой на сетевой адаптер основной машины специального протокола (VMware Bridge Protokol). Виртуальный сетевой адаптер должен иметь свой собственный IP-адрес, отличающийся от адреса основной машины. Возможность принимать и обрабатывать информацию, приходящую на виртуальную машину через сетевое соединение, определяется настройками стека протоколов TCP/IP основной и виртуальной машины. Если они обе принадлежат одной и той же подсети или подсети, в которых они находятся, имеют соединение через маршрутизатор, то между этими машинами возможно нормальное сетевое взаимодействие. В противном случае передаваемые пакеты не смогут дойти с одной машины на другую, и сетевое взаимодействие между основной и гостевой машинами будет отсутствовать. Отметим, что, если на основной и виртуальной машинах установить ныне уже почти неиспользуемый протокол NetBEUI, работающий в немаршрутизируемых сетях, то обе машины смогут передавать между собой данные через свои сетевые интерфейсы. Этот очевидный факт хорошо демонстрирует, что при мостовом соединении кадры данных передаются с реального сетевого адаптера на виртуальный и обратно.
В случае использования трансляции сетевых адресов виртуальный адаптер виртуальной машины, имеющий внутренний или нелегальный IP-адрес, может связываться с внешними сетями. Пакеты данных, уходящие с виртуальной машины, получают IP-адрес основной машины. Настройки NAT в VMware осуществляются для виртуальных подсетей, в которых работает виртуальный DHCP-сервер.
Наконец, на виртуальной машине может быть host-only-соединение, при котором ее сетевой адаптер имеет соединение с одной из виртуальных подсетей. Если с этой же виртуальной подсетью связана еще какая-нибудь виртуальная машина или несколько виртуальных машин, то эти виртуальные машины могут полноценно использовать сетевые технологии для передачи между собой данных.
Две из десяти виртуальных сетей по умолчанию имеют DHCP-сервер. Обычно это первая и восьмая виртуальные подсети. Это позволяет иметь виртуальные машины, сконфигурированные как клиенты DHCP.
Технология виртуальных машин может использоваться для разных целей. Перечислим несколько таких применений.
Прежде всего, виртуальные машины предназначены для удобства разработчиков программных продуктов. Чтобы проверить и отладить работу создаваемых программных продуктов в той или иной среде, для которых они создаются, разработ-
чику нужно иметь под рукой эти самые среды. И вместо того, чтобы иметь несколько компьютеров, каждый из которых работает под другой операционной системой, программист имеет возможность протестировать свои решения на виртуальных машинах. Например, создаваемая программа или даже целый программный комплекс должны работать в системах Windows компании Microsoft. Как всем известно, таких операционных систем у компании Microsoft немало. Эти системы отличаются не только архитектурой, своими возможностями и графическим интерфейсом, но и интерфейсом прикладного программиста (API). Поэтому приложение, созданное для одной системы, может и не выполняться в другой системе. Иметь рядом все эти системы слишком дорого, а порой и вообще невозможно. Поэтому виртуальные машины, запускаемые программистом, позволяют ускорить и удешевить столь трудоемкий процесс тестирования и отладки.
Во-вторых, виртуальные машины используют с целью промоделировать ту или иную ситуацию, которую невозможно воссоздать в реально существующей среде, поскольку это может быть, например, небезопасно. Изучив эту ситуацию на модели из виртуальных машин (возможно, с привлечением даже нескольких реальных компьютеров), специалист может найти то правильное решение, которое без такого полунатурного моделирования и нет возможности получить. Достаточно часто виртуальные машины используются администраторами для проверки решений, которые они разрабатывают и затем реализуют в жизни, поскольку это позволяет избежать серьезных неприятностей в работе реальной сети.
В-третьих, виртуальные машины используют с целью запуска программ, работающих в операционной среде, которой нет на основном компьютере. И для того, чтобы иметь столь необходимую операционную среду, которой нет в основной операционной системе, как раз и создается и запускается виртуальная машина.
В-четвертых, виртуальные машины можно (и нужно!) использовать в учебном процессе. Очевидно, что виртуальные машины с большим успехом могут быть применены для изучения разных операционных систем. Кроме этого, их можно использовать и для изучения основ построения, конфигурирования и администрирования локальных вычислительных сетей, которые в подавляющем большинстве случаев теперь строятся на персональных компьютерах. Для этого в программные средства VMware и были включены мощные средства виртуализации вычислительных сетей.
Наконец, виртуальные машины могут с большим успехом применяться в тех случаях, когда не хватает средств на создание отдельных серверов, выполняющих те или иные функции, необходимые для нормального функционирования сети. Например, сервер, функционирующий под управлением опера-
ционной системы Linux и реализующий основные службы локальной сети, может наряду с вычислениями, выполняющимися в Linux, организовать работу одной или нескольких виртуальных машин с системами Windows. Одной из машин может быть, например, виртуальный Windows Server 2000, выполняющий роль контроллера домена. Вторая виртуальная машина может работать в роли сервера терминалов, что дает возможность с маломощных рабочих станций запускать на выполнение ресурсоемкие приложения. Часто такая виртуальная машина работает под управлением системы Windows Server 2003, поскольку она имеет протокол, который обеспечивает полноцветный графический режим с достаточно большим разрешением. Сервер с VMware GSX Server, работающий под Linux, обеспечивает выход в Интернет и надежную защиту всей сети, работу WWW- и FTP-сервисов, отправку и получение электронной почты, файловый SMB-сервис и некоторые другие службы. Кроме этого, естественно, у пользователей остается возможность при наличии клиента VMware Virtual Client Console работать со своими виртуальными машинами.
Эта последняя область применения начинает в последнее время быть столь значимой, что некоторые компании, в том числе и Microsoft, стали разрабатывать системы, которые сразу (без установки дополнительного программного обеспечения) имеют возможность запускать на одном реальном компьютере несколько операционных систем. И даже архитектура процессоров изменяется таким образом, чтобы можно было более эффективно организовать на них одновременную работу нескольких операционных систем, причем, в каждой из них может выполняться параллельно несколько задач.
Следует отметить следующие интересные факты. Виртуальные Windows-машины часто работают существенно быстрее, чем когда они запускаются как основные. Казалось бы, такого не должно быть, поскольку при виртуализации мы должны терять в производительности. Однако объясняется этот любопытный факт тем, что основная машина (при наличии достаточного объема оперативной памяти) кэширует в своей памяти те файлы, которые для виртуальных машин воспринимаются как виртуальные диски. И поскольку Linux делает кэширование файлов достаточно эффективно, то Windows при обращении к своим виртуальным дискам начинает работать в несколько раз быстрее. Проведенные эксперименты показывают, что при работе с большим количеством файлов виртуальная машина Windows может ускориться даже в десять (и более!) раз по сравнению с тем решением, когда она устанавливается как основная система.
Автор, работая в Санкт-Петербургском государственном университете аэрокосмического приборостроения, уже достаточно длительное время использует виртуальные машины и сети для обу-
чения студентов. Использование этой технологии позволяет организовать работу студентов таким образом, что каждый из них получает статус администратора всех своих виртуальных машин и своей локальной сети, которую студенты строят в рамках курсового проектирования. Очевидно, что без виртуальных машин невозможно обеспечить каждому студенту статус администратора, тем более, что эти же компьютеры используются не только в учебном процессе. На них могут работать и преподаватели, и сотрудники кафедры, причем для решения самых разнообразных задач. Большое удобство виртуальных машин заключается в том, что любую работающую виртуальную машину можно в любой момент отправить в состояние «сна» (suspend). При этом программа моделирования компьютера сохраняет в специальных файлах состояние виртуальной машины. При «пробуждении» машина продолжает свою работу с того
же места. Получается, что по окончании занятий студенты могут быстро сохранить свою работу и продолжить ее, например, на следующей неделе.
Опыт испльзования виртуальных машин и сетей нашел отражение в работе [3].
1. Бешков А. VMware - виртуальный полигон для администратора и разработчика || Системный администратор. 2003. № 9. С. 8-13.
2. Ерижоков А. А. VMware - одновременная работа с несколькими операционными системами. http:// docs.luksian.com/hardware/emulator/vmware/
3. Балберин В. В., Гордеев А. В., Лавров В. Э. Работа с VMware Workstation и VMware Server. Спб.: Институт дополнительного профессионального образования, 2005. 52 с.
Коваленко В. В.
Частично инфинитное моделирование (основания, примеры, парадоксы). - СПб.: Политехника, 2005. - 483 с.
ISBN 5-7325-0337-4.
В книге достаточно полно излагаются основы частично инфинитного моделирования. На примерах из истории, географии и механики жидкости показывается технология, слабые и сильные стороны рассматриваемого подхода к моделированию развивающихся систем. Формируется логиконегеоцентрический парадокс, исключающий претензии на самодостаточность частично инфинитного моделирования.
Предназначена специалистам, аспирантам и студентам вузов, занимающихся методологией науки и моделированием. Не рекомендуется любителям доказывать теоремы и ученым, склонным к обстоятельности и серьезности (которым «не до шуток»).
Повопросам приобретения книги обращаться по адресу:
191023, г. Санкт-Петербург, ул. Инженерная, д. 6, 3-й этаж, ОАО «Издательство “Политехника”» телефон/факс: 312-44-95 (отдел реализации)
е-таіі: Іага [email protected], оіевуа [email protected], www.polytechnics.ru