Статья Ускорение загрузки Windows Vista с помощью планировщика заданий

akok

Команда форума
Администратор
Ассоциация VN
Сообщения
24,550
Реакции
13,569
В статье рассказывается, как с помощью планировщика заданий Windows Vista организовать отложенный запуск программ, которые находятся в автозагрузке операционной системы. Откладывая запуск приложений, в которых нет необходимости с первых минут работы ОС, можно добиться ускорения ее загрузки, сохраняя при этом удобство автоматического запуска.

Одним из важных критериев работы операционной системы является скорость ее загрузки. Однако далеко не всегда длительная загрузка свидетельствует о неполадках или недостаточной оптимизации ОС. Работая в Windows Vista, вы, возможно, наблюдали такую картину - система загрузилась, видны рабочий стол с ярлыками и панель задач, но если навести курсор мыши на ярлык или кнопку Пуск, он превращается в "бублик" , и приходится ждать еще какое-то время, пока он не превратится в стрелку, позволяя выполнить желаемое действие. Что же происходит в это время? Ответ вас, видимо, не удивит - скорее всего, происходит запуск приложений, находящихся в автозагрузке. И чем больше приложений запускается одновременно с системой, тем дольше она загружается с точки зрения конечного пользователя.

Программы в автозагрузке
Стандартный совет в таких случаях - "почистить автозагрузку", т. е. отключить запуск ненужных приложений, например, с помощью утилиты msconfig, запускаемой из меню Пуск - Поиск. Совет хороший, но что делать в том случае, если автоматический запуск все-таки имеет смысл? Рассмотрим, например, Adobe Reader Speed Launcher (reader_sl.exe) - утилита прописывается в автозагрузку при установке Adobe Acrobat Reader. Запуск утилиты значительно ускоряет открытие Adobe Reader, в том числе и при просмотре в PDF-файлов в браузере (обсуждение альтернативных программ для просмотра PDF-файлов выходит за рамки этой статьи). Или возьмем jusched.exe - утилиту, следящую за обновлениями виртуальной машины Sun Java, которую нужно поддерживать в актуальном состоянии хотя бы из соображений безопасности. Утилита также прописывается в автозагрузку, поскольку вручную выполнять обновление никто не будет. Даже если вы считаете, что автоматический запуск этих утилит можно смело отключать, у вас в арсенале, скорее всего, найдутся программы, которые вы вполне осознанно запускаете автоматически. Но все ли они нужны вам с первой минуты работы в системе?

Вряд ли вы первым делом начинаете читать документы в формате PDF или беспокоиться об обновлении виртуальной машины. Возможно, вам сразу не требуется боковая панель Windows или клиент обмена сообщениями. Список можно продолжать, но главный недостаток автозагрузки уже очевиден - все приложения запускаются одновременно с загрузкой системы или при входе в нее пользователя. Было бы здорово, если бы существовала возможность немного распределить загрузку программ по времени. И такая возможность есть! Планировщик заданий Windows Vista позволяет откладывать выполнение задач, привязанных к запуску системы или входе пользователя. Дальше я продемонстрирую, как это можно сделать на реальном примере.

Чтобы было интереснее, я предлагаю вам заглянуть в мою автозагрузку. Автоматический запуск приложений может выполняться как из папки Автозагрузка, так и из различных разделов реестра. Для просмотра автозагрузки можно воспользоваться упомянутой выше утилитой msconfig, но мне больше нравится AutoRuns от Sysinternals - ее окно можно развернуть во весь экран, не говоря уже о более широком функционале. В AutoRuns вкладка Logon практически эквивалентна вкладке Автозагрузка утилиты msconfig.
Изображение удалено

Как видите, у меня загружается полтора десятка различных приложений, начиная от вышеупомянутого Adobe Reader Speed Launcher и заканчивая почтовым клиентом Thunderbird. Прежде чем приступать к распределению загрузки программ по времени, нужно определиться, какие из них вам не нужны сразу же после запуска системы и в каком порядке вы бы хотели их запускать - отложенный запуск этих приложений будет реализован с помощью планировщика задач.

Если вы не уверены, для чего предназначена та или иная программа, поищите название исполняемого файла в сети - ответ будет в первой пятерке ссылок. Могу дать только общую рекомендацию - не откладывайте запуск системных приложений и программ, обеспечивающих безопасность компьютера. Например, userinit.exe и explorer.exe - важнейшие системные приложения, их запуск необходим. ccapp.exe от Symantec обеспечивает автоматическую защиту - ее лучше иметь сразу, а вот vptray.exe нужен для доступа к панели управления антивирусом из области уведомлений (трея) - явно не первоочередная задача. Почтовый клиент мне нужен сразу, поскольку я начинаю день с чтения почты. Специализированные драйверы мыши и клавиатуры тоже нужны. А вот автоматическая загрузка практически всех остальных приложений и утилит хотя и нужна, но явно не с первых секунд работы системы. Вот их загрузку я и буду распределять по времени. Автозапуск этих приложений я отключаю, поскольку его будет выполнять планировщик.
Примечание. Если приложение имеет настройки автоматической загрузки в своем графическом интерфейсе, надежнее использовать их, чем msconfig или Autoruns. Некоторые приложения после запуска могут восстанавливать параметры автозагрузки, отключенные сторонними средствами.

Чтобы проверить, действительно ли распределение автозапуска приложений ускоряет загрузку вашей ОС, имеет смысл замерить время загрузки Vista до и после распределения. В качестве критерия полной загрузки пользовательской среды можно выбрать открытие меню Пуск при нажатии на его кнопку.

Создание простой задачи в планировщике Windows Vista
Для примера я возьму все тот же Adobe Reader Speed Launcher - процедура будет фактически одинаковой для всех приложений. Откройте планировщик заданий (Пуск - Поиск - taskschd.msc).

Я рекомендую разместить все задачи, связанные с автозагрузкой, в одной папке. Щелкните правой кнопкой мыши на узле Библиотека планировщика заданий, выберите из контекстного меню пункт Создать папку и укажите имя для нее - я назвал свою Start Up. В этой папке будут размещаться задачи автозагрузки приложений. Затем щелкните правой кнопкой мыши по созданной папке и выберите из контекстного меню пункт Создать простую задачу. Вы увидите первое окно мастера.
Изображение удалено

Укажите имя для задачи и нажмите кнопку Далее.
Изображение удалено

В качестве триггера задачи укажите При входе в Windows и нажмите кнопку Далее.
Изображение удалено

В качестве действия укажите Запустить программу и нажмите кнопку Далее.
Изображение удалено

В окне Запуск программы вам нужно указать путь к исполняемому файлу программы. Используйте кнопку Обзор или введите путь вручную, не забывая заключать его в кавычки при наличии пробелов. Если вы используете AutoRuns, можно скопировать путь к программе из информационной панели, расположенной внизу окна. Если программа использует аргументы командной строки, введите их в соответствующее поле. Например, у боковой панели Windows таким аргументом является /autorun. Нажмите кнопку Далее, чтобы перейти к сводке задачи.
Изображение удалено

Убедитесь, что параметры задачи указаны правильно. Установите флажок, отвечающий за открытие свойств задачи, и нажмите кнопку Готово. Задача будет создана, и сразу же откроется окно ее свойств.

Теперь нужно настроить отложенный запуск задачи. Перейдите на вкладку Триггеры
Изображение удалено

и дважды щелкните по триггеру При входе в систему (либо выделите его и нажмите кнопку Изменить).
Изображение удалено

В окне Изменение триггера следует обратить внимание на два параметра, выделенные на рисунке. Во-первых, вы должны указать, будет задача запускаться только для конкретной учетной записи (по умолчанию - для вашей) или для всех пользователей, входящих в систему. Если с приложением работаете только вы, запускать его для всех пользователей, скорее всего, не имеет смысла. Во-вторых, вы должны указать, на какой временной интервал будет отложен запуск программы после входа пользователя в систему. Здесь однозначных рекомендаций быть не может - все зависит от ваших предпочтений. Меня, например, вполне устраивает запуск менеджера буфера обмена через две минуты, а браузера - через 5 минут. Что же касается утилиты jusched.exe, то ее запуск я откладываю на 30 минут. Если вам понадобится открыть программу, прежде чем сработает ее отложенный запуск, вы всегда можете это сделать - по умолчанию планировщик не запускает программу, если ее экземпляр уже запущен (это можно настроить в свойствах задачи на вкладке Общие). После того, как вы сконфигурируете параметры запуска, нажмите кнопку ОК - задача готова.

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

Проверка работоспособности заданий планировщика
После перезагрузки компьютера вы сможете опытным путем убедиться, что созданные вами задания отрабатывают - если приложение запустилось в указанное время, значит все нормально. Такие утилиты, как reader_sl.exe и jusched.exe, не имеют графического интерфейса - используйте диспетчер задач (CTRL+SHIFT+ESC) для просмотра запущенных процессов. Вы также можете использовать вкладку Журнал в свойствах задачи. Наличие ошибок свидетельствует о неправильной работе задания.

Если вы замерили длительность запуска системы до распределения автозагрузки по времени, вы можете повторить замер и определить, насколько быстрее стала загружаться система. В моем случае отложенный запуск девяти приложений позволил сократить время загрузки примерно на одну минуту.

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

Заключение
В этой статье рассматривается ускорение загрузки ОС Windows Vista путем распределения по времени автоматического запуска приложений с помощью планировщика заданий. Отложенный запуск программ позволяет сохранить их автоматическую загрузку, при этом давая возможность быстрее приступить к работе.

Автор: Вадим Стеркин
Иcточник: www.oszone.net
 
Функция отложенного запуска: новые возможности для служб Windows

Автор: Rick Vanover
Перевод: SVET

Любому администратору хоть раз приходилось добавлять в автозагрузку сервера задачи, требующие выполнения в строго определенной последовательности. У меня чаще всего возникают проблемы со службами, для нормальной работы которых необходимо подключение к базе данных на этом же сервере. Раньше это решалось с помощью изощренных сценариев или путем запуска приложений вне служебной среды Windows (страшно вспомнить), но в новых продуктах Windows предусмотрена специальная опция, позволяющая управлять автоматической загрузкой.

В Windows Server 2008, Windows Vista и Windows 7 появилась новая опция запуска служб: «Автоматически (отложенный запуск)» (Automatic (Delayed Start)). Она позволяет решить описанную выше проблему с запуском приложения, которое требует подключения к базе данных на этом же сервере для корректного функционирования. Для сервера базы данных в таком случае следует выбрать традиционный режим автоматического запуска, а для приложения — режим отложенного запуска.

Опция отложенного запуска позволяет оптимизировать процесс загрузки системы и облегчает настройку приложений для последовательной автозагрузки. Процесс настройки отложенного запуска для служб ничем не отличается от традиционного:
Delayed_Start.png


Настроить отложенный запуск можно не только посредством графического интерфейса, но и в реестре, изменив значение параметра Dword в разделе «DelayedAutoStart». При этом все стандартные службы, работающие в автоматическом режиме, запущены не будут: службам, для которых выбран отложенный запуск, просто будет присвоен пониженный приоритет.

Процесс настройки отложенного запуска для служб Windows описывается в блоге TechNet.

В предыдущих версиях Windows при загрузке системы процесс диспетчера сеансов (Session Manager, SMSS.EXE) запускал клиент-серверную подсистему (Client-Server Runtime Subsystem, CSRSS.EXE) и процесс входа в систему (WINLOGON.EXE). Последний запускал процесс сервера проверки подлинности локальной системы безопасности (Local Security Authority Subsystem Service, LSASS.EXE) и диспетчер управления службами (Service Control Manager, SERVICES.EXE). При консольном входе пользователь подключался к сеансу 0 (Session 0), который использовался и системными процессами. Недостаток такого подхода заключался в том, что при наличии у некорректно составленной службы Windows, запущенной в сеансе 0, пользовательского интерфейса в интерактивной консоли, вредоносное программное обеспечение могло атаковать данное окно с использованием сообщений и получить административные права.

Чтобы решить эту проблему, некоторые системные процессы в Windows Vista и Windows Server 2008 были усовершенствованы. SMSS.EXE, как и в предыдущих версиях, по-прежнему является первым пользовательским процессом, запускаемым при загрузке системы. Однако теперь он запускается в двух экземплярах, один из которых отвечает за настройку сеанса 0 для системных процессов. Экземпляр SMSS.EXE, отвечающий за сеанс 0, запускает приложение инициализации Windows (Windows Startup Application, WININIT.EXE) и экземпляр CSRSS.EXE для сеанса 0, а затем завершается. WININIT.EXE продолжает загрузку, запуская SERVICES.EXE и LSASS.EXE, а также новый процесс — диспетчер локальных сеансов (Local Session Manager, LSM.EXE), управляющий подключениями терминального сервера на данном компьютере.

Одновременно с сеансом 0 инициализируется сеанс консоли (Console session). Первый экземпляр SMSS.EXE создает новую копию самого себя для настройки сеанса консоли, как и в случае с сеансом 0. Новый экземпляр SMSS.EXE запускает CSRSS.EXE и WINLOGON.EXE для сеанса консоли, готовя систему к входу пользователя. После этого WINLOGON.EXE запускает хост-интерфейс входа пользователя (Logon User Interface Host, LOGONUI.EXE), который, в свою очередь, выводит окно «Параметры безопасности» (Windows Security) с предложением нажать [Ctrl]+[Alt]+[Delete] для входа.

Здесь стоит сказать несколько слов о процессе Winlogon. В прошлых версиях Windows процесс WINLOGON.EXE запускал библиотеку DLL графической идентификации и проверки подлинности (Graphical Identification and Authentication, GINA), указанную в реестре, для вывода интерфейса входа в систему с предложением ввести данные учетной записи пользователя. В Windows Vista и Windows Server 2008 библиотека GINA не используется — вместо нее реализована новая архитектура поставщиков учетных данных (Credential Provider). WINLOGON.EXE запускает LOGONUI.EXE для загрузки поставщиков учетных данных, которые настраиваются в разделе реестра «HKLM\Software\Microsoft\Windows NT\CurrentVersion\Authentication\Credential Providers». LogonUI управляет пользовательским интерфейсом и может последовательно запускать несколько поставщиков учетных данных. Поставщики учетных данных могут использоваться для вывода на экран входа в систему определенных элементов. LOGONUI.EXE передает данные учетной записи пользователя процессу WINLOGON.EXE и завершается.

При попытке входа в систему первый экземпляр SMSS.EXE создает новую копию самого себя для настройки нового сеанса, как в случае с сеансом 0 и сеансом консоли. Новый экземпляр SMSS.EXE запускает процессы CSRSS.EXE и WINLOGON.EXE для нового сеанса. WINLOGON.EXE запускает LOGONUI.EXE для вывода экрана входа в систему. На первый взгляд может показаться, что такой механизм создает излишнюю нагрузку на систему. На клиентских компьютерах особой пользы от этого действительно нет. Но в случае с терминальными серверами Windows Server 2008, возможность одновременного выполнения нескольких экземпляров SMSS.EXE ускоряет процесс входа в систему для нескольких пользователей одновременно.

Теперь расскажем вкратце о другой новой функции Windows Vista и Windows Server 2008 — отложенном запуске системных служб. Данная опция позволяет решить проблему автоматического запуска большого числа служб, создающих серьезную нагрузку при старте системы. Теперь те службы, запуск которых в самом начале процесса загрузки системы необязателен, стартуют в отложенном режиме, что существенно ускоряет процесс. Службы, для которых выбрана данная опция, запускаются вскоре после загрузки системы.

Как же действует новая функция? Диспетчер управления службами запускает службы, для которых выбран отложенный запуск, после загрузки цепочки процессов, отмеченных для автозапуска. Цепочке служб, запускаемых в отложенном режиме, присваивается приоритет THREAD_PRIORITY_LOWEST, и соответственно, все операции ввода/вывода, инициируемые данными службами, имеют самый низкий приоритет. После инициализации службы диспетчер управления службами вновь присваивает ей нормальный приоритет.

Сочетание отложенного запуска, пониженного приоритета для ЦП, оперативной памяти и фоновых операций ввода/вывода, значительно снижает нагрузку на систему, не препятствуя нормальному входу пользователя. Многие службы Windows, включая фоновую интеллектуальную службу передачи (Background Intelligent Transfer Service, BITS), клиент Центра обновления Windows (Windows Update Client) и службу Windows Media Center, теперь запускаются в отложенном режиме, чтобы ускорить процесс входа в систему при загрузке. Чтобы настроить службу для автоматического запуска в отложенном режиме, следует создать параметр REG_DWORD с именем «DelayedAutoStart» в подразделе конфигурации для данной службы в разделе «HKLM\SYSTEM\CurrentControlSet\Services».

Источник
 
Назад
Сверху Снизу