Microsoft-ը հայտարարել է Windows Subsystem for Linux (WSL) բաց կոդով մշակման մասին, որը թույլ է տալիս Linux հավելվածներին աշխատել Windows-ում։ Նշվում է, որ այժմ յուրաքանչյուրը կարող է WSL կառուցել սկզբնական կոդից և մասնակցել մշակմանը։ Ի թիվս այլ բաների, Microsoft-ը սկսել է WSL-ում ընդունել համայնքի անդամների կողմից ուղղումներ և նոր հնարավորություններ։ Կոդը հրապարակված է MIT լիցենզիայի ներքո։ Նախագծին մասնակցել ցանկացող մշակողների համար գործարկվել է wsl.dev կայքը։
WSL-ը տրամադրում է վիրտուալ մեքենա՝ ամբողջական Linux միջուկով (հիմնված 6.6 ճյուղի վրա), որը կարող է աշխատեցնել Linux բաշխումներ։ Միջուկը ներառում է WSL-ին հատուկ փոփոխություններ, ինչպիսիք են՝ գործարկման ժամանակը և հիշողության սպառումը կրճատելու օպտիմալացումները, Windows-ից Linux պրոցեսների կողմից ազատված հիշողությունը վերականգնելու հնարավորությունը և ավելորդ դրայվերներն ու ենթահամակարգերը վերացնելու համար նախատեսված շտկումները։ Համակարգը տեղադրված է առանձին սկավառակի պատկերի (VHD) մեջ՝ ext4 ֆայլային համակարգով և վիրտուալ ցանցային ադապտերով։
Linux միջուկին և Wayland և X11-ի վրա հիմնված GUI հավելվածները գործարկելու համար օգտագործվող wslg գրաֆիկական փաթեթին վերաբերող WSL բաղադրիչները սկզբից մշակվել են բաց կոդով եղանակով, սակայն բոլոր ուղեկցող գործիքակազմը մնացել է սեփական։ Այսուհետ հետևյալ բաղադրիչները տեղափոխվել են բաց ցուցակ.
- WSL-ի հետ փոխազդելու համար օգտագործվում են wsl.exe, wslconfig.exe և wslg.exe հրամանի տողի օգտակար ծրագրերը։
- Wslservice.exe ծառայությունն օգտագործվում է վիրտուալ մեքենա գործարկելու, դրանում Linux միջավայրը ակտիվացնելու և ֆայլային համակարգերը միացնելու համար։
- Linux միջավայրում գործարկված ֆոնային գործընթացներ՝ WSL ֆունկցիոնալությանը մուտք գործելու համար։ Օրինակ՝ init գործընթացը՝ սկզբնականացման համար, gns՝ ցանցային մուտքը կարգավորելու համար, localhost՝ պորտի վերահասցեավորման համար։
- Plan9 գործընթացը իրականացման հետ միասին սերվեր Plan9, որն օգտագործվում է WSL-ում՝ Windows-ից Linux ֆայլերը կիսելու համար։

Մնում են Windows-ի մաս և ներկայումս բաց չեն.
- Lxcore.sys միջուկի դրայվերն օգտագործվում էր ELF կատարվող ֆայլերը համատեղելիության շերտի միջոցով գործարկելու համար։
- P9rdr.sys դրայվերը և p9np.dll գրադարանը ապահովում են «\\wsl.localhost» ֆայլային համակարգին մուտքի վերահասցեավորում Windows-ից Linux-ին մուտք գործելիս։
Միևնույն ժամանակ, Microsoft-ը բացեց Edit կոնսոլային տեքստային խմբագրիչի սկզբնական կոդը MIT լիցենզիայի ներքո, որը գրված էր Rust լեզվով և նախատեսված էր Windows-ի 64-բիթանոց տարբերակներում լռելյայնորեն տրամադրվելու համար։ Առաջիկա ամիսներին խմբագրիչը կառաջարկվի վերանայման և փորձարկման Windows Insider ծրագրի տարբերակներում, որից հետո այն կներառվի Windows 11-ի ստանդարտ մատակարարման մեջ։
Խմբագիրը փորձեց ներդնել ժամանակակից ինտերֆեյս՝ VS Code ոճի կառավարման տարրերով։ Նշված նպատակն է ապահովել պարզ և հեշտ օգտագործման ինտերֆեյս նույնիսկ նրանց համար, ովքեր տերմինալում աշխատելու փորձ չունեն։ Խմբագրիչը կոմպակտ է և սկավառակի վրա զբաղեցնում է ընդամենը 250 կԲ տարածք։ Նշվում են հետևյալ հնարավորությունները՝ մենյուի համակարգ, ստեղնաշարի կամ մկնիկի կարճ ստեղներ, ներդիրների աջակցություն և մի քանի ֆայլերի հետ միաժամանակյա աշխատանք, որոնման և փոխարինման գործողություններ և տեքստի ավտոմատ փաթեթավորման ռեժիմ։

Բացի այդ, Windows-ի մայիսյան թարմացումը շտկեց մի սխալ, որը թույլ չէր տալիս որոշ Linux համակարգերի բեռնվել կրկնակի բեռնման կարգավորումներով, որտեղ Windows-ը և Linux-ը օգտագործվում են նույն համակարգչի վրա։ Խնդիրն ի հայտ եկավ անցյալ տարվա օգոստոսին և միայն հիմա է լուծվել (նախկինում շտկման համար պահանջվում էր UEFI-ում տեղադրված SBAT տվյալները ձեռքով ջնջել): Սխալի էությունն այն է, որ Microsoft-ը ցանկանում էր արգելափակել GRUB-ի խոցելի տարբերակների միջոցով Secure Boot ռեժիմը շրջանցելու հնարավորությունը միայն Windows օգտագործող համակարգիչներում, բայց հաշվի չէր առել նրբությունները։ Փոփոխությունը, ի վերջո, հանգեցրեց կրկնակի բեռնման գործընթացի խափանման Linux բաշխումները չթարմացված SBAT պարամետրերով և GRUB բեռնիչով աշխատող կրկնակի բեռնման օգտագործողների համար։
Source: opennet.ru
