Kua whakaritea e Microsoft he whakatinanatanga eBPF mo Windows

Kua whakaputahia e Microsoft he whakatinanatanga o te punaha iti eBPF mo Windows, e taea ai e koe te whakarewa i nga kaikawe whakahaere e rere ana i te taumata kernel punaha whakahaere. Ka whakaratohia e te eBPF he kaiwhakamaori bytecode i hangaia ki roto i te kernel, e taea ai te hanga i nga kaikawe mahi whatunga ka utaina mai i te waahi kaiwhakamahi, te whakahaere urunga me te aro turuki i nga mahi o nga punaha. Ko te eBPF kua whakauruhia ki roto i te kernel Linux mai i te tukunga 3.18 ka taea e koe te hapai i nga paatete whatunga taumai/putaatu, te tuku paanui, te whakahaere bandwidth, te arai waea punaha, te mana uru me te whai. He mihi ki te whakamahinga o te whakahiato JIT, ka whakamaoritia te bytecode i runga i te rere ki nga tohutohu miihini ka mahia me te mahi o te waehere kua whakahiato. Ko te eBPF mo Windows he puna tuwhera i raro i te raihana MIT.

Ka taea te whakamahi eBPF mo Windows me nga taputapu eBPF o naianei me te whakarato i te API whanui e whakamahia ana mo nga tono eBPF i runga i te Linux. I roto i etahi atu mea, ka taea e te kaupapa te whakahiato waehere kua tuhia ki te C ki roto i te eBPF bytecode ma te whakamahi i te Clang-based eBPF compiler me te whakahaere i nga kaihautu eBPF kua hangaia mo Linux ki runga ake o te pata Windows, e whakarato ana i tetahi paparanga hototahi motuhake me te tautoko i te Libbpf paerewa. API mo te hototahi ki nga tono e taunekeneke ana me nga kaupapa eBPF. Kei roto i tenei ko nga papa e whakarato ana i nga matau rite-Linux mo te XDP (eXpress Raraunga Ara) me te herea turanga, te tango i te uru ki te tapae whatunga me nga taraiwa whatunga Windows. Kei roto i nga mahere ko te whakarato i te hototahitanga o te taumata waehere puna me nga punaha eBPF Linux paerewa.

Kua whakaritea e Microsoft he whakatinanatanga eBPF mo Windows

Ko te rereketanga nui i waenga i te whakatinanatanga eBPF mo Windows ko te whakamahi i tetahi momo whakaahuru bytecode, na nga kaimahi VMware me nga kairangahau mai i nga whare wananga o Kanata me Iharaira. Ka haere te kaitirotiro i roto i tetahi mahi motuhake, motuhake i te waahi kaiwhakamahi, ka whakamahia i mua i te whakahaere i nga kaupapa BPF hei tautuhi i nga hapa me te aukati i nga mahi kino.

Mo te manatoko, ka whakamahia e te eBPF mo Windows tetahi tikanga tātari pateko i runga i te Whakamaori Abstract, ka whakatauritea ki te eBPF verifier mo Linux, e whakaatu ana i te iti iho o te reeti pai teka, e tautoko ana i te tātaritanga porowhita, e whakarato ana i te tauinenga pai. Ka whai whakaaro te tikanga ki te maha o nga tauira mahi i puta mai i te tātaritanga o nga kaupapa eBPF.

I muri i te manatokonga, ka whakawhitia te bytecode ki tetahi kaiwhakamaori e rere ana i te taumata kernel, ka tukuna ranei i roto i te kaitoi JIT, ka whai muri i te whakatinanatanga o te waehere miihini ka puta me nga tika kernel. Hei wehe i nga kaikawe eBPF i te taumata kernel, ka whakamahia te tikanga HVCI (HyperVisor-enforced Code Integrity), e whakamahi ana i nga taputapu mariko hei tiaki i nga tukanga i roto i te kernel me te whakapumau i te tika o te waehere whakahaere ma te whakamahi i te waitohu mamati. Ko te herenga o te HVCI ka taea anake te manatoko i nga kaupapa eBPF kua whakamaorihia, kaore e taea te whakamahi tahi me te JIT (kei a koe te whiringa mo te mahi, mo etahi atu haumarutanga ranei).

Source: opennet.ru

Tāpiri i te kōrero