MinWin on Microsoftin käyttämä termi kuvaamaan ydintä ja käyttöjärjestelmää , joiden pääkomponentteja alettiin kehittää samaan aikaan Windows Vistan kanssa . Tätä käsitettä käytettiin ensimmäisen kerran vuonna 2003 kuvaamaan noin 95 % käyttöjärjestelmän osista (vaikka tämä prosenttiosuus on laskenut ajan myötä). Tämä on suosituin Windows -komponenttien minimalistinen modulaarinen kokoonpano , ja sen suunniteltiin alun perin olevan Windows 7 :n ydin .
4. marraskuuta 2008 Microsoft Corporationin teknisen neuvoston jäsen Mark Russinovich ilmoitti webcast-lähetyksessään MSDN Channel 9:llä, että MinWin-ydin oli vielä toteutettu Windows 7:ssä, mutta sen toteutusperiaate perustuu ytimen jakamiseen kerrokset, joissa peruskerros ( KernelBase .dll , jne.) vie yhteensä 30 Mt ja loput toiminnot jäävät vanhoihin kirjastoihin (esim. kernel32.dll , jne.). Tämä muutos on huomaamaton sovellusten ja laiteajureiden toiminnalle tarkoin harkitun toiminnallisuuden erottelumallin vuoksi.
Jotta MinWin erottuisi joukosta, joitain komponentteja piti muokata (jakaa tai yhdistää). Esimerkiksi kernel32.dll - kirjasto jakaantui kernel32.dll- ja kernelbase.dll-tiedostoihin . Ja jotta nämä muutokset eivät vaikuta korkeamman tason ohjelmiin, kutsut kaikkiin "etä"toimintoihin vanhoissa DLL -tiedostoissa ohjataan kirjastoihin MinWinistä. Esimerkiksi:
Fyysisten DLL-tiedostojen määrän vähentämiseksi, jotka on ladattava käynnistyksen yhteydessä, monet MinWinin DLL-tiedostot alkoivat sisältää funktiosarjoja eri API -liittymistä , mikä vaikeutti järjestelmän jatkokehitystä. Tämän ongelman välttämiseksi funktiokokoelmat liittyvistä API-liittymistä on yhdistetty niin sanotuiksi virtuaali-DLL-tiedostoiksi.
Esimerkiksi: api-ms-win-core-errorhandling-l1-1-0.dll , jossa numerot edustavat järjestelmän hierarkiatasoa, pää- ja sivuversioita. Kaava virtuaalisten DLL-tiedostojen yhdistämiseksi fyysisiin DLL-tiedostoihin on tallennettu Apisetschema.dll -tiedostoon .
Kaikki virtuaaliset DLL:t ovat olemassa fyysisesti, mutta ne eivät sisällä toimintototeutuksia:
C:\Windows\System32>hakemisto /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