Блог
Практические статьи KomuraSoft LLC о разработке сайтов, SEO, Google Ads, разработке для Windows, использовании существующих систем и расследовании сбоев.
ИИ-поиск по всему сайту
Поисковые запросы передаются в Cloudflare AI Search для формирования результатов. Не вводите персональные данные.
-
Внутреннее устройство виртуализации Windows (часть 3) — виртуальные машины, которые стартуют за секунды: почему WSL2, Windows Sandbox и контейнеры такие лёгкие
Почему WSL2 и Windows Sandbox стартуют за секунды и остаются лёгкими. Разбираем динамический базовый образ, direct map, динамическое распределение памяти и к...
-
Внутреннее устройство виртуализации Windows (часть 2) — память, которую не видит даже ядро: как устроены VBS, HVCI и Credential Guard
На совместимом оборудовании при чистой установке VBS включена по умолчанию: гипервизор и SLAT создают изоляцию сильнее ядра. Разбираем устройство VTL, Secure...
-
Внутреннее устройство виртуализации Windows (часть 1) — где работает ваш Windows: гипервизор и разделы
Если включить Hyper-V, хостовый Windows сам работает поверх гипервизора как корневой раздел. Разбираем основу виртуализации: роли VT-x, SLAT и VMBus.
-
Пул потоков Win32 — параллелизм через CreateThreadpoolWork без своих потоков
Не плодите ли вы CreateThread по всему нативному коду? Разбираем API пула потоков Win32, переработанный в Vista: четыре объекта work, timer, wait и io, групп...
-
Именованные каналы на практике — от проектирования до безопасности IPC в Windows
Практический разбор именованных каналов — стандартного IPC в Windows. По первоисточникам: выбор байтового режима и режима сообщений, сервер на несколько клие...
-
Приложение ломается после спящего режима — события питания Windows и устойчивое восстановление
Открыли ноутбук — соединения бизнес-приложения уже мертвы. Так бывает, когда логика не рассчитана на спящий режим. Разбираем цепочку уведомлений WM_POWERBROA...
-
DllMain и блокировка загрузчика — почему говорят «ничего не делайте при инициализации DLL»
Почему из DllMain нельзя вызывать LoadLibrary и синхронизироваться с другими потоками. По первоисточникам: как блокировка загрузчика сериализует все уведомле...
-
«Не отвечает»: как Windows определяет зависание и как проектировать так, чтобы оно не возникало
«Не отвечает» в Windows — это решение ОС: окно 5 секунд не извлекает сообщения, и система подменяет его фантомным окном. Разбираем критерий, типичные причины...
-
Ложное пробуждение: почему wait на условной переменной возвращается без уведомления и как ждать в Windows
wait на условной переменной может вернуться и без уведомления (ложное пробуждение). Разбираем по реализации Windows, почему спецификация это допускает, и пок...
-
Буфер обмена и перетаскивание: OLE-передача данных в бизнес-приложениях
Таблица из Excel вставляется «криво», а после закрытия исходного приложения вставить уже нельзя — оба случая объясняются тем, что буфер обмена держит одно и ...