VxWorks

Поделись знанием:
Перейти к: навигация, поиск
VxWorks

Логотип VxWorks в ASCII-графике
Семейство ОС

UNIX-подобная

Последняя версия

6.9 (февраль 2011 г.[1])

Тип ядра

Микроядро

Состояние

Актуальное

Веб-сайт

[www.windriver.com/products/vxworks.html VxWorks RTOS]

VxWorks — операционная система реального времени, разрабатываемая компанией Wind River Systems (США), ориентированная на использование во встраиваемых компьютерах, работающих в системах жёсткого реального времени. VxWorks является системой с кросс-средствами разработки прикладного программного обеспечения. Иначе говоря, разработка происходит на инструментальном компьютере, называемом host, для последующего применения его на целевой машине — target.

Как и большинство других ОС реального времени, VxWorks включает в себя многозадачное ядро с вытесняющим планировщиком и быстрым откликом на прерывания, средства межпроцессного взаимодействия и синхронизации, а также файловую систему и сетевую подсистему (стек протоколов TCP/IP). В комплект поставки входят средства для кросс-компиляции, мониторинга производительности (WindView), удалённой символьной отладки, а также эмуляции различных процессоров. Дополнительно поставляется значительное количество различных стеков протоколов, графических подсистем и др. как от самой Wind River Systems, так и от третьих фирм. Множество поддерживаемых VxWorks встраиваемых платформ является одним из самых обширных среди операционных систем реального времени.

4 июня 2009 года компания Intel объявила о планах приобрести Wind River Systems и VxWorks.[2] 17 июля 2009 года поглощение компании было завершено[3]





История

Название «VxWorks», как считается, получилось из игры слов с названием ОС VRTX, созданной компанией Ready Systems (сейчас этот продукт принадлежит Mentor Graphics). В начале 1980-х VRTX была достаточно новым и сырым продуктом, она работала не слишком хорошо. VRTX имела размер всего 4 КБ, и её нельзя было использовать как полноценную операционную систему. Компания Wind River приобрела права на распространение расширенной версии VRTX под названием VxWorks. Доработки и расширения, внесённые компанией WindRiver, позволили создать систему, которая работала (например, VXWorks имела файловую систему и интегрированную среду разработки). Таким образом, название VxWorks может означать англ. VRTX now Works («VRTX теперь работает») или англ. VRTX that Works («VRTX, которая работает»).

Когда стало ясно, что Ready Systems может разорвать контракт на распространение VRTX, в Wind River было разработано собственное ядро операционной системы, которое заменило VRTX. Базовая функциональность нового ядра VxWorks была такой же, как у VRTX.

Архитектура

VxWorks имеет архитектуру клиент-сервер и, как и большинство ОС жёсткого реального времени, построена по технологии микроядра. На самом нижнем непрерываемом уровне ядра (WIND Microkernel) выполняются только базовые функции планирования задач и управления коммуникацией/синхронизацией между задачами. Все остальные функции ОСРВ более высокого уровня — управление памятью, сетевые средства и т. д. — реализуются через простые функции нижнего уровня. За счёт такой иерархической организации достигается быстродействие и детерминированность ядра системы, также это позволяет легко строить необходимую конфигурацию операционной системы.

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

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

Ядро VxWorks обладает следующими свойствами[4]:

  • количество задач ограничивается только памятью;
  • имеет 256 уровней приоритетов задач;
  • планирование задач организовано двумя способами: вытеснение по приоритетам и циклическое;
  • взаимодействие задач происходит через очереди сообщений, семафоры, события и каналы (для взаимодействия между процессами), сокеты и удалённые вызовы процедур (для сетевого взаимодействия), разделение памяти (используется для разделения данных) и сигналы (для управления исключительными ситуациями);
  • обеспечивается несколько видов семафоров для управления критическими системными ресурсами — двоичные, вычислительные и взаимоисключающие с приоритетным наследованием;
  • возможно детерминированное переключение контекста.

Планирование

В VxWorks обеспечиваются и механизмы планирования, основанные на POSIX[5], и собственные механизмы планирования (wind scheduling). Оба варианта обладают вытесняющим и циклическим планированием. Различие заключается в том, что алгоритмы POSIX-планирования применяются попроцессно, а wind scheduling применяется на уровне всей системы[4].

Все задачи системы и приложения в VxWorks используют одно адресное пространство, что может привести к нарушению стабильности работы системы в случае неисправности какого-либо приложения. Решение этой проблемы достигается установкой отдельно предоставляемого компонента VxVMI[6], который даёт возможность каждому процессу использовать собственное виртуальное пространство.

Прерывания

Для достижения быстрой обработки внешних прерываний программы обработки прерываний (ISRs — interrupt service routines) в VxWorks работают в специальном контексте вне контекстов потоков, что даёт преимущество во времени, которое обычно тратится на переключение контекстов. С-функция, которую пользователь присоединяет к вектору прерывания, на самом деле не является фактической ISR. Прерывания не могут напрямую обращаться к С-функциям. Вместо этого в таблице векторов прерываний, которая вызывается аппаратно, запоминается адрес ISR. ISR выполняет начальную обработку (подготовку стека и сохранение регистров), а потом вызывается С-функция, которая была присоединена пользователем[4].

Сетевые средства

VxWorks обладает следующими сетевыми средствами[7]:

В сетевые средства VxWorks входят также функции, необходимые при разработке устройств, подключаемых к Internet:

  • IP multicasting уровня 0,1 или 2;
  • long fat pipe;
  • CIDR (Classless Inter-Domain Routing);
  • DHCP (Dynamic Host Configuration Protocol) в конфигурациях сервер, клиент и Relay-агент;
  • DNS client (Domain Naming System);
  • SNTP (Simple Network Time Protocol).

VxWorks поддерживает следующие протоколы маршрутизации:

  • RIPv1/v2 (Routing Information Protocol)
  • OSPF (Open Shortest Path First) версии 2.

В стандартную поставку VxWorks входит протокол RIP, протокол OSPF поставляется как дополнительный продукт.

VxWorks поддерживает протокол SNMP (Simple Network Management Protocol) как версии v1, так и версии v2c. Компилятор MIB (Management Information Base) поддерживает объекты MIB-II и расширения.

Стандартным интерфейсом для подключения переносимых сетевых протоколов к операционным системам является интерфейс STREAMS. Под VxWorks можно инсталлировать любой протокол, имеющий STREAMS-реализацию: как стандартный (Novell SPX/IPX, Decnet, AppleTalk, SNA, …), так и специализированный. ОС VxWorks поддерживает STREAMS версии UNIX System V.4.

Дополнительные сетевые возможности: программа WindNet

В 1994 году Wind River Systems анонсировала программу WindNet, по которой ряд фирм-производителей программных средств в области коммуникаций интегрировали свои программные продукты с VxWorks, тем самым обеспечив поддержку (это неполный перечень)[5]:

  • сетевых протоколов: Х.25, ISDN, ATM, SS7, Frame Relay и OSI;
  • CASE-средств разработки распределённых систем на базе стандартов ROOM (Real-Time Object Oriented Modelling) и CORBA (Common Object Request Broker Architecture);
  • менеджмент сетей по технологиям MBD (Management By Delegation) и CMIP/GDMO (Common Management Information Protocol/Guidelines for Definition of Managed Objects).

Файловая система

В VxWorks поддерживаются следующие файловые системы[8]:

Поддержка симметричного и асимметричного мультипроцессинга

Мультипроцессорная система реального времени, с точки зрения программного обеспечения, бывает двух видов: асимметричная ASMP (англ. Asymmetrical MultiProcessing) и симметричная SMP (англ. Symmetrical MultiProcessing). При асимметричном мультипроцессинге ASMP каждый микропроцессор, а в случае многоядерного микропроцессора — каждое процессорное ядро исполняет свой собственный экземпляр ОС, а за распределение процессов (потоков, задач) по процессорам отвечает разработчик прикладного ПО. В таком случае многопроцессорная система сложна в программировании, но обладает предсказуемостью (детерминированностью) характеристик реального времени.

При симметричном мультипроцессинге SMP прикладной программист видит многопроцессорную систему как виртуальную однопроцессорную, что значительно упрощает разработку ПО, но нет 100 % гарантии предсказуемости исполнения из-за того, что нагрузка между процессорами распределяется не вручную, а автоматически.

До появления на рынке встраиваемых микропроцессоров многоядерных устройств потребность в симметричном мультипроцессинге практически отсутствовала. Сложность разработки ПО для слабосвязанных многопроцессорных систем была невелика, и простоту программирования ставили на второе место после предсказуемости поведения системы реального времени. Поэтому в версиях VxWorks 5.x и 6.x вплоть до версии 6.5 поддерживался только асимметричный мультипроцессинг, реализованный в виде библиотеки VxMP(поставляется как дополнительный продукт), обеспечивающей коммуникацию между процессорами через объекты в разделяемой памяти. По мере появления встраиваемых многоядерных микропроцессоров с сильно связанными процессорными ядрами на кристалле на первое место выдвинулась простота разработки ПО, что привело к необходимости поддерживания встраиваемыми ОС реального времени симметричного мультипроцессинга.

С версии 6.6, вышедшей в ноябре 2007 года, VxWorks начала поддерживать симметричный мультипроцессинг SMP[9]. Поддержка SMP-систем включена в интегрированную среду разработки Wind River Workbench for VxWorks[10] и Workbench for On-Chip-Debugging. Поддержка SMP-систем в VxWorks поставляется как дополнительная компонента. Поддерживаются следующие многоядерные микропроцессоры:

Использование

К:Википедия:Статьи без источников (тип: не указан)
  • Phoenix Mars Lander — аппарат НАСА, предназначенный для изучения Марса.
  • Зонды Spirit, Opportunity и Curiosity, а также аппарат Mars Reconnaissance Orbiter используют VxWorks на платформе POWER. Система используется и в других космических миссиях, например, Deep Impact.
  • Планируется использование в новейших авиалайнерах Boeing 787 и Boeing 747-8.
  • Коммуникационное оборудование многих компаний (например, Nortel, 3COM, Alcatel, Linksys WRT54G, NetGear WGR614).
  • Некоторые PostScript-принтеры.
  • Медицинское оборудование компании Siemens AG (в частности, магнитно-резонансные томографы).
  • Системы хранения различных компаний (ETERNUS DX от Fujitsu, серия E от NetApp, серия DS от IBM).
  • Последние системы интерфейсов BMW iDrive.
  • Система управления робототехническими комплексами компании KUKA.
  • Система управления роботами компании ABB.
  • Множество других применений во встраиваемых системах с высокими требованиями к надёжности и времени отклика.
Поддерживаемые целевые архитектуры (targets) Поддерживаемые инструментальные платформы (hosts) Поддерживаемые интерфейсы

Сравнение с некоторыми операционными системами реального времени

VxWorks сравнивают с другими операционными системами реального времени[11].

ОСРВ Архитектура Среда разработки POSIX Мах. число задач
VxWorks Клиент-сервер, микроядро Tornado, Workbench, Qt Creator Commercial[12] POSIX 1003.1, .1b, .1c (включая pThreads) ограничивается только объёмом памяти
QNX Клиент-сервер, микроядро и взаимодействующие процессы QNX Momentics IDE для Windows, Qt Creator (Community и Commercial) с версии 3.0[13], Solaris, QNX4, QNX6 (до версии Neutrino 6.3.2 включительно), Linux POSIX 1003.1-2001, с потоками и расширенным. РВ 4095 процессов, в каждом процессе до 32767 потоков
LynxOS[14][15] монолитное ядро[16] Luminosity на базе среды Eclipse POSIX 1003.1a/b/c, 1003.1-2003 ограничено памятью

Напишите отзыв о статье "VxWorks"

Примечания

  1. [www.windriver.com/news/press/pr.html?ID=6521 Wind River Advances Multicore Leadership With Introduction of Latest VxWorks Real-Time Operating System]. Проверено 5 апреля 2009. [www.webcitation.org/6515tbeTR Архивировано из первоисточника 28 января 2012].  (англ.)
  2. [arstechnica.com/gadgets/news/2009/06/intel-strikes-back-at-arm-buys-embedded-os-maker-wind-river.ars Intel strikes back at ARM, buys embedded OS maker Wind River] — Ars Technica. (англ.)
  3. [www.winvpn.net/news/press/pr.html?ID=7081 Intel Corporation today announced the successful completion of its acquisition of Wind River Systems Inc.]  (англ.)
  4. 1 2 3 [citforum.univ.kiev.ua/operating_systems/rtos/10.shtml Статья «Операционные системы реального времени» И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко] п. 2.1. VxWorks
  5. 1 2 [www.mka.ru/?p=40967 Статья «VxWorks: Операционная система реального времени и комплекс инструментальных средств разработки ПО РВ», А. В. Демьянов] п. Дополнительные сетевые возможности: программа WindNet, п. Поддержка стандартов POSIX
  6. [www.fys.uio.no/studier/kurs/fys4220/docs/vxworks/guide/c-over4.html VxWorks Facilities: An Overview]. Virtual Memory (Including VxVMI Option)
  7. [citforum.univ.kiev.ua/operating_systems/rtos/10.shtml Статья: «Операционные системы реального времени» И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко] п. 5. Сводные таблицы характеристик свойств ОСРВ табл. 2(недоступная ссылка с 11-07-2015 (3213 дней))
  8. [www.xs4all.nl/~borkhuis/vxworks/vxw_pt3.html#3.1 VxWorks / Tornado II FAQ]
  9. [www.windriver.com/products/platforms/smp/ VxWorks 6.6 SMP, Symmetric Multiprocessing Technology for Multicore]
  10. [www.windriver.com/products/product-notes/workbench-product-note.pdf pdf: Wind River Workbench]
  11. [citforum.univ.kiev.ua/operating_systems/rtos/41.shtml Сводные таблицы характеристик свойств ОСРВ]
  12. [doc.qt.io/qt-5/platform-notes-vxworks.html VxWorks Notes - Qt Documentation]
  13. [doc.qt.io/qtcreator/creator-os-supported-platforms.html#target-platforms Target Platforms - Qt Documentation]
  14. [www.asutp.ru/?p=600596 Статья: «LynxOS — операционная система реального времени в стандарте POSIX», Золотарёв С. В., Калядин А. Ю.]
  15. [www.rtsoft.ru/ru/press/news/mainnews/index.php?print=1&id4=758 новостная статья]
  16. [www.rtsoft.ru/ru/press/news/index.php?id4=328 статья: «Взгляд на мир операционных систем реального времени в 2006 году С. В. Золотарёв»] п. «Монолитное или микроядро?»

Список литературы

  • [www.mka.ru/?p=40036 VxWorks операционная система внутри Интернет, А. В. Демьянов (ЗАО РТСофт)]
  • [www.mka.ru/?p=40967 VxWorks: Операционная система реального времени и комплекс инструментальных средств разработки ПО РВ, А. В. Демьянов, AVD Systems, г. Москва]
  • [citforum.univ.kiev.ua/operating_systems/rtos/ Операционные системы реального времени, И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко(недоступная ссылка с 11-07-2015 (3213 дней))]
  • [www.vxworks.ru www.vxworks.ru]
  • [rnd.cnews.ru/reviews/index_science.shtml?2008/05/05/299461_1 rnd.cnews.ru — Операционные системы реального времени для авионики: обзор(недоступная ссылка с 11-07-2015 (3213 дней))]

Ссылки

  • [www.windriver.com/ Wind River Systems]
    • [www.windriver.com/products/run-time_technologies/Real-Time_Operating_Systems/VxWorks_6x/ VxWorks 6.x]
  • [www.xs4all.nl/~borkhuis/vxworks/vxworks.html VxWorks/Tornado II FAQ]
  • [www.bluedonkey.org/cgi-bin/twiki/bin/view/Books/VxWorksCookBook VxWorks Cookbook]
  • [embedded.prosoft.ru/products/brands/windriver/vxworks.html VxWorks - Встраиваемая ОС жесткого реального времени на сайте www.prosoft.ru]


Отрывок, характеризующий VxWorks

– Вы приказали напомнить о разжалованном Долохове в этом полку.
– Где тут Долохов? – спросил Кутузов.
Долохов, уже переодетый в солдатскую серую шинель, не дожидался, чтоб его вызвали. Стройная фигура белокурого с ясными голубыми глазами солдата выступила из фронта. Он подошел к главнокомандующему и сделал на караул.
– Претензия? – нахмурившись слегка, спросил Кутузов.
– Это Долохов, – сказал князь Андрей.
– A! – сказал Кутузов. – Надеюсь, что этот урок тебя исправит, служи хорошенько. Государь милостив. И я не забуду тебя, ежели ты заслужишь.
Голубые ясные глаза смотрели на главнокомандующего так же дерзко, как и на полкового командира, как будто своим выражением разрывая завесу условности, отделявшую так далеко главнокомандующего от солдата.
– Об одном прошу, ваше высокопревосходительство, – сказал он своим звучным, твердым, неспешащим голосом. – Прошу дать мне случай загладить мою вину и доказать мою преданность государю императору и России.
Кутузов отвернулся. На лице его промелькнула та же улыбка глаз, как и в то время, когда он отвернулся от капитана Тимохина. Он отвернулся и поморщился, как будто хотел выразить этим, что всё, что ему сказал Долохов, и всё, что он мог сказать ему, он давно, давно знает, что всё это уже прискучило ему и что всё это совсем не то, что нужно. Он отвернулся и направился к коляске.
Полк разобрался ротами и направился к назначенным квартирам невдалеке от Браунау, где надеялся обуться, одеться и отдохнуть после трудных переходов.
– Вы на меня не претендуете, Прохор Игнатьич? – сказал полковой командир, объезжая двигавшуюся к месту 3 ю роту и подъезжая к шедшему впереди ее капитану Тимохину. Лицо полкового командира выражало после счастливо отбытого смотра неудержимую радость. – Служба царская… нельзя… другой раз во фронте оборвешь… Сам извинюсь первый, вы меня знаете… Очень благодарил! – И он протянул руку ротному.
– Помилуйте, генерал, да смею ли я! – отвечал капитан, краснея носом, улыбаясь и раскрывая улыбкой недостаток двух передних зубов, выбитых прикладом под Измаилом.
– Да господину Долохову передайте, что я его не забуду, чтоб он был спокоен. Да скажите, пожалуйста, я всё хотел спросить, что он, как себя ведет? И всё…
– По службе очень исправен, ваше превосходительство… но карахтер… – сказал Тимохин.
– А что, что характер? – спросил полковой командир.
– Находит, ваше превосходительство, днями, – говорил капитан, – то и умен, и учен, и добр. А то зверь. В Польше убил было жида, изволите знать…
– Ну да, ну да, – сказал полковой командир, – всё надо пожалеть молодого человека в несчастии. Ведь большие связи… Так вы того…
– Слушаю, ваше превосходительство, – сказал Тимохин, улыбкой давая чувствовать, что он понимает желания начальника.
– Ну да, ну да.
Полковой командир отыскал в рядах Долохова и придержал лошадь.
– До первого дела – эполеты, – сказал он ему.
Долохов оглянулся, ничего не сказал и не изменил выражения своего насмешливо улыбающегося рта.
– Ну, вот и хорошо, – продолжал полковой командир. – Людям по чарке водки от меня, – прибавил он, чтобы солдаты слышали. – Благодарю всех! Слава Богу! – И он, обогнав роту, подъехал к другой.
– Что ж, он, право, хороший человек; с ним служить можно, – сказал Тимохин субалтерн офицеру, шедшему подле него.
– Одно слово, червонный!… (полкового командира прозвали червонным королем) – смеясь, сказал субалтерн офицер.
Счастливое расположение духа начальства после смотра перешло и к солдатам. Рота шла весело. Со всех сторон переговаривались солдатские голоса.
– Как же сказывали, Кутузов кривой, об одном глазу?
– А то нет! Вовсе кривой.
– Не… брат, глазастее тебя. Сапоги и подвертки – всё оглядел…
– Как он, братец ты мой, глянет на ноги мне… ну! думаю…
– А другой то австрияк, с ним был, словно мелом вымазан. Как мука, белый. Я чай, как амуницию чистят!
– Что, Федешоу!… сказывал он, что ли, когда стражения начнутся, ты ближе стоял? Говорили всё, в Брунове сам Бунапарте стоит.
– Бунапарте стоит! ишь врет, дура! Чего не знает! Теперь пруссак бунтует. Австрияк его, значит, усмиряет. Как он замирится, тогда и с Бунапартом война откроется. А то, говорит, в Брунове Бунапарте стоит! То то и видно, что дурак. Ты слушай больше.
– Вишь черти квартирьеры! Пятая рота, гляди, уже в деревню заворачивает, они кашу сварят, а мы еще до места не дойдем.
– Дай сухарика то, чорт.
– А табаку то вчера дал? То то, брат. Ну, на, Бог с тобой.
– Хоть бы привал сделали, а то еще верст пять пропрем не емши.
– То то любо было, как немцы нам коляски подавали. Едешь, знай: важно!
– А здесь, братец, народ вовсе оголтелый пошел. Там всё как будто поляк был, всё русской короны; а нынче, брат, сплошной немец пошел.
– Песенники вперед! – послышался крик капитана.
И перед роту с разных рядов выбежало человек двадцать. Барабанщик запевало обернулся лицом к песенникам, и, махнув рукой, затянул протяжную солдатскую песню, начинавшуюся: «Не заря ли, солнышко занималося…» и кончавшуюся словами: «То то, братцы, будет слава нам с Каменскиим отцом…» Песня эта была сложена в Турции и пелась теперь в Австрии, только с тем изменением, что на место «Каменскиим отцом» вставляли слова: «Кутузовым отцом».
Оторвав по солдатски эти последние слова и махнув руками, как будто он бросал что то на землю, барабанщик, сухой и красивый солдат лет сорока, строго оглянул солдат песенников и зажмурился. Потом, убедившись, что все глаза устремлены на него, он как будто осторожно приподнял обеими руками какую то невидимую, драгоценную вещь над головой, подержал ее так несколько секунд и вдруг отчаянно бросил ее:
Ах, вы, сени мои, сени!
«Сени новые мои…», подхватили двадцать голосов, и ложечник, несмотря на тяжесть амуниции, резво выскочил вперед и пошел задом перед ротой, пошевеливая плечами и угрожая кому то ложками. Солдаты, в такт песни размахивая руками, шли просторным шагом, невольно попадая в ногу. Сзади роты послышались звуки колес, похрускиванье рессор и топот лошадей.
Кутузов со свитой возвращался в город. Главнокомандующий дал знак, чтобы люди продолжали итти вольно, и на его лице и на всех лицах его свиты выразилось удовольствие при звуках песни, при виде пляшущего солдата и весело и бойко идущих солдат роты. Во втором ряду, с правого фланга, с которого коляска обгоняла роты, невольно бросался в глаза голубоглазый солдат, Долохов, который особенно бойко и грациозно шел в такт песни и глядел на лица проезжающих с таким выражением, как будто он жалел всех, кто не шел в это время с ротой. Гусарский корнет из свиты Кутузова, передразнивавший полкового командира, отстал от коляски и подъехал к Долохову.
Гусарский корнет Жерков одно время в Петербурге принадлежал к тому буйному обществу, которым руководил Долохов. За границей Жерков встретил Долохова солдатом, но не счел нужным узнать его. Теперь, после разговора Кутузова с разжалованным, он с радостью старого друга обратился к нему:
– Друг сердечный, ты как? – сказал он при звуках песни, ровняя шаг своей лошади с шагом роты.
– Я как? – отвечал холодно Долохов, – как видишь.
Бойкая песня придавала особенное значение тону развязной веселости, с которой говорил Жерков, и умышленной холодности ответов Долохова.
– Ну, как ладишь с начальством? – спросил Жерков.
– Ничего, хорошие люди. Ты как в штаб затесался?
– Прикомандирован, дежурю.
Они помолчали.
«Выпускала сокола да из правого рукава», говорила песня, невольно возбуждая бодрое, веселое чувство. Разговор их, вероятно, был бы другой, ежели бы они говорили не при звуках песни.
– Что правда, австрийцев побили? – спросил Долохов.
– А чорт их знает, говорят.
– Я рад, – отвечал Долохов коротко и ясно, как того требовала песня.
– Что ж, приходи к нам когда вечерком, фараон заложишь, – сказал Жерков.
– Или у вас денег много завелось?
– Приходи.
– Нельзя. Зарок дал. Не пью и не играю, пока не произведут.
– Да что ж, до первого дела…
– Там видно будет.
Опять они помолчали.
– Ты заходи, коли что нужно, все в штабе помогут… – сказал Жерков.
Долохов усмехнулся.
– Ты лучше не беспокойся. Мне что нужно, я просить не стану, сам возьму.
– Да что ж, я так…
– Ну, и я так.
– Прощай.
– Будь здоров…
… и высоко, и далеко,
На родиму сторону…
Жерков тронул шпорами лошадь, которая раза три, горячась, перебила ногами, не зная, с какой начать, справилась и поскакала, обгоняя роту и догоняя коляску, тоже в такт песни.


Возвратившись со смотра, Кутузов, сопутствуемый австрийским генералом, прошел в свой кабинет и, кликнув адъютанта, приказал подать себе некоторые бумаги, относившиеся до состояния приходивших войск, и письма, полученные от эрцгерцога Фердинанда, начальствовавшего передовою армией. Князь Андрей Болконский с требуемыми бумагами вошел в кабинет главнокомандующего. Перед разложенным на столе планом сидели Кутузов и австрийский член гофкригсрата.
– А… – сказал Кутузов, оглядываясь на Болконского, как будто этим словом приглашая адъютанта подождать, и продолжал по французски начатый разговор.
– Я только говорю одно, генерал, – говорил Кутузов с приятным изяществом выражений и интонации, заставлявшим вслушиваться в каждое неторопливо сказанное слово. Видно было, что Кутузов и сам с удовольствием слушал себя. – Я только одно говорю, генерал, что ежели бы дело зависело от моего личного желания, то воля его величества императора Франца давно была бы исполнена. Я давно уже присоединился бы к эрцгерцогу. И верьте моей чести, что для меня лично передать высшее начальство армией более меня сведущему и искусному генералу, какими так обильна Австрия, и сложить с себя всю эту тяжкую ответственность для меня лично было бы отрадой. Но обстоятельства бывают сильнее нас, генерал.
И Кутузов улыбнулся с таким выражением, как будто он говорил: «Вы имеете полное право не верить мне, и даже мне совершенно всё равно, верите ли вы мне или нет, но вы не имеете повода сказать мне это. И в этом то всё дело».
Австрийский генерал имел недовольный вид, но не мог не в том же тоне отвечать Кутузову.
– Напротив, – сказал он ворчливым и сердитым тоном, так противоречившим лестному значению произносимых слов, – напротив, участие вашего превосходительства в общем деле высоко ценится его величеством; но мы полагаем, что настоящее замедление лишает славные русские войска и их главнокомандующих тех лавров, которые они привыкли пожинать в битвах, – закончил он видимо приготовленную фразу.
Кутузов поклонился, не изменяя улыбки.
– А я так убежден и, основываясь на последнем письме, которым почтил меня его высочество эрцгерцог Фердинанд, предполагаю, что австрийские войска, под начальством столь искусного помощника, каков генерал Мак, теперь уже одержали решительную победу и не нуждаются более в нашей помощи, – сказал Кутузов.
Генерал нахмурился. Хотя и не было положительных известий о поражении австрийцев, но было слишком много обстоятельств, подтверждавших общие невыгодные слухи; и потому предположение Кутузова о победе австрийцев было весьма похоже на насмешку. Но Кутузов кротко улыбался, всё с тем же выражением, которое говорило, что он имеет право предполагать это. Действительно, последнее письмо, полученное им из армии Мака, извещало его о победе и о самом выгодном стратегическом положении армии.
– Дай ка сюда это письмо, – сказал Кутузов, обращаясь к князю Андрею. – Вот изволите видеть. – И Кутузов, с насмешливою улыбкой на концах губ, прочел по немецки австрийскому генералу следующее место из письма эрцгерцога Фердинанда: «Wir haben vollkommen zusammengehaltene Krafte, nahe an 70 000 Mann, um den Feind, wenn er den Lech passirte, angreifen und schlagen zu konnen. Wir konnen, da wir Meister von Ulm sind, den Vortheil, auch von beiden Uferien der Donau Meister zu bleiben, nicht verlieren; mithin auch jeden Augenblick, wenn der Feind den Lech nicht passirte, die Donau ubersetzen, uns auf seine Communikations Linie werfen, die Donau unterhalb repassiren und dem Feinde, wenn er sich gegen unsere treue Allirte mit ganzer Macht wenden wollte, seine Absicht alabald vereitelien. Wir werden auf solche Weise den Zeitpunkt, wo die Kaiserlich Ruseische Armee ausgerustet sein wird, muthig entgegenharren, und sodann leicht gemeinschaftlich die Moglichkeit finden, dem Feinde das Schicksal zuzubereiten, so er verdient». [Мы имеем вполне сосредоточенные силы, около 70 000 человек, так что мы можем атаковать и разбить неприятеля в случае переправы его через Лех. Так как мы уже владеем Ульмом, то мы можем удерживать за собою выгоду командования обоими берегами Дуная, стало быть, ежеминутно, в случае если неприятель не перейдет через Лех, переправиться через Дунай, броситься на его коммуникационную линию, ниже перейти обратно Дунай и неприятелю, если он вздумает обратить всю свою силу на наших верных союзников, не дать исполнить его намерение. Таким образом мы будем бодро ожидать времени, когда императорская российская армия совсем изготовится, и затем вместе легко найдем возможность уготовить неприятелю участь, коей он заслуживает».]
Кутузов тяжело вздохнул, окончив этот период, и внимательно и ласково посмотрел на члена гофкригсрата.
– Но вы знаете, ваше превосходительство, мудрое правило, предписывающее предполагать худшее, – сказал австрийский генерал, видимо желая покончить с шутками и приступить к делу.
Он невольно оглянулся на адъютанта.
– Извините, генерал, – перебил его Кутузов и тоже поворотился к князю Андрею. – Вот что, мой любезный, возьми ты все донесения от наших лазутчиков у Козловского. Вот два письма от графа Ностица, вот письмо от его высочества эрцгерцога Фердинанда, вот еще, – сказал он, подавая ему несколько бумаг. – И из всего этого чистенько, на французском языке, составь mеmorandum, записочку, для видимости всех тех известий, которые мы о действиях австрийской армии имели. Ну, так то, и представь его превосходительству.
Князь Андрей наклонил голову в знак того, что понял с первых слов не только то, что было сказано, но и то, что желал бы сказать ему Кутузов. Он собрал бумаги, и, отдав общий поклон, тихо шагая по ковру, вышел в приемную.
Несмотря на то, что еще не много времени прошло с тех пор, как князь Андрей оставил Россию, он много изменился за это время. В выражении его лица, в движениях, в походке почти не было заметно прежнего притворства, усталости и лени; он имел вид человека, не имеющего времени думать о впечатлении, какое он производит на других, и занятого делом приятным и интересным. Лицо его выражало больше довольства собой и окружающими; улыбка и взгляд его были веселее и привлекательнее.
Кутузов, которого он догнал еще в Польше, принял его очень ласково, обещал ему не забывать его, отличал от других адъютантов, брал с собою в Вену и давал более серьезные поручения. Из Вены Кутузов писал своему старому товарищу, отцу князя Андрея:
«Ваш сын, – писал он, – надежду подает быть офицером, из ряду выходящим по своим занятиям, твердости и исполнительности. Я считаю себя счастливым, имея под рукой такого подчиненного».