2

Я видел очень старый компьютер под управлением Windows XP. На экране он показывает флаг Windows и следующий текст:

Windows была закрыта. Вы можете безопасно отключить питание.

Что это значит? Почему компьютер требует выключения питания?

5 ответов5

9

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

До NT4 Windows была закрыта. Вы можете безопасно отключить питание ». Экран был стандартным, с NT5 (он же Windows 2000) переход на ACPI poweroff стал широко распространенным, а с NT 5.1 (он же Windows XP) он стал новым нормальным. Было все еще много оборудования, которое не могло быть отключено XP, поэтому текст оставался видимым довольно часто.

2

Взрыв из прошлого. По сути, в "старые добрые времена" нажатие кнопки питания приводило к отключению питания компьютера - не было никакой логики или стремления сказать оператору, что пришло время завершать работу. Аналогично, у ОС не было возможности сказать аппаратному обеспечению: «Хорошо, я корректно отключился, чтобы вы могли отключить питание сейчас». Поэтому для выключения компьютера потребовалось два шага: 1. Завершите работу ОС. 2. Выключите компьютер (часто с помощью тумблера на блоке питания). Теперь я чувствую себя старым.

2

Современные ПК с материнскими платами ATX имеют контрольный контакт в разъеме для блока питания. Это позволяет операционной системе управлять источником питания, что приводит к автоматическому отключению питания при завершении работы операционной системы.

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

2

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

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

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

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

Представление о том, что операционная система способна отключать питание само по себе, получило распространение с введением стандарта ACPI в декабре 1996 года. Это определенные функции BIOS и интерфейсы платформы для операционной системы (даже DOS) для выключения питания. (Его предшественником является стандарт APM, выпущенный в 1992 году и отличающийся.)

Windows 95 предшествует ACPI на год, а DOS и Windows хорошо известны своей обратной совместимостью. Многие версии Windows поддерживают ACPI, но все еще работают, если ACPI отсутствует (Не уверен, что APM когда-либо поддерживался Windows). Если ACPI отсутствует или отключен в системе, операционная система не может самостоятельно отключить питание, поэтому она должна попросить пользователя сделать это.

Windows Vista была первой операционной системой, которая не работала или не позволяла устанавливать, если ваш BIOS и оборудование не поддерживают ACPI. Сегодня нет обычных материнских плат для ПК без ACPI и возможности отключения.

-1

Это была не XP, это была, вероятно, Windows 9x - и мы можем винить в этом ACPI или отсутствие поддержки в Windows 9x.

Существенно старые системы не имели управления питанием, как у современной системы, и имели жесткие кнопки питания.

Более современные системы имеют мягкие переключатели питания, которые сообщают системе о постепенном отключении через ACPI, если вы не удерживаете его, и приказывают отключить его СЕЙЧАС. Все в программном обеспечении. У меня здесь есть ответ , в котором подробно рассказывается о том, как силовой переключатель превратился из правильных мужественных высоковольтных блоков в более мягкие и слабые современные переключатели сегодняшнего дня.

Таким образом, в Windows 9x сообщение "Windows было закрыто", по сути, записало все на диск и приготовилось завершить работу. У ОС не было возможности сообщить системе о выключении питания (без поддержки ACPI), поэтому полагалось на то, что вы отключите питание.

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