MinWin
MinWin — это понятие, используемое Microsoft для описания ядра и операционной системы, осно�…
MinWin — это понятие, используемое Microsoft для описания ядра и операционной системы, основные компоненты которых начали разрабатываться одновременно с Windows Vista. Данное понятие впервые использовалось в 2003 для описания примерно 95 % компонентов операционной системы (правда, со временем этот процент снизился). Это самый популярный вариант минималистичной модульной сборки компонентов Windows, который изначально планировалось сделать ядром Windows 7.
4 ноября 2008 года Марк Руссинович, член технического совета корпорации Microsoft, в своей веб-трансляции на MSDN Channel 9 сообщил, что в Windows 7 всё же внедрено ядро MinWin, но принцип его реализации основан на разделении ядра на слои, где базовый слой (KernelBase.dll и т. д.) суммарно занимает 30 Мб, а остальная функциональность остаётся в старых библиотеках (к примеру, kernel32.dll и т. д.). Для работы приложений и драйверов устройств это изменение незаметно благодаря тщательно продуманной схеме разделения функциональности.
Устройство и работа
Чтобы выделить MinWin, пришлось переработать некоторые компоненты (разделить или объединить). Например, библиотеки kernel32.dll и advapi32.dll стали зависимыми от новой общей библиотеки kernelbase.dll. А чтобы эти изменения не коснулись программ высших уровней, вызовы всех «удаленных» функций в старых DLL перенаправляются в библиотеки от MinWin. Например:
- Kernel32.dll → Kernelbase.dll
- Advapi32.dll → Kernelbase.dll
Чтобы уменьшить количество физических DLL, которые необходимо загружать при старте, многие DLL в MinWin стали содержать в себе наборы функций из разных API, а это усложняло дальнейшую разработку системы. Чтобы избежать такой проблемы, наборы функций из родственных API были объединены в так называемые Виртуальные DLL.
Например: api-ms-win-core-errorhandling-l1-1-0.dll, где номера обозначают уровень иерархии в системе, мажорную и минорную версию. Схема отображения виртуальных DLL в физические хранится в Apisetschema.dll.
Все виртуальные DLL существуют физически, но не содержат в себе реализаций функций:
C:\Windows\System32>dir /a api* /B api-ms-win-core-console-l1-1-0.dll api-ms-win-core-datetime-l1-1-0.dll api-ms-win-core-debug-l1-1-0.dll api-ms-win-core-delayload-l1-1-0.dll api-ms-win-core-errorhandling-l1-1-0.dll api-ms-win-core-fibers-l1-1-0.dll api-ms-win-core-file-l1-1-0.dll api-ms-win-core-handle-l1-1-0.dll api-ms-win-core-heap-l1-1-0.dll api-ms-win-core-interlocked-l1-1-0.dll api-ms-win-core-io-l1-1-0.dll api-ms-win-core-libraryloader-l1-1-0.dll api-ms-win-core-localization-l1-1-0.dll api-ms-win-core-localregistry-l1-1-0.dll api-ms-win-core-memory-l1-1-0.dll api-ms-win-core-misc-l1-1-0.dll api-ms-win-core-namedpipe-l1-1-0.dll api-ms-win-core-processenvironment-l1-1-0.dll api-ms-win-core-processthreads-l1-1-0.dll api-ms-win-core-profile-l1-1-0.dll api-ms-win-core-rtlsupport-l1-1-0.dll api-ms-win-core-string-l1-1-0.dll api-ms-win-core-synch-l1-1-0.dll api-ms-win-core-sysinfo-l1-1-0.dll api-ms-win-core-threadpool-l1-1-0.dll api-ms-win-core-ums-l1-1-0.dll api-ms-win-core-util-l1-1-0.dll api-ms-win-core-xstate-l1-1-0.dll api-ms-win-security-base-l1-1-0.dll api-ms-win-security-lsalookup-l1-1-0.dll api-ms-win-security-sddl-l1-1-0.dll api-ms-win-service-core-l1-1-0.dll api-ms-win-service-management-l1-1-0.dll api-ms-win-service-management-l2-1-0.dll api-ms-win-service-winsvc-l1-1-0.dll
См. также
Ссылки
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.