Обновить
482
0

Пользователь

Отправить сообщение
Про «под юбку», тьфу, «под капот» винды я еще собираюсь написать. Конкретно в ближайших планах Memory Manager (с небольшими вылазками в Cache Controller и I/O Manager). Просто потому, что мне больно видеть всякие советы по отключению свопфайла и «экспертные» мнения по поводу swappiness в Linux. :-)
А так раз постарался — написал и потом можно просто давать ссылку
А мне нравятся его посты. И, кстати, Technology evangelist:
A technical or technology evangelist is a person who attempts to build a critical mass of support for a given technology in order to establish it as a technical standard in a market that is subject to network effects.[citation needed] Professional technology evangelists are often employed by firms which seek to establish their proprietary technologies as de facto standards or to participate in setting non-proprietary open standards. Non-professional technology evangelists may act out of altruism or self-interest (e.g., to gain the benefits of early adoption or the network effect).

В случае MS это подходит разве что к сильверлайту и WP7, но я не замечал у XaosCPS особой любви конкретно к нераспространенным («ну это пока» :-) ) технологиям МС.
У Соломона/Руссиновича/Ионеску поразительно доступно все расписано, но без бекраунда вчитываться все равно придется долго. И начального уровня — взять тот же драйвер тостера из WDK и поковырять. Благо сейчас не надо запускать тестовые драйвера на живой машине — можно при желании пустить одновременно с десяток виртуалок.

Если есть навыки отладки, ОЧЕНЬ рекомендую WRK — компилируете, заменяете ядро и ходите по ядру дебаггером с просмотром всех вызовов.
Кстати, мой опыт подсказывает, что для «ковыряния» нужны не столько исходники (хотя они сильно помогают), сколько мощная документация и время на то, чтоб прочитанная информация переварилась и усвоилась. И вот здесь как то внезапно оказывается, что возможностей поковыряться в винде иногда даже больше, чем в том же линуксе.

А посыл обоих постов (в особенности первого): если лезешь ковыряться — для начала разберись.
Кстати да, на всякий случай надо пояснить этот момент. Вот документация. Если ждать надо меньше тика таймера, то единственным вариантом будет крутить пустой цикл до тех, пор пока не придет время выходить. И марвеловский драйвер делает это в обработчике прерывания. Здесь нужно еще одно пояснение: после вызова обработчика прерывания это и все прерывания ниже этого оказываются замаскированы на этом процессоре. То есть на подобные «мелочи» процессор прерываться уже не будет, пока не выйдет из обработчика. Ну собственно, единожды застряв в обработчике прерывания от диска — любые последующие операции чтения/записи уже невозможны. Особенно, если прерывания «сродственны» (affinitized) этому процессору.
Ага, чуть меньше 8 лет опыта в виндовых драйверах. И за некоторые из них мне до сих пор стыдно :-)
Ну в PowerShell кроме нативной поддержки FCL (и .Net сборок вообще), COM, WMI, WebServices и пр., умеет еще и компилировать сборки в рантайме (на C#, VB.Net, JS.Net), что означает кроме прочего P/Invoke и не просто «неплохую поддержку винапи», а ПОЛНУЮ поддержку Win32 и Native API:
add-type -Namespace Native -Name DateTime -member @"
[DllImport("ntdll.dll")]
public static extern uint NtQuerySystemTime(out long SystemTime);
"@

$time = 0
[Native.DateTime]::NtQuerySystemTime([ref]$time)
[System.Windows.Forms.MessageBox]::Show($time)


В Win7 стоит «из коробки» в Vista и XP прилетает обновлением. Что еще надо для счастья
А почему им в англоязычной стране, в которой ясно видно отличие silicon от silicone не должно быть по фигу, как эту долину называют в России?
Ах да, UIA нормально работает с ресайзнутыми приложениями и в высоких DPI
Не совсем понятно, зачем в данном случае AutoIt, если есть UI Automation и <a href-http://uiautomationverify.codeplex.com/>библиотека для работы с ним из PowerShell


Visual UIA Verify может в числе прочего и запускать тесты.
Строго говоря, Comodo тоже использует «встроенный» файрвол: Comodo Firewall, равно как и Windows Firewall with Advanced Security — это просто шеллы ко встроенной Windows Filtering Platform
Ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger
@MinimumBuffers и @MaximumBuffers. Для внесения изменения можно использовать -preTraceCmd
Проблема в том, что там по умолчанию 300 и 600 мегабайт стоит — весь лог влез бы.

Windows Search — вроде ничего страшного, если он не делает такое ПОСТОЯННО. Он не должен постоянно носиться по диску и переиндексировать все подряд.
Трейс битый (9 буферов потеряно). Причем окончания загрузки большинства сервисов похоже находились в тех потерянных буферах. Стоит попробовать увеличить размер буфера, но из xbootmgr-а этого вроде сделать нельзя — придется в реестр лезть.

Самые большие проблемы, которые здесь видно: кто то держит систему с 0 по 5 секунду и с 6 по 13 — как раз когда стартует session manager (на втором интервале ReadyBoot префетчит вовсю, но ни хитов ни даже миссов не происходит — никому кроме редибута диск не нужен). Подозреваю, что это как то связано с пиками CPU как раз в начале этих периодов. Во флаги можно добавить PROFILE (BASE+CSWITCH+PROFILE) и сделать -stackwalk PROFILE — тогда будет лучше видно, кто и чего там делает (если не терять буферы, конечно). Можно добавить еще флаг DRIVERS (BASE+CSWITCH+PROFILE+DRIVERS) и попытаться скорреллировать загрузку драйверов с этими аномалиями.

Кроме того, здесь сразу после загрузки включился SearchIndexer, стоит дать ему доиндексировать, чтоб под ногами не путался (хотя путаться он начинает примерно с 21-й секунды, так что на время инициализации не влияет).
Да, если захотите выключать функционал — порядок действий точно такой же.
1. Определяете, кто наносит наибольший ущерб производительности
2. Смотрите, что с ним делать (в данном случае решение сводится к вырезать/не вырезать)
3. Lather, rinse, repeat
Нет, святого ничего нет, но не думаю, что там есть о чем писать. Быстрый диск на самом деле даст бОльший выигрыш. Мне уже прислали логи с загрузкой эксплорера на 9-й секунде на обычной десктопной машине с 7600 rpm винтом. Забавно было бы посмотреть на это

Я думаю, написать вторую статью про вот это и наверное на этом можно закончить с xperf-ом (в смысле там непаханное поле возможностей, но во-первых их все я и сам не знаю, а во-вторых если зацикливаться на одной теме — станет невыносимо скучно)
А, теперь понял, о чем Вы. Пусть будет по вашему, споры об определениях — не самое интересное занятие.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность