Kernel panic

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

Kernel panic (англ. тревога, сбой в ядре, дословно паника ядра) — сообщение о критической ошибке ядра операционной системы, после которой операционная система не может продолжать дальнейшую работу[1].

Обычно этот термин применяется в среде операционных систем типа UNIX. Её имя связано с текстом ошибки вида «Kernel panic: …» и именем функции ядра panic() из оригинальной ОС UNIX[2].

Kernel panic возможен на Android, который базируется на ядре Linux. Поскольку Mac OS X, а также iOS базируются на Darwin, относящемуся к классу UNIX-систем, они тоже подвержены kernel panic[3].





История

История Kernel panic тесно связана с историей операционной системы UNIX, которая была разработана в конце 1960-х годов сотрудниками Bell Labs, в первую очередь Кеном Томпсоном, Деннисом Ритчи и Дугласом Макилроем.

Сообщение Kernel panic было введено в ранних версиях UNIX и представляло собой важное отличие в философии этой операционной системы от главного конкурента на то время и предшественника UNIX, Multics. Multics был разработан для работы на 36-битном мейнфрейме GE-645, в то время как UNIX разрабатывался для гораздо менее мощного 18-битного мини-компьютера PDP-7 и по этой причине операционной системе было доступно меньше ресурсов, что привело к необходимости их экономии, в том числе и при обработке ошибок. Разработчик Multics, Том ван Влек, так описывает это изменение в дискуссии с разработчиком UNIX Деннисом Ритчи[4]:

Я сказал Деннису, что примерно половина кода, который я написал для Multics, была кодом обработки ошибок. Он ответил: «Мы всё это отбросили. Если произошла ошибка, у нас есть процедура под названием panic, и если она вызвана, компьютер зависает и вы кричите: „Эй, перезапустите его!“».

Изначальная функция panic() принципиально не менялась от UNIX V5 до базирующихся на VAX систем 32V и выводила только сообщение об ошибке без дополнительной информации, после чего система переводилась в бесконечный пустой цикл. Позже, в процессе развития UNIX, функция panic() была доработана и стала выводить на терминал разнообразную информацию, необходимую для отладки.

Подобный принцип обработки критических ошибок был перенят большинством более поздних операционных систем, например Mac OS[3] или Microsoft Windows[5].

Причины Kernel panic

Одной из самых распространённых причин kernel panic является невозможность найти и смонтировать корневую файловую систему. Часто это ошибка конфигурации, которая может быть исправлена при перезагрузке ядра вручную[6].

В Linux возникновению паники ядра зачастую предшествует состояние под названием oops. В ряде случаев oops может приводить к такому же неработоспобному состоянию системы, как и паника ядра[1].

В большинстве остальных случаев причиной Kernel panic является критическая аппаратная ошибка (отказ оперативной памяти, ошибка процессора, материнской платы, графической карты или другого критически важного устройства) или ошибка в самом ядре операционной системы, например, попытка обращения к ошибочному или запрещённому адресу в памяти. Также причиной для Kernel panic могут быть ошибки в драйверах периферийных устройств или ошибки в файловой системе[3][7]. Во время финальной стадии инициализации пространства пользователя, kernel panic обычно возникает тогда, когда не удалось запустить init, так как, несмотря на запущенное и работоспособное ядро, сама система остаётся непригодной к дальнейшей работе[8]. Kernel panic может быть вызван и прикладными программами, если те некорректно работают с ядром. Так, ошибка в Google Chrome вызывала Kernel panic на Mac OS X[9].

Исходный код функции panic()

Исходный код функции panic() в UNIX V6[10]:

 char    *panicstr;
 /*
  * Panic is called on unresolvable
  * fatal errors.
  * It syncs, prints "panic: mesg" and
  * then loops.
 */
 panic(s)
 char *s;
 {
 	panicstr = s;
 	update();
 	printf("panic:%s\n", s);
 	for(;;)
 		idle();
 }

Обработка Kernel panic

В нормальном случае при возникновении Kernel panic происходит остановка работы операционной системы с выдачей сообщений об ошибках на экран, после чего система ожидает выключения компьютера или перезагрузки. Однако, такая обработка этого события неприемлема тогда, когда простой компьютера крайне нежелателен или человека нет рядом (например на удалённых серверах или в нерабочее время)[11].

В современных операционных системах, таких как GNU/Linux, FreeBSD или Solaris, существует возможность изменить стандартное поведение функции panic() и производить перезагрузку компьютера автоматически. В GNU/Linux данная настройка осуществляется при помощи procfs[11]:

echo 5 > /proc/sys/kernel/panic

Чтобы изменения действовали в GNU/Linux и после перезагрузки, необходимо добавить в файл /etc/sysctl.d/99-sysctl.conf строку:

kernel.panic=5

Значение параметра kernel.panic — количество секунд, после которых произойдёт перезагрузка. При установке отрицательного или равного 0 значения этого параметра, автоматической перезагрузки не произойдёт[11].

Также в системах BSD есть специальная опция в ядре. Цитата из файла /usr/src/sys/conf/NOTES[12]:

# Set the amount of time (in seconds) the system will wait before
# rebooting automatically when a kernel panic occurs.  If set to (-1),
# the system will wait indefinitely until a key is pressed on the
# console.
options         PANIC_REBOOT_WAIT_TIME=16

В Solaris автоматическая перезагрузка после Kernel panic является стандартным поведением системы[13].

Перезагрузка после Kernel panic имеет и очень серьёзный недостаток, особенно если это изменение не пропадает после первой перезагрузки. В случае, если перезагрузка не устраняет ту ошибку, которая вызывает Kernel panic, система будет останавливаться и перезапускаться вновь и вновь, что может привести к аппаратным ошибкам или потерям данных[6]. В случае если такая ситуация возникла после сборки нового ядра, решением проблемы может стать загрузка сохранённой копии старого, работающего ядра. Как правило, для этого достаточно вручную указать при загрузке путь к работоспособной копии ядра[14].

Для изучения причины паники ядра Linux может пригодиться файл System.map[15].

Kernel panic в различных операционных системах

Изначально сообщение о Kernel panic ограничивалось коротким текстом о необходимости перезагрузки системы. В современных системах обычно выдается больше дополнительной информации.

  • GNU/Linux и большинство других UNIX-совместимых операционных систем создают лог с описанием ошибки и выводят на экран сообщение об ошибке, содержащее информацию, необходимую для отладки и поиска причин этой ошибки. Этот механизм носит название Linux oops. В современных дистрибутивах Linux используется графический сервер X Window, и Kernel panic не приводит к переключению на физическую консоль, на которую выводятся диагностические сообщения. Распознать Kernel panic можно по мигающим светодиодам Caps Lock и Scroll Lock на клавиатуре[16].
  • В изначальных версиях Mac OS X (от 10.0 до 10.0.1.5) по аналогии с операционными системами, базирующимися на ядре Linux, на экран выводилась информация о произошедшей ошибке, после чего система останавливалась. Начиная с версии Mac OS X 10.2 это сообщение было упрощено и сообщает лишь о необходимости перезапустить компьютер на четырёх языках (английском, немецком, французском и японском) вне зависимости от языковой версии операционной системы[3][17]. Однако, OS X позволяет[17] заменить изображение на любое другое, что дает возможность разработчикам показывать изменённые сообщения об ошибках в различных ситуациях[17]. Благодаря этой возможности на OS X возможно даже симулировать Синий экран смерти операционной системы Windows, заменив стандартное изображение скриншотом соответствующего изображения Windows[17].

В не-UNIX операционных системах

В то время как термин Kernel panic употребляется в основном для UNIX-совместимых операционных систем, в других операционных системах обработка критических ошибок методом остановки системы тоже прижилась и получила следующие названия:

  • В большинстве версий Microsoft Windows система останавливается с выдачей голубого экрана с кратким описанием ошибки[5], который получил название Синий экран смерти. В операционной системе Windows XP при возникновении ошибки компьютер перезагружается автоматически. Это поведение системы управляется через Панель управления Windows. Если ошибка происходит при загрузке ОС, изменить поведение системы можно через меню кнопки F8[5].
  • В старых компьютерах Macintosh: Sad Mac (англ.) (аппаратная ошибка при запуске системы)[18], Bomb (англ.) (для ошибок программ или операционной системы)[19].
  • На компьютерах Amiga в AmigaOS до 2.04 этот механизм назывался Guru Meditation и работал аналогично Kernel panic в Unix[20]. В последующих версиях текст «Guru meditation» был удалён из сообщения об ошибке[20].

См. также

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

Примечания

  1. 1 2 James Kirkland, Christopher L. Tinker, 2002, p. 51.
  2. [www.unix.com/man-page/FreeBSD/9/panic/ Информация о функции panic() на сайте UNIX.com]. BSD manpage on The UNIX and Linux Forums (August 11, 1995). Проверено 20 апреля 2024. [www.webcitation.org/69iMLRD82 Архивировано из первоисточника 6 августа 2012].
  3. 1 2 3 4 [www.macmaps.com/kernelpanic.html Причины Kernel panic в Mac OS X]. macmaps.com. Проверено 20 апреля 2024. [www.webcitation.org/69iMLwZ3U Архивировано из первоисточника 6 августа 2012].
  4. [www.multicians.org/unix.html Unix and Multics]. www.multicians.org (03/21/93). Проверено 20 апреля 2024. [www.webcitation.org/69iMMYfZj Архивировано из первоисточника 6 августа 2012].
  5. 1 2 3 [support.microsoft.com/kb/320299/EN-US Информация о поведении Windows в нештатных ситуациях]. Microsoft Corp.. Проверено 20 апреля 2024. [www.webcitation.org/69iMN0TXu Архивировано из первоисточника 6 августа 2012].
  6. 1 2 Karim Yaghmour, Jon Masters, Gilad Ben-Yossef, Philippe Gerum, 2008, p. 170.
  7. [support.apple.com/kb/TS3742 Информация о причинах Kernel panic на сайте Apple]. Apple Inc.. Проверено 20 апреля 2024. [www.webcitation.org/69iMNwfv1 Архивировано из первоисточника 6 августа 2012].
  8. Wolfgang Mauerer. [books.google.com/books?id=e8BbHxVhzFAC&pg=PA1238 Professional Linux Kernel Architecture]. — John Wiley and Sons. — P. 1238–1239. — ISBN 978-0-470-34343-2.
  9. [betanews.com/2012/06/29/google-comes-clean-yes-your-kernel-panic-is-chromes-fault/ Google comes clean: Yes, your kernel panic is Chrome's fault]. Betanews (07.2012). Проверено 20 апреля 2024. [www.webcitation.org/69iMOc1fB Архивировано из первоисточника 6 августа 2012].
  10. [unix-tree.huihoo.org/V6/usr/sys/ken/prf.c.html Исходный код prf.c UNIX V6]. Unix-tree. Проверено 20 апреля 2024. [www.webcitation.org/69iMPIGG3 Архивировано из первоисточника 6 августа 2012].
  11. 1 2 3 Kropper, 2005, p. 178.
  12. [www.openbsd.org/cgi-bin/man.cgi?query=sysctl.conf&sektion=5&arch=i386&apropos=0&manpath=OpenBSD+Current OpenBSD SYSCTL.CONF man page]. OpenBSD. Проверено 20 апреля 2024. [www.webcitation.org/69iMPnkFW Архивировано из первоисточника 6 августа 2012].
  13. Solaris System Engineers, 2009, p. 9.3.4.2.
  14. Michael Urban, Brian Tiemann, 2002, p. 172.
  15. Michael Schwarz, 2002, p. 21.
  16. James Kirkland, Christopher L. Tinker, 2002, p. 52.
  17. 1 2 3 4 [osxbook.com/book/bonus/chapter5/panic/ A New Screen of Death for Mac OS X]. Amit Singh. Проверено 30 июля 2012. [www.webcitation.org/69iMQItxe Архивировано из первоисточника 6 августа 2012].
  18. Ted Landau, 2000, p. 133.
  19. Ted Landau, 2000, p. 83.
  20. 1 2 Eric S. Raymond, 1996, p. 230.

Литература

  • Karl Kopper. The Linux Enterprise Cluster: Build a Highly Available Cluster. — No Starch Press, 2005. — С. 430. — ISBN 1593270364.
  • Michael Urban, Brian Tiemann. Sams Teach Yourself FreeBSD in 24 Hours. — Sams Publishing, 2002. — С. 456. — ISBN 0672324245.
  • James Kirkland, Christopher L. Tinker. Linux Troubleshooting for System Administrators And Power Users. — Prentice Hall Professional, 2006. — С. 571. — ISBN 0-13-185515-8.
  • Karim Yaghmour, Jon Masters, Gilad Ben-Yossef, Philippe Gerum. Building Embedded Linux Systems. — O'Reilly Media, 2008. — С. 439. — ISBN 0596529686.
  • Solaris System Engineers. Solaris 10 System Administration Essentials. — Pearson Education, 2009. — С. 456. — ISBN 013700009X.
  • Michael Schwarz. Multitool Linux: Practical Uses for Open Source Software. — Addison-Wesley Professional, 2002. — С. 532. — ISBN 0201734206.
  • Ted Landau. Sad Macs, Bombs, and Other Disasters: And What to Do About Them. — Peachpit Press, 2000. — С. 955. — ISBN 020169963X.
  • Eric S. Raymond. The New Hacker's Dictionary. — MIT Press, 1996. — С. 547. — ISBN 0262680920.

Ссылки

  • [developer.apple.com/library/mac/#technotes/tn2063/_index.html Что такое Kernel panic на примере Mac OS X]
  • [www.flickr.com/search/?q=Kernel%20Panic&m=tags Изображения, посвящённые Kernel panic на Flickr]
  • [www.youtube.com/watch?v=fw-yaeQZA8A Kernel panic на Android-смартфоне]



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

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


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


Вечером 1 го сентября, после своего свидания с Кутузовым, граф Растопчин, огорченный и оскорбленный тем, что его не пригласили на военный совет, что Кутузов не обращал никакого внимания на его предложение принять участие в защите столицы, и удивленный новым открывшимся ему в лагере взглядом, при котором вопрос о спокойствии столицы и о патриотическом ее настроении оказывался не только второстепенным, но совершенно ненужным и ничтожным, – огорченный, оскорбленный и удивленный всем этим, граф Растопчин вернулся в Москву. Поужинав, граф, не раздеваясь, прилег на канапе и в первом часу был разбужен курьером, который привез ему письмо от Кутузова. В письме говорилось, что так как войска отступают на Рязанскую дорогу за Москву, то не угодно ли графу выслать полицейских чиновников, для проведения войск через город. Известие это не было новостью для Растопчина. Не только со вчерашнего свиданья с Кутузовым на Поклонной горе, но и с самого Бородинского сражения, когда все приезжавшие в Москву генералы в один голос говорили, что нельзя дать еще сражения, и когда с разрешения графа каждую ночь уже вывозили казенное имущество и жители до половины повыехали, – граф Растопчин знал, что Москва будет оставлена; но тем не менее известие это, сообщенное в форме простой записки с приказанием от Кутузова и полученное ночью, во время первого сна, удивило и раздражило графа.
Впоследствии, объясняя свою деятельность за это время, граф Растопчин в своих записках несколько раз писал, что у него тогда было две важные цели: De maintenir la tranquillite a Moscou et d'en faire partir les habitants. [Сохранить спокойствие в Москве и выпроводить из нее жителей.] Если допустить эту двоякую цель, всякое действие Растопчина оказывается безукоризненным. Для чего не вывезена московская святыня, оружие, патроны, порох, запасы хлеба, для чего тысячи жителей обмануты тем, что Москву не сдадут, и разорены? – Для того, чтобы соблюсти спокойствие в столице, отвечает объяснение графа Растопчина. Для чего вывозились кипы ненужных бумаг из присутственных мест и шар Леппиха и другие предметы? – Для того, чтобы оставить город пустым, отвечает объяснение графа Растопчина. Стоит только допустить, что что нибудь угрожало народному спокойствию, и всякое действие становится оправданным.