13

В настоящее время общеизвестно, что не следует выключать компьютер с помощью выключателя питания. Но почему это именно так? Это миф, который застрял в прошлых архитектурах?

Только для того, чтобы предотвратить повреждение данных, которые записываются во время выключения (бонус: как это может быть точно повреждено?)? Я почти уверен, что советы по чтению жестких дисков больше не падают на диск при отключении питания (или я бы сейчас не работал с жесткими дисками).

Точнее, заставляет ли компьютер выключаться или выключаться при выключении питания, быстрее изнашиваться или даже повреждаться, и почему (только аппаратное обеспечение)?

7 ответов7

18

Это чисто программная вещь.

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

Одна из последних операций при выключении - сброс кеша на диск.

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

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

5

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

При следующей загрузке флаг проверяется. Когда «чистый», ваша система загружается, когда «грязный», файловая система сканируется на предмет исправности. Сканирование файловой системы может занять много времени, и именно поэтому вам не следует отключать питание. Настоящая проблема возникает, когда сканирование файловой системы выдает неисправимые ошибки, это означает, что вы потеряли / испортили данные. Современные файловые системы используют технику, называемую «журналирование», чтобы минимизировать вероятность неисправимых ошибок.

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

3

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

2

На самом деле это проблема как программного, так и аппаратного обеспечения.

Как указывалось ранее в других ответах, современные архитектуры используют множество механизмов кэширования для ускорения процессов. При отключении питания вы теряете контент, который не был записан в энергонезависимой памяти, даже если вы думали, что записали его в файл. Это потеря данных. Это также может привести к повреждению данных, так как некоторые файловые системы не записывают на диск в том же порядке, что и вышеперечисленные программы, чтобы повысить скорость ввода-вывода. Я слышал о некоторых людях, которые в ext4 отключают записи по порядку, чтобы заставить некоторые механизмы предотвращения повреждения файлов программного обеспечения работать, в то время как разработчики ext4 говорят, что такая программа должна использовать fsync для обеспечения поведения файловой системы.

Есть также проблемы с оборудованием. Снижение мощности может привести к перенапряжению или перегрузке по току, главным образом из-за индуктивного поведения некоторых электрических компонентов, в основном двигателей. Тем не менее, хорошо спроектированные аппаратные средства должны быть в состоянии предотвратить последующие повреждения. Это немного дороже, но, если вы покупаете компьютеры с гарантией на год (даже опционально) или, по крайней мере, обрабатывает возврат клиентов, для производителя дешевле добавить обратный диод, чем для обработки возврата клиентов. Поэтому я не беспокоюсь здесь, за исключением очень дешевых источников питания.

Стоит отметить, что сегодняшние причины избежать грубых отключений отличаются от тех, что были 30 лет назад. 30 лет назад файловые системы были очень чувствительны к сбоям питания, и вы смогли повредить саму файловую систему. Сегодня вы можете повреждать файлы, но не всю файловую систему, в теории. Практически, если вы хотите получить высококлассную современную производительность, вы переключитесь на SSD. Твердотельные накопители используют управляемую вспышку, обычно многоуровневые ячейки, а не ячейки с двумя уровнями, иногда трехуровневые ячейки. С помощью этих технологий при отключении питания во время записи вы можете повредить записываемую страницу, а также одну или две другие страницы в том же блоке. На уровне файловой системы модификация одного файла может повредить другой файл или даже данные файловой системы. Из-за выравнивания износа, сборки мусора и других механизмов исправления и перемещения записи могут происходить, даже когда файловая система не требует каких-либо действий от SSD (это называется фоновой операцией), и поэтому повреждения непредсказуемы с точки зрения файловой системы. зрения. Чтобы избежать таких искажений, некоторые производители твердотельных накопителей добавляют конденсаторы к своим твердотельным накопителям, чтобы можно было завершить любую текущую работу на флэш-памяти при обнаружении потери питания (для этого требуется примерно 10 мс питания). Карты SD и USB-накопители имеют те же ограничения, но не могут иметь такие конденсаторы.

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

2

Электрические выключатели вводят переходные процессы в источник питания. (Переходные процессы имеют чрезвычайно высокое напряжение, чрезвычайно узкую ширину. На самом деле, по моим четырем годам обучения в колледже электроники они определены как бесконечное напряжение бесконечно узкой ширины. Если фильтрации недостаточно, эти пики могут повредить электронику. Механические выключатели также подвержены звонкам. Звон - это колебание на линии электропередачи, которое может вызвать аналогичные проблемы.

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

0

Ответ, который отсутствует, но все еще актуален, таков: компьютер при принудительном отключении (как в «удаленном шнуре питания или тому подобном») может повредить электронику. (это не относится к выключателю питания, так как он выполняет «безопасный» цикл питания, который не причиняет вреда электронике, просто не так хорош для стабильного состояния жесткого диска или может привести к потере данных, как уже было сказано выше).

Внезапный скачок мощности, который может возникнуть при принудительном отключении питания (например, «всплеск»), в редких случаях может превышать пределы фильтра / напряжение пробоя микросхем. Если это происходит внутри CMOS или другой памяти, это может привести к необратимому повреждению «ячейки» или повреждению данных в «ячейке». В наши дни это редкость, и у большинства систем есть меры противодействия (которые могут дать сбой).

Эта ситуация особенно верна, если используются двигатели (например, для дисковода). Поскольку замедление может иногда вызывать всплеск на одной из его линий (+12,+5, -5,0). Это не обязательно должны быть линии электропередач самого двигателя (из-за «ореолов»).

Сигналы ниже 5 вольт редко делают это, так как большинство микросхем рассчитаны на работу с сигналами 5 вольт, хотя есть процессоры, которые используют 3,3 В, так как его максимальное напряжение чаще всего там по-прежнему экранировано так же, как 5 В.

@ Самуэль, Да, я. но рабочее напряжение указывает на то, какого рода индуктивный всплеск вы можете «ожидать» (либо изоляторы / протяженность для него, либо их величина)

0

Это не просто компьютеры! Отключение USB-устройства, например флэш-накопителя, без выполнения последовательности "Безопасное извлечение" может иметь тот же эффект, что и на некоторых ПК, то есть часть записи последовательности может не завершиться, а содержимое флэш-памяти может быть повреждено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .