
Тхе Басх на Убунту-у на Виндовс-у омогућава изворне Линук ЕЛФ64 бинарне датотеке да се изводе на Виндовс-у путем Виндовс подсистема за Линук (ВСЛ). Иако је многе људе шокирала најава Басх он Убунту, вреди напоменути да она отвара нова врата за компатибилност између различитих оперативних система. Мицрософт чини још један корак напред и открива како његов ВСЛ ради како бисмо могли боље разумети како два система међусобно комуницирају.
ВСЛ је креирао тим Мицрософт Виндовс кернела и садржи компоненте корисничког режима и режима језгра. Тачније, систем се састоји од:
- услуга менаџера корисничког режима сесија која рукује животним циклусом инстанце Линука
- Управљачки програми добављача Пицо (лксс.сис, лкцоре.сис) чија је улога емулација Линук кернела превођењем Линук сисцаллс-а
- Пицо процесира хостинг непромењеног корисничког режима Линук (нпр. / Бин / басх).
Веза између три компоненте описана је на следећи начин:
То је простор између корисничког режима Линук бинарних датотека и компоненти Виндовс језгра где се магија догађа. Постављањем неизмењених бинарних датотека у Линук у Пицо процесе омогућавамо усмеравање Линук системских позива у Виндовс језгро. Управљачки програми лксс.сис и лкцоре.сис преводе Линук системске позиве у НТ АПИ-је и опонашају Линук језгро.
Главни изазов у процесу је да два система раде заједно:
ВСЛ извршава немодификоване Линук ЕЛФ64 бинарне датотеке виртуелизујући интерфејс Линук кернела на врху Виндовс НТ кернела. Један од интерфејса језгра који излаже су системски позиви (сисцаллс). Сисцалл је услуга коју пружа језгро и која се може позвати из корисничког режима. И Линук и кернел Виндовс НТ излажу неколико стотина сисцаллс-а у корисничком режиму, али имају различиту семантику и углавном нису директно компатибилни. На пример, Линук кернел укључује ствари попут форк, опен и килл док Виндовс НТ кернел има упоредиве НтЦреатеПроцесс, НтОпенФиле и НтТерминатеПроцесс.
Подсистем Виндовс за Линук укључује покретачке програме режима језгра (лксс.сис и лкцоре.сис) који су одговорни за руковање системским захтевима за Линук у координацији са Виндовс НТ језгром. Управљачки програми не садрже код из Линук језгра, већ су уместо тога имплементација чисте собе интерфејса кернела компатибилног са Линуком. На изворном Линуку, када је сисцалл направљен од извршне датотеке у корисничком режиму, њиме се бави Линук кернел. На ВСЛ-у, када је сисцалл направљен од исте извршне датотеке, Виндовс НТ кернел прослеђује захтев на лкцоре.сис. Где је то могуће, лкцоре.сис преводи Линук сисцалл у еквивалентни Виндовс НТ позив који заузврат чини тешке ствари.
Узимајући у обзир Мицрософтово интересовање за платформе отвореног кода, многи људи су се питали да ли технолошки гигант би требало да стекне велике компаније усмерене на Линук, као што је Цаноницал, компанија која стоји иза оперативног система Убунту. Иако су Мицрософт и Цаноницал сарађивали на софтверу отвореног кода, ниједан није дао коментар на ову могућност.
Ако вас занима како се развија интеракција Линук - Виндовс, идите на Мицрософтов блог. Тим је обећао да ће уследити још постова на блогу на ову тему.
ПОВЕЗАНЕ ПРИЧЕ КОЈЕ ТРЕБА ДА ПРОВЕРИТЕ:
- Корисници Линука пријављују проблеме „Слушалице су престале да раде у оперативном систему Виндовс 8.1“
- Мицрософт и Цаноницал доносе Басх на Виндовс 10 на Буилд 2016
- Минхен почиње дистрибуцију бесплатних Убунту ЦД-а корисницима Виндовс КСП-а