Not a kernel guy

… in the Windows kernel team

Tuesday, December 18, 2007

Разрядность .NET сборок.

Вскоре после написания поста про определение разрядности исполняемых файлов выяснилось, что в мире .NET «всё совсем по-другому».

(more…)

Posted at 10:33 pm •

Thursday, October 18, 2007

“4GB will always be enough”.

Порой разработчики приложений просто поражают своей храбростью и безудержным оптимизмом. Свежий пример – на днях получаю письмо с просьбой разобраться почему 32-битное приложение, нормально работавшее в Windows Server 2003 for Itanium перестало запускаться в Windows Server 2008 for Itanium. Что особенно приятно, так это то, что вместо традиционного «приложение падает, если сделать то, то и вот то», просто прислали сессию отладчика, остановленную непосредственно перед вызовом NtAllocateVirtualMemory, который и приводил к падению.

(more…)

Posted at 9:50 pm •

Tuesday, August 7, 2007

Regedit.

На моей машине в папке «%windir%» можно найти 6 (шесть!) копий «regedit.exe».

regedit.exe

Что это? Опять коварный Microsoft? Не совсем так. Просто Regedit несколько раз менял свое положение в дереве каталогов.

(more…)

Tags: ,
Posted at 7:43 pm •

Thursday, July 19, 2007

Во что обходится использование SEH и C++ исключений.

Утащил c Raider’s Programming Blog. Отличная презентация, посвященная «стоимости» исключений с точки зрения производительности кода: Exception Hanlding Cost (Google Video, 1 час 3 минуты). Автор презентации, Kevin Frei, непосредственно работал над поддержкой обработки исключений в компиляторе Visual C++ для платформы x64. Так что информация из первых рук, так сказать.

Power Point слайды: http://www.nwcpp.org/Downloads/2006/ehc.ppt

Posted at 4:53 pm •

Wednesday, July 18, 2007

Продолжение истории про ExitProcess.

История про ExitProcess получила несколько неожиданное продолжение. Оказалось, что для того, чтобы избежать блокировки на критической секции, захваченной другим потоком во время ExitProcess, в функцию EnterCriticalSection был добавлен код, обрабатывающий эту ситуацию. Начиная с Windows XP EnterCriticalSection проверяет захвачена ли секция и, в случае если захвачена, сверяет идентификатор текущего потока с идентификатором захватчика. А вот дальнейшее поведение зависит от версии операционной системы.

(more…)

Posted at 11:21 pm •

Sunday, July 15, 2007

Опасная функция ExitProcess.

Как вы думаете, какая их двух функций опаснее: ExitProcess или TerminateProcess? Ответ, конечно, зависит от определения того, что считать более безопасным. Однако если задать этот вопрос нескольким людям, большинство автоматически укажет на TerminateProcess. Почему? Потому что TerminateProcess в отличие от ExitProcess не делает попыток освободить занятые ресурсы. К примеру, программа не сможет записать несохранённые данные на диск, тем самым нарушив их целостность.

(more…)

Posted at 10:56 pm •

Monday, July 2, 2007

Анализ: насколько опасны вирусы, использующие аппаратную поддержку виртуализации.

Статья полугодовой давности: CPU Virtualization Extensions: Analysis of Rootkit Issues. Анализируется степень опасности, которую могут представлять вирусы и прочее вредоносное программное обеспечение, использующие аппаратную поддержку виртуализации, как средство контроля над операционной системой. Интересны выводы:

(more…)

Posted at 11:18 am •
« Previous PageNext Page »

Powered by WordPress