Зависание: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
 
(не показана 41 промежуточная версия 37 участников)
Строка 1: Строка 1:
{{значения}}
{{Другие значения}}
'''Зависа́ние''' компьютерное явление, при котором одна или несколько [[Компьютерная программа|программ]] или вся [[операционная система]] перестают реагировать на действия пользователя, или начинают без остановки выполнять одну и ту же (не обязательно полезную или содержательную) операцию, не реагируя на сообщения от других программ. В этот момент изображение, выводимое программой на монитор (если оно есть) застывает, в отличие от ошибки исполнения, при которой на экран выдаётся сообщение.
'''Зависа́ние''' [[компьютер]]ное явление, при котором одна или несколько [[Компьютерная программа|программ]] или вся [[операционная система]] перестают реагировать на действия [[Пользователь (информатика)|пользователя]]<ref name=":0">{{Cite web|url=https://support.microsoft.com/ru-ru/topic/%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%BF%D0%BE%D0%BB%D0%B0%D0%B4%D0%BE%D0%BA-%D0%BF%D1%80%D0%B8-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D1%85-windows-8-1-windows-8-%D0%B8%D0%BB%D0%B8-windows-7-%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B0%D1%8E%D1%82-%D0%B8%D0%BB%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D1%8E%D1%82-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-752adf9f-d1c4-e766-a9d5-6081b88de359|title=Устранение неполадок, при которых Windows 8.1, Windows 8 или Windows 7 зависают или перестают работать|website=support.microsoft.com|access-date=2022-08-24|archive-date=2022-08-24|archive-url=https://web.archive.org/web/20220824063201/https://support.microsoft.com/ru-ru/topic/%D1%83%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B5%D0%BF%D0%BE%D0%BB%D0%B0%D0%B4%D0%BE%D0%BA-%D0%BF%D1%80%D0%B8-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D1%85-windows-8-1-windows-8-%D0%B8%D0%BB%D0%B8-windows-7-%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B0%D1%8E%D1%82-%D0%B8%D0%BB%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D1%81%D1%82%D0%B0%D1%8E%D1%82-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C-752adf9f-d1c4-e766-a9d5-6081b88de359|deadlink=no}}</ref>, или начинают без остановки [[Зацикливание|выполнять одну и ту же]] (не обязательно полезную или содержательную) операцию, не реагируя на сообщения от других программ<ref name=":1">{{Cite web|lang=en|url=https://www.scientificamerican.com/article/why-do-computers-crash/|title=Why do computers crash?|author=Clay Shields|website=Scientific American|date=2004-05-31|access-date=2022-08-24|archive-date=2018-05-01|archive-url=https://web.archive.org/web/20180501093613/https://www.scientificamerican.com/article/why-do-computers-crash/|deadlink=no}}</ref><ref name=":2">{{Cite news|accessdate=2022-08-24|last=bobology.com|date=2015-03-10|title=What is a Computer Crash?|url=https://www.bobology.com/public/What-is-a-Computer-Crash.cfm|archivedate=2017-04-28|archiveurl=https://web.archive.org/web/20170428115702/http://www.bobology.com/public/What-is-a-Computer-Crash.cfm}}</ref>. В этот момент изображение, выводимое программой на монитор (если оно есть) может застыть, в отличие от ошибки исполнения, при которой на экран выдаётся сообщение.


Зависание стоит отличать от подвисания, когда компьютер перестаёт отвечать на запросы в течение определённого времени, а затем возобновляет работу без каких-либо действий со стороны пользователя; [[Перезагрузка|перезагружать]] компьютер при этом не требуется<ref name=":0" />.
Продолжить работу программы можно только выгрузив её из памяти и запустив на исполнение снова. В большинстве современных операционных систем предусмотрена возможность прерывания исполнения программ, например — команда [[kill]] и различные интерфейсы к ней в системах [[GNU/Linux]], или диспетчер задач в [[Microsoft Windows]], а также команда taskkill в [[Windows XP]]. В случае полного зависания ОС, когда она не реагирует на ввод клавиатуры или мыши, работу можно продолжить только после полной [[Перезагрузка|перезагрузки]] операционной системы.


== Многозадачность ==
В некоторых случаях зависание системы можно обнаружить, используя [[Сторожевой таймер|сторожевой таймер]].
В [[Многозадачность|многозадачной]] операционной системе возможно зависание отдельного [[Процесс (информатика)|процесса]] или [[Поток выполнения|потока]], например, блокировка ресурса или попадание в бесконечный цикл. В кооперативной многозадачной системе любой поток, который зависает, но не отдаёт управление, приведёт к зависанию системы, поскольку он не позволит другим потокам работать.


Напротив, современные операционные системы в основном используют [[Вытесняющая многозадачность|упреждающую многозадачность]], такие как [[Windows 2000]] и её преемники, а также [[Linux]] и [[macOS]] от Apple Inc. В этих случаях зависание одного потока не обязательно приведет к зависанию системы, поскольку операционная система вытеснит его, когда истечёт его временной интервал, позволяя запустить другой поток. Если поток действительно зависает, планировщик может переключиться на другую группу взаимозависимых задач, чтобы все процессы не зависали<ref>{{Статья|ссылка=https://worldwide.espacenet.com/patent/search/family/022422115/publication/US6052707A?q=pn%3DUS6052707|автор=D'Souza David|заглавие=US6052707A Preemptive multi-tasking with cooperative groups of tasks|год=1996|язык=en|издание=|месяц=06|число=21|archivedate=2022-08-24|archiveurl=https://web.archive.org/web/20220824063202/https://worldwide.espacenet.com/patent/search/family/022422115/publication/US6052707A?q=pn%3DUS6052707}}</ref>. Однако застрявший поток всё равно будет потреблять ресурсы: по крайней мере, запись в расписании, и если он запущен (например, застрял в бесконечном цикле), он будет потреблять процессорные циклы и мощность, когда он запланирован, замедляя работу системы, хотя и не приводя к зависанию системы в целом. Перемещение по окну поверх зависшей программы во время зависания может привести к перерисовке следа окна<ref>{{Cite web|url=http://old.marcofolio.net/webdesign/nostalgia_dragging_the_windows_xp_error_dialog.html|title=Nostalgia: Dragging the Windows XP error dialog|website=old.marcofolio.net|access-date=2022-08-24|archive-date=2022-01-19|archive-url=https://web.archive.org/web/20220119021034/http://old.marcofolio.net/webdesign/nostalgia_dragging_the_windows_xp_error_dialog.html|deadlink=no}}</ref>.
'''Типичные причины зависания:'''


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

== Классификация и виды зависаний ==
программные
По масштабности:
* неверное завершение [[Бесконечный цикл|цикл]]ов

* [[взаимная блокировка]] процессов в многозадачных ОС
* Зависания компьютера/операционной системы в целом<ref name=":0" />
* неправильное использование памяти программами
* Зависания отдельного приложения<ref name=":0" />
* ошибки в драйверах

аппаратные
По повторяемости:
* нарушение температурного режима

* механические повреждения (разрывы проводов, трещины, вздутые конденсаторы и пр. )
* Стабильные — можно выявить и повторить условия, при которых происходит зависание
* Произвольные<ref name=":0" /> — неоднократные зависания, для которых выявить зависимость от внешних факторов или действия пользователей не удаётся
* Разовые — случайное зависание, которое больше не повторяется

== Причины зависания ==

=== Программные ===
* неверное завершение [[Бесконечный цикл|циклов]]<ref>{{Cite web|lang=en|url=https://blogs.msdn.microsoft.com/calvin_hsia/2006/11/15/heres-an-infinite-loop-that-will-hang-your-machine/|title=Here’s an infinite loop that will hang your machine|author=Calvin Hsia|website=|date=2006-11-15|archive-url=https://web.archive.org/web/20180414233820/https://blogs.msdn.microsoft.com/calvin_hsia/2006/11/15/heres-an-infinite-loop-that-will-hang-your-machine/|archive-date=2018-04-14|access-date=2022-08-24}}</ref>
* [[взаимная блокировка]] процессов в многозадачных ОС<ref>{{Книга|автор={{nobr|Квиттнер П.}}|заглавие=Задачи, программы, вычисления, результаты.|год=1980|место=М.|издательство=Мир|страницы=334—337|страниц=422}}</ref><ref name=":1" />
* неправильное использование памяти программами ([[Пробуксовка (информатика)|пробуксовка]])
* чрезмерное использование ресурсов компьютера (например нехватка свободного места на накопителях или недостаток оперативной памяти)<ref>{{Книга|ссылка=https://books.google.pl/books?id=8lhjAgAAQBAJ&pg=PA952|автор=Michael R. Groh|заглавие=Access 2010 PL. Biblia|год=2013-11-14|издательство=Helion|страниц=1306|isbn=978-83-246-7104-5|archivedate=2016-04-25|archiveurl=https://web.archive.org/web/20160425022052/https://books.google.pl/books?id=8lhjAgAAQBAJ&pg=PA952}}</ref>

=== Аппаратные ===
* ошибки в драйверах<ref name=":1" />
* нарушение температурного режима<ref name=":1" />
* механические повреждения (разрывы проводов, трещины, вздутые конденсаторы и пр.)
* химические повреждения
* химические повреждения
* некорректное напряжение, подаваемое на компьютер или его элементы
* некорректное напряжение, подаваемое на компьютер или его элементы<ref name=":1" /><ref>{{Cite web|lang=pl|url=https://pcworld.pl/news/System-w-zawieszeniu,315142.html|title=System w zawieszeniu|author=Krzysztof Daszkiewicz, Michael Schmelzle, Thomas Rau|website=pcworld.pl|date=2005-10-01|access-date=2022-08-24|archive-date=2022-08-24|archive-url=https://web.archive.org/web/20220824063209/https://www.pcworld.pl/news/System-w-zawieszeniu,315142.html|deadlink=no}}</ref>
* дефекты поверхности в жёстких дисках<ref name=":1" />
* ошибки при передачи данных по кабелям (в частности от накопителей) из-за электрических помех или плохих контактов
Иногда может показаться, что компьютер зависает, хотя на самом деле он просто работает очень медленно или выполняет очень длительную операцию. Это может быть вызвано слишком большим количеством программ, запущенных одновременно, недостатком памяти (ОЗУ) или фрагментацией памяти, медленным доступом к оборудованию (особенно к удаленным устройствам), медленными системными API и т. д. Это также может быть вызвано скрытыми программами, которые были установлены тайно, такими как [[Шпионские программные продукты|шпионские программы]].

== Решения ==
Во многих случаях может показаться, что программы зависли, но в действительности они просто медленно выполняются, и ожидание в течение нескольких минут позволит завершить задачу.

Современные операционные системы предоставляют механизм для завершения зависших процессов, например, с помощью команды [[kill]] в Unix, ''taskkill'' в Windows или с помощью графических средств, таких как кнопка «Завершить задачу» [[Диспетчер задач Windows|диспетчера задач]] в Windows (выберите конкретный процесс в списке и нажмите «Завершить задачу»). Windows добавляет текст «(Не отвечает)» к заголовку окна. Начиная с [[Windows Vista]], прозрачный белый слой будет покрывать содержимое окна при попытке взаимодействия с пользователем, чтобы было ясно, что программа не реагирует (при этом программа не обязательно зависла, возможно идут длительные вычисления или ожидается ответ от баз данных/сетевых ресурсов и прочее)<ref>{{Cite web|url=https://support.microsoft.com/en-gb/topic/troubleshoot-windows-8-1-windows-8-or-windows-7-hangs-or-freezes-752adf9f-d1c4-e766-a9d5-6081b88de359|title=Troubleshoot Windows 8.1, Windows 8 or Windows 7 hangs or freezes|website=support.microsoft.com|access-date=2022-08-24|archive-date=2022-08-24|archive-url=https://web.archive.org/web/20220824063307/https://support.microsoft.com/en-gb/topic/troubleshoot-windows-8-1-windows-8-or-windows-7-hangs-or-freezes-752adf9f-d1c4-e766-a9d5-6081b88de359|deadlink=no}}</ref>.

В старых системах, таких как те, которые работают под управлением MS-DOS, ранних версий Windows или классической Mac OS, часто требовалась полная [[перезагрузка]] в случае зависания.

Во многих случаях зависание программы приводит к потере всех несохранённых данных в программе<ref name=":2" />, хотя некоторые программы пытаются предотвратить это путём механизма автосохранения документов<ref>{{Cite web|url=https://support.microsoft.com/ru-ru/office/%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-6d6bd723-ebfd-4e40-b5f6-ae6e8088f7a5|title=Что такое автосохранение?|website=support.microsoft.com|access-date=2022-08-24|archive-date=2022-08-24|archive-url=https://web.archive.org/web/20220824063307/https://support.microsoft.com/ru-ru/office/%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D0%B0%D0%B2%D1%82%D0%BE%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-6d6bd723-ebfd-4e40-b5f6-ae6e8088f7a5|deadlink=no}}</ref>.

На [[Встраиваемая система|встраиваемых устройствах]], где взаимодействие с человеком ограничено, [[сторожевой таймер]] может перезагрузить компьютер в случае зависания.

Продолжить работу программы можно только выгрузив её из памяти и запустив на исполнение снова. В большинстве современных операционных систем предусмотрена возможность прерывания исполнения программ, например — команда [[kill]] и различные интерфейсы к ней в системах [[GNU/Linux]], или [[Диспетчер задач Windows|диспетчер задач]], либо [[Интерфейс командной строки|консольная]] команда taskkill в [[Microsoft Windows]]. В случае полного зависания ОС, когда она не реагирует на ввод клавиатуры или мыши, работу можно продолжить только после полной [[Перезагрузка|перезагрузки]] операционной системы, либо использования Magic [[SysRq]] в Linux ([[REISUB]]).

Устранение стабильных зависаний связано с выявлением их причин — обновление драйверов и зависающей программы, чистка компьютера от пыли, замена термопасты, блока питания, удаление вирусов и так далее<ref name=":0" /><ref name=":1" />.


== См. также ==
== См. также ==
* [[Синий экран смерти|Экран смерти]]
* [[Fork бомба]]
* [[Проблема остановки]]
* [[Kernel panic]]
* [[Linux oops]]
* [[Linux oops]]


== Примечания ==
{{примечания}}

== Литература ==
* {{книга
|автор = [[Таненбаум, Эндрю|Таненбаум Э.]], Бос Х.
|часть = 6.7.4. Зависание
|заглавие = Современные операционные системы
|издание = 4-е изд
|ссылка =
|место = СПб
|издательство = [[Питер (издательство)|Питер]]
|год = 2015
|страницы = 518
|страниц = 1120
|isbn = 978-5-496-01395-6
}}
[[Категория:Программистский сленг]]
[[Категория:Программистский сленг]]
[[Категория:Ошибки программирования]]
[[Категория:Ошибки программирования]]
[[Категория:Компьютерная терминология]]

[[Категория:Технические сбои]]
[[en:Hang (computing)]]
[[ja:フリーズ]]
[[ko:프리징 (컴퓨팅)]]
[[pl:Zawieszenie komputera]]
[[uk:Зависання]]
[[zh:假死机]]

Текущая версия от 16:15, 19 июля 2024

Зависа́ние — компьютерное явление, при котором одна или несколько программ или вся операционная система перестают реагировать на действия пользователя[1], или начинают без остановки выполнять одну и ту же (не обязательно полезную или содержательную) операцию, не реагируя на сообщения от других программ[2][3]. В этот момент изображение, выводимое программой на монитор (если оно есть) может застыть, в отличие от ошибки исполнения, при которой на экран выдаётся сообщение.

Зависание стоит отличать от подвисания, когда компьютер перестаёт отвечать на запросы в течение определённого времени, а затем возобновляет работу без каких-либо действий со стороны пользователя; перезагружать компьютер при этом не требуется[1].

Многозадачность

[править | править код]

В многозадачной операционной системе возможно зависание отдельного процесса или потока, например, блокировка ресурса или попадание в бесконечный цикл. В кооперативной многозадачной системе любой поток, который зависает, но не отдаёт управление, приведёт к зависанию системы, поскольку он не позволит другим потокам работать.

Напротив, современные операционные системы в основном используют упреждающую многозадачность, такие как Windows 2000 и её преемники, а также Linux и macOS от Apple Inc. В этих случаях зависание одного потока не обязательно приведет к зависанию системы, поскольку операционная система вытеснит его, когда истечёт его временной интервал, позволяя запустить другой поток. Если поток действительно зависает, планировщик может переключиться на другую группу взаимозависимых задач, чтобы все процессы не зависали[4]. Однако застрявший поток всё равно будет потреблять ресурсы: по крайней мере, запись в расписании, и если он запущен (например, застрял в бесконечном цикле), он будет потреблять процессорные циклы и мощность, когда он запланирован, замедляя работу системы, хотя и не приводя к зависанию системы в целом. Перемещение по окну поверх зависшей программы во время зависания может привести к перерисовке следа окна[5].

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

Классификация и виды зависаний

[править | править код]

По масштабности:

  • Зависания компьютера/операционной системы в целом[1]
  • Зависания отдельного приложения[1]

По повторяемости:

  • Стабильные — можно выявить и повторить условия, при которых происходит зависание
  • Произвольные[1] — неоднократные зависания, для которых выявить зависимость от внешних факторов или действия пользователей не удаётся
  • Разовые — случайное зависание, которое больше не повторяется

Причины зависания

[править | править код]

Программные

[править | править код]
  • неверное завершение циклов[6]
  • взаимная блокировка процессов в многозадачных ОС[7][2]
  • неправильное использование памяти программами (пробуксовка)
  • чрезмерное использование ресурсов компьютера (например нехватка свободного места на накопителях или недостаток оперативной памяти)[8]

Аппаратные

[править | править код]
  • ошибки в драйверах[2]
  • нарушение температурного режима[2]
  • механические повреждения (разрывы проводов, трещины, вздутые конденсаторы и пр.)
  • химические повреждения
  • некорректное напряжение, подаваемое на компьютер или его элементы[2][9]
  • дефекты поверхности в жёстких дисках[2]
  • ошибки при передачи данных по кабелям (в частности от накопителей) из-за электрических помех или плохих контактов

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

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

Современные операционные системы предоставляют механизм для завершения зависших процессов, например, с помощью команды kill в Unix, taskkill в Windows или с помощью графических средств, таких как кнопка «Завершить задачу» диспетчера задач в Windows (выберите конкретный процесс в списке и нажмите «Завершить задачу»). Windows добавляет текст «(Не отвечает)» к заголовку окна. Начиная с Windows Vista, прозрачный белый слой будет покрывать содержимое окна при попытке взаимодействия с пользователем, чтобы было ясно, что программа не реагирует (при этом программа не обязательно зависла, возможно идут длительные вычисления или ожидается ответ от баз данных/сетевых ресурсов и прочее)[10].

В старых системах, таких как те, которые работают под управлением MS-DOS, ранних версий Windows или классической Mac OS, часто требовалась полная перезагрузка в случае зависания.

Во многих случаях зависание программы приводит к потере всех несохранённых данных в программе[3], хотя некоторые программы пытаются предотвратить это путём механизма автосохранения документов[11].

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

Продолжить работу программы можно только выгрузив её из памяти и запустив на исполнение снова. В большинстве современных операционных систем предусмотрена возможность прерывания исполнения программ, например — команда kill и различные интерфейсы к ней в системах GNU/Linux, или диспетчер задач, либо консольная команда taskkill в Microsoft Windows. В случае полного зависания ОС, когда она не реагирует на ввод клавиатуры или мыши, работу можно продолжить только после полной перезагрузки операционной системы, либо использования Magic SysRq в Linux (REISUB).

Устранение стабильных зависаний связано с выявлением их причин — обновление драйверов и зависающей программы, чистка компьютера от пыли, замена термопасты, блока питания, удаление вирусов и так далее[1][2].

Примечания

[править | править код]
  1. 1 2 3 4 5 6 Устранение неполадок, при которых Windows 8.1, Windows 8 или Windows 7 зависают или перестают работать. support.microsoft.com. Дата обращения: 24 августа 2022. Архивировано 24 августа 2022 года.
  2. 1 2 3 4 5 6 7 Clay Shields. Why do computers crash? (англ.). Scientific American (31 мая 2004). Дата обращения: 24 августа 2022. Архивировано 1 мая 2018 года.
  3. 1 2 bobology.com (2015-03-10). "What is a Computer Crash?". Архивировано 28 апреля 2017. Дата обращения: 24 августа 2022.
  4. D'Souza David. US6052707A Preemptive multi-tasking with cooperative groups of tasks (англ.). — 1996. — 21 June. Архивировано 24 августа 2022 года.
  5. Nostalgia: Dragging the Windows XP error dialog. old.marcofolio.net. Дата обращения: 24 августа 2022. Архивировано 19 января 2022 года.
  6. Calvin Hsia. Here’s an infinite loop that will hang your machine (англ.) (15 ноября 2006). Дата обращения: 24 августа 2022. Архивировано 14 апреля 2018 года.
  7. Квиттнер П. Задачи, программы, вычисления, результаты.. — М.: Мир, 1980. — С. 334—337. — 422 с.
  8. Michael R. Groh. Access 2010 PL. Biblia. — Helion, 2013-11-14. — 1306 с. — ISBN 978-83-246-7104-5. Архивировано 25 апреля 2016 года.
  9. Krzysztof Daszkiewicz, Michael Schmelzle, Thomas Rau. System w zawieszeniu (пол.). pcworld.pl (1 октября 2005). Дата обращения: 24 августа 2022. Архивировано 24 августа 2022 года.
  10. Troubleshoot Windows 8.1, Windows 8 or Windows 7 hangs or freezes. support.microsoft.com. Дата обращения: 24 августа 2022. Архивировано 24 августа 2022 года.
  11. Что такое автосохранение? support.microsoft.com. Дата обращения: 24 августа 2022. Архивировано 24 августа 2022 года.

Литература

[править | править код]