Podjetje Microsoft o razširjanju možnosti plastike WSL2 (Windows Subsystem for Linux), ki omogoča zagon izvršnih datotek Linux v Windows. V eksperimentalnih različicah (build 19013) v plasti WSL2 se je pojavila podpora za vračanje spomina (Memory Reclamation), ki ga osvobajajo procesi, ki delujejo v okolju, temelječem na jedru Linux.
Prej je v primeru povečane porabe spomina s strani aplikacij ali jedra spomin dodelil virtualni stroj WSL2, vendar je ostal zaklenjen in se ni vračal sistemu, niti po končanju virov zahtevnega procesa in odsotnosti nadaljnje potrebe po dodeljenem spominu. Mehanizem Memory Reclamation omogoča vračanje osvobojenega spomina v osnovni OS in samodejno zmanjšanje velikosti spomina virtualnega stroja. Pri tem se vrača ne le spomin, ki ga osvobajajo uporabniški procesi, ampak tudi spomin, ki se uporablja za predpomnjenje v jedru Linux. Na primer, ob visoki diskovni aktivnosti se povečuje velikost stranišča predpomnilnika, v katerem ostanejo vsebine datotek med delom datotečnega sistema. Po izvršitvi «echo 1 > /proc/sys/vm/drop_caches» lahko predpomnilnik očistimo in vrnemo spomin v osnovni OS.
Izvedba Memory Reclamation temelji na
, ki so ga predlagali inženirji Intel za vključitev v glavno jedro Linux z namenom razširitve zmožnosti gonilnika virtio-balloon in za sistem upravljanja spomina. Ta patch je zasnovan za uporabo v vseh gostiteljskih sistemih za vračanje neizkoriščenih strani spomina gostiteljskemu sistemu in ga je mogoče uporabljati z različnimi hipervizorji. V primeru WSL2 je patch prilagojen za vračanje spomina hipervizorju Hyper-V.
Spomnimo se, da druga različica WSL nudi polno jedro Linux namesto emulatorja, ki v realnem času prevaja sistemske klice Linux v sistemske klice Windows. Dobavljeno v WSL2 temelji na izdaji 4.19, ki se izvaja v okolju Windows s pomočjo virtualnega stroja, ki se že uporablja v Azure. Posodobitve za jedro Linux se dostavljajo preko mehanizma Windows Update in se testirajo v infrastrukturi neprekinjene integracije Microsoft. Specifični patchi za WSL2 vključujejo optimizacije za zmanjšanje časa nalaganja jedra, zmanjšanje porabe spomina in ohranjanje minimalnega nabora gonilnikov in podsistemov v jedru.
Izvor: opennet.ru
