Разрядность .NET сборок.
Вскоре после написания поста про определение разрядности исполняемых файлов выяснилось, что в мире .NET «всё совсем по-другому».
Not a kernel guy… in the Windows kernel team |
||||||||||||||||||||||||||||||||||||||||||||||||||
Tuesday, December 18, 2007Разрядность .NET сборок.Вскоре после написания поста про определение разрядности исполняемых файлов выяснилось, что в мире .NET «всё совсем по-другому». Thursday, October 18, 2007“4GB will always be enough”.Порой разработчики приложений просто поражают своей храбростью и безудержным оптимизмом. Свежий пример – на днях получаю письмо с просьбой разобраться почему 32-битное приложение, нормально работавшее в Windows Server 2003 for Itanium перестало запускаться в Windows Server 2008 for Itanium. Что особенно приятно, так это то, что вместо традиционного «приложение падает, если сделать то, то и вот то», просто прислали сессию отладчика, остановленную непосредственно перед вызовом NtAllocateVirtualMemory, который и приводил к падению. Tuesday, August 7, 2007Regedit.На моей машине в папке «%windir%» можно найти 6 (шесть!) копий «regedit.exe». ![]() Что это? Опять коварный Microsoft? Не совсем так. Просто Regedit несколько раз менял свое положение в дереве каталогов. 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 Wednesday, July 18, 2007Продолжение истории про ExitProcess.История про ExitProcess получила несколько неожиданное продолжение. Оказалось, что для того, чтобы избежать блокировки на критической секции, захваченной другим потоком во время ExitProcess, в функцию EnterCriticalSection был добавлен код, обрабатывающий эту ситуацию. Начиная с Windows XP EnterCriticalSection проверяет захвачена ли секция и, в случае если захвачена, сверяет идентификатор текущего потока с идентификатором захватчика. А вот дальнейшее поведение зависит от версии операционной системы. Sunday, July 15, 2007Опасная функция ExitProcess.Как вы думаете, какая их двух функций опаснее: ExitProcess или TerminateProcess? Ответ, конечно, зависит от определения того, что считать более безопасным. Однако если задать этот вопрос нескольким людям, большинство автоматически укажет на TerminateProcess. Почему? Потому что TerminateProcess в отличие от ExitProcess не делает попыток освободить занятые ресурсы. К примеру, программа не сможет записать несохранённые данные на диск, тем самым нарушив их целостность. Monday, July 2, 2007Анализ: насколько опасны вирусы, использующие аппаратную поддержку виртуализации.Статья полугодовой давности: CPU Virtualization Extensions: Analysis of Rootkit Issues. Анализируется степень опасности, которую могут представлять вирусы и прочее вредоносное программное обеспечение, использующие аппаратную поддержку виртуализации, как средство контроля над операционной системой. Интересны выводы: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Powered by WordPress