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