Выключение вычислительной системы

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

Необходимость процедуры

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

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

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

Потребность в особой процедуре выключения может возникать у, например, баз данных (см ACID) для сохранения консистентного состояния.

Типичные операции при шатдауне

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

Типы выключения

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

Выключение может подразумевать:

  1. полную остановку системы (переход в бесконечный цикл),
  2. самовыключение питания (при поддержке подобного со стороны аппаратного обеспечения),
  3. переход в режим обслуживания (англ. maintenance mode).

Выключение может быть:

  • штатным,
  • срочным
  • аварийным.

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

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

Реализация

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

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

В Unix и юникс-подобных системах существовали команды остановки системы (halt) и завершения работы (shutdown), переводящие систему в однопользовательский режим с подмонтированными в read-only дисками (подразумевалось, что в этом режиме осуществляется обслуживание системы). В различных диалектах Unix набор ключей и интерпретация команды shutdown различаются, в частности, некоторые системы (например, Linux) подразумевают, что команда shutdown без параметров должна выключать питание системы (в случае возможности этого).