MinWin

MinWin  je termín používaný společností Microsoft k popisu jádra a operačního systému , jehož hlavní součásti se začaly vyvíjet ve stejné době jako Windows Vista . Tento koncept byl poprvé použit v roce 2003 k popisu přibližně 95 % součástí operačního systému (ačkoli toto procento se postupem času snižovalo). Toto je nejoblíbenější minimalistická modulární sestava komponent Windows a původně se plánovalo, že bude jádrem Windows 7 .

4. listopadu 2008 Mark Russinovich , člen technické rady Microsoft Corporation, ve svém webovém vysílání na MSDN Channel 9 oznámil, že jádro MinWin je stále implementováno ve Windows 7, ale princip jeho implementace je založen na rozdělení jádra na vrstvy, kde základní vrstva ( KernelBase .dll atd.) zabírá celkem 30 MB a zbytek funkčnosti zůstává ve starých knihovnách (například kernel32.dll atd.). Tato změna je pro provoz aplikací a ovladačů zařízení nepostřehnutelná kvůli pečlivě promyšlenému schématu oddělení funkcí.


Zařízení a práce

Aby MinWin vynikl, musely být některé komponenty přepracovány (rozděleny nebo sloučeny). Například knihovna kernel32.dll se rozdělila na kernel32.dll a kernelbase.dll . A aby tyto změny neovlivnily programy vyšší úrovně, jsou volání všech „vzdálených“ funkcí ve starých DLL přesměrována do knihoven z MinWin. Například:

Aby se snížil počet fyzických knihoven DLL, které je třeba načíst při spuštění, mnoho knihoven DLL v MinWin začalo obsahovat sady funkcí z různých API , což zkomplikovalo další vývoj systému. Aby se tomuto problému předešlo, byly kolekce funkcí ze souvisejících rozhraní API sloučeny do tzv. virtuálních knihoven DLL.

Například: api-ms-win-core-errorhandling-l1-1-0.dll , kde čísla představují úroveň hierarchie v systému, hlavní a vedlejší verze. Schéma pro mapování virtuálních DLL na fyzické je uloženo v Apisetschema.dll .

Všechny virtuální knihovny DLL existují fyzicky, ale neobsahují implementace funkcí:

C:\Windows\System32>dir /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

Viz také

Odkazy