Компьютеры предназначены для быстрой работы. Это может включать в себя обман. Например, когда компьютер должен записывать данные, компьютеры могут хранить данные в ОЗУ, а не записывать их на жесткий диск. Это сделано потому, что оперативная память намного быстрее.
Выключение говорит компьютеру очистить буферы, что означает прекращение хранения содержимого в ОЗУ и подготовку системы к потере электроэнергии. Если вы фактически потеряете электроэнергию, прежде чем убедитесь, что все такие данные записаны правильно, вы можете потерять данные.
Часть деталей структуры тома файловой системы обрабатывается кодом обработки операционной системы (иногда называемым драйвером файловой системы). Часто файловые системы используют таблицы. (Визуально вы можете думать об этом как о диаграммах.) Представьте, что вы пишете таблицу умножения, и она говорит:
2 4 6 8 10 12 14 1
Прежде всего, у каждого столбца есть только одна строка. Задачи умножения должны состоять из трех частей (два умноженных числа (умножение и множитель) и ответ (произведение)). Здесь все, что мы видим, это набор отдельных чисел, поэтому у нас нет даже одного полного примера продукта умножения. То, что у нас есть, бесполезно.
Во-вторых, то, что мы имеем, на самом деле хуже, чем бесполезно. Иногда единственной вещью, которая хуже, чем пропущенная информация (которая заставляет вас не прогрессировать, пока вы выясняете, какая информация вам нужна), является недостоверная информация, которой можно доверять, которая заставляет вас тратить ресурсы на бесполезное, плохое направление. В этом случае у вас есть недопустимые данные в конце: один вместо 16. (Идея здесь в том, что диаграмма перестала обновляться внезапно, до того, как все число «16» было отмечено правильно.) Если вы не позволите компьютер правильно заполняет свои графики, тогда это может вызвать путаницу. (Если компьютеру приказано обновить некоторые данные, и он должен записать на позицию номер шестнадцать ... вы не хотите, чтобы он записывал на позицию номер один!) Компьютер опирается на таблицы, весьма схожие с этой.
Другой пример - виртуальная память. Если компьютеру не хватает оперативной памяти, он может использовать место на жестком диске для отслеживания деталей. Например, может быть, у вас есть документ на пятьдесят страниц в текстовом редакторе. Компьютер отслеживает тот факт, что текстовый процессор открыт, и отслеживает первые 12 страниц, но остальные 38 страниц хранятся на жестком диске, в так называемой «виртуальной памяти». Когда вы выключаете компьютер, он проходит весь процесс завершения работы программ, что освобождает часть оперативной памяти и, в конечном итоге, использует «виртуальную память» для правильной обработки текстового процессора. Если вы просто потеряли электроэнергию, текстовый процессор перестает работать (потому что все останавливается). Затем, когда компьютер запускается, он видит, что виртуальная память содержит данные с 38 страниц документа, который был открыт в текстовом процессоре. Компьютер даже не знает, что данные использовались текстовым процессором. Выключение позволяет позаботиться о таких вещах, пока компьютер может отслеживать эти детали.
По сравнению с Windows 95, MS-DOS была более устойчивой (менее подверженной проблемам), когда дело доходило до внезапных отключений питания. (Часть этой повышенной уязвимости была вызвана способностями Windows 95 к многозадачности и обработке виртуальной памяти.) Таким образом, подверженность компьютера недопустимому завершению работы или даже если официальная процедура завершения работы вообще требуется, зависит от того, какая операционная система используется. Большинство современных операционных систем разработаны с учетом необходимости надлежащего выключения, потому что операционные системы легче проектировать с таким требованием. Нет никакой причины, по которой это должно быть, и на самом деле, некоторые операционные системы nanobsd позволяют человеку просто отключить его. Например, на странице nanobsd написано: «Все доступно только для чтения во время выполнения. Можно отключить питание».На главной странице resflash есть пункт с надписью «Власть может быть безопасно потеряна в любое время». Таким образом, нет никаких причин, по которым абсолютное завершение работы должно быть требованием, которое разработчики операционной системы предъявляют при создании дизайна операционной системы. Выключение - это просто обычное требование.