6

Я установил 64-разрядную версию Windows 7 и 32-разрядную версию Ubuntu 10.10 на свою машину. Размеры разделов составляют 400 ГБ и 100 ГБ соответственно. Мне всегда было интересно, как Ubuntu отключается так быстро? Это займет всего 5 секунд или меньше, тогда как Windows 7 занимает намного больше времени.

Хотя у меня есть больше программ, установленных в Windows 7, но время его закрытия было намного больше, чем в Ubuntu в течение первого месяца установки. Это было 10-15 сек. Я не считаю время, которое иногда используется для установки обновлений, когда в Windows 7 нажимают на выключение.

Что делает Ubuntu выключением и загрузкой (быстрее, чем Windows 7, но не с большим отрывом) так быстро. Это файловая система? будет ли наоборот, если я поменялся местами на разделах (не могу попробовать сейчас)? Извините, у меня нет опыта работы в области компьютерных наук, поэтому я не знаю детальной структуры и архитектуры ОС. Любые указатели на это помогут мне вылечить мое любопытство.

1 ответ1

1
<p rant = "on"> Ну, если честно, я не думаю, что понимаю, почему программирование принесет пользу. Кроме того, я не совсем понимаю, почему это в первую очередь переносится в SU (за исключением того, что SU является мусорным ведром для всех неактуальных вопросов для многих пользователей stackoverflow </p>

Процесс закрытия окон можно рассматривать как двухэтапный процесс:

  • с "Вход в систему" на "Никто не вошел в систему" (далее "Часть 1")
  • с "Никто не вошел в систему" до "Выключение" (далее "Часть 2")

В части 1:

ExitWindowsEx(uFlags,dwReason) вызывается - это фактически обрабатывается winlogon . Он отправляет WM_QUERYENDSESSION всем приложениям - и каждое приложение должно выполнить необходимые процедуры перед завершением работы и вернуть true . Затем он получает WM_ENDSESSION и завершается. Это относится ко всему процессу в сеансе 1 (так называемый "интерактивный сеанс")

Затем:

  • профиль пользователя обновляется и выгружается
  • сетевое соединение (включая VPN-соединения, если оно есть) разорвано
  • COM-процессы прекращаются

В части 2:

Неинтерактивный сеанс (сеанс 0) также будет завершать все свое приложение аналогичным образом (учетная запись пользователя в локальной системе), а службы будут закрыты.

После всего этого система будет отключена.

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