письма:
From: Alexander <cooler_reader@mailhost.spb.ru> |
Здравствуй, Александр,
Много лет читаю Cooler. Очень нравится, когда формулируется какая-либо
прикладная проблема (например, как организовать систему видео-слежения
за объектом), а потом по письмам читателей даются решения. Такой
коллективный разум получается.
Хочу предложить задачу из области ПО. Для меня это задача актуальная
и решения ее я не знаю. Если она тоже покажется тебе нетривиальной,
возможно, ты опубликуешь ее, как вопрос из зала.
Любой, кто видел в консоли загрузку распространенных unix (будем
говорить о Linux, как о самом доступном), знает, что инициализация
устройств и сервисов при старте OS происходит в текстовом режиме
в виде лога. Если какое-то устройство или сервис долго (либо неуспешно)
инициализируется, это видно невооруженным глазом. Кроме того, этот
лог можно проанализировать позднее, как текстовый файл.
Теперь рассмотрим Windows 2000 (как наиболее мне знакомый). Известно,
что в сравнении с XP, эта OS изначально грузится существенно дольше.
Но самое неприятное, что после "обрастания" всякими сервисами
или драйверами устройств наступает такой момент, когда при старте
прогресс-бар, символизирующий, по видимому, инициализацию, замирает
секунд на 30 где-нибудь посередине. Вроде бы, очевидно, что это
неудачная инициализация какого-либо устройства/сервиса и делу можно
было бы помочь (вплоть до сноса этого сервиса или замены драйвера
устройства), но как узнать, над чем задумалась OS ? Анализ Event
Log, если не говорить о случае неудачного запуска сервиса, в данном
вопросе не помогает.
Вопрос в следующем: не известно ли успешных попыток третьих фирм
приделать к OS от Microsoft, в том или ином виде, консоль с логом
загрузки (например, графическую) ? Как вариант - запись в текстовый
лог всей деятельности во время инициализации OS, для последующего
разбора ? Особо отмечаю необходимость анализа информации по инициализации
устройств. Кстати, мало кто удаляет через Hardware Wizard (My Computer
-> Properties -> Hardware -> Hardware Wizard -> Uninstall
-> Uninstall a device -> Show hidden device) неиспользуемые
драйвера устройств, а я предполагаю, что все они пытаются инициализироваться
в момент запуска OS. Это тоже было бы сразу видно на загрузочной
консоли.
В качестве своего вклада в решение вопроса ускорения загрузки компьютеров
с установленным Windows XP советую поискать в сети (я искал на Yandex)
утилиту от Microsoft под названием BootVis - утилита специально
была спроектирована для оптимизации загрузки XP (но не Win 2000).
Ее реальную полезность (как и принцип работы) я не знаю, так как
никогда не владел машинами с XP. Да и первоначально поставленную
задачу она, по видимому, не решает - хочется увидить лог инициализации.
|
Давнишняя тема. Как и сама проблема: подсказать в реальной мере машине,
что именно надо проверять, а куда лазить и вообще надо забыть.
На самом деле, есть такой класс машин, как "офисная тачка" -
например, там никогда (!) не надо проверять при загрузке последовательные
порты, наличие USB девайса в порту (при загрузке!), экзотических PCI устройств
и т.п. Там все определено на год вперед как минимум. Вот как это подсказать
системе? Она ведь когда грузится, то там подождет сигнальчика 5 сек, то
здесь проверит отзыв в порт и еще кучу "нужных" дел поделает
раз от раза, кстати. Да, надо ткнуться в ps/2 порт, проверить мышку, ну
вдруг вот 1 год я пользовался USB-мышкой и тут вдруг воткнул ps/2. Редко?
да. Но как эти и другие подобные ситуации настроить... Сильно может помочь
копание в настройках биоса - там можно много чего отключить.
Опять же, существует масса устройств, которые не отключишь, но драйвера
в Win2k/XP существуют и они должны работать всегда. И обмен с ними происходит
на уровне загрузки. Да, хотя я сильно подозреваю, что и точно такая же
по объему "масса" устройств, которые, бывает, никогда и не используются.
В общем, все мысли я скомпилирую. chizh@irk.ru
|