Mitä Windows 11 tarkoittaa Windows on Arm -käyttöjärjestelmälle ja miksi se tuo mukanaan enemmän suuria nimikkosovelluksia?

Kun kehittäjien on helpompi siirtää sovelluksia Armille omaan tahtiinsa menettämättä emuloinnin tuomia etuja, Windows on Arm -käyttöjärjestelmän uskottavuus kasvaa.

Windows 11 running on a Surface Pro X with the ARM64EC version of Outlook.

” data-credit=””>windows-11-running-on-a-surface-pro-x-with-the-arm64ec-version-of-outlook.jpg

Windows 11 käynnissä Surface Pro X:ssä, jossa on ARM64EC-versio Outlookista.

Vaikka laitteet ovat tyypillisesti ohuita ja kevyitä tietokoneita, joita voi helposti käyttää tabletina – ja Windows 11:n uusien kosketusominaisuuksien demo tehtiin Arm-pohjaisella Surface Pro X 2:lla – Windows on Arm -käyttöjärjestelmän ideana on, että se on ”vain Windows”, joka sattuu toimimaan Snapdragon Arm -prosessorilla. Se saa pidemmän akkukeston, mutta tekee myös kaiken, mitä Windows normaalisti tekee, mukaan lukien kaikkien ohjelmistojen käyttäminen (ja käyttöönotto Autopilotin tai ryhmäkäytäntöjen kautta, hallinta Microsoft Endpoint Managerin tai Configuration Managerin kautta ja päivittäminen Windows Update for Businessin tai Windows Software Update Servicesin kautta).

Microsoft ilmoitti viime vuonna Windows on Arm -yhteensopivuuden tärkeydestä lisäämällä sen App Assure – ohjelmaan ja ottamalla 64-bittisen emuloinnin käyttöön Insider-versioissa . Windows 11:n myötä pyritään kuitenkin saamaan yhä useammat kehittäjät päivittämään sovelluksensa toimimaan natiivisti Armilla – erityisesti sovellukset, joissa kolmannen osapuolen lisäosat ja lisäosat ovat tärkeitä.

KATSO: Windows 11:n huijauslista: Kaikki mitä sinun tarvitsee tietää (ilmainen PDF) (TechRepublic)

Pirteämpi CHPE

Tuodakseen Windows-sovelluksensa natiivisti Armille kehittäjät tarvitsevat erilaisia työkaluja Visual Studion tuesta, kääntäjistä ja kehyksistä (yhä useammin saatavilla), halvoista kehittäjälaitteista natiiviin testaukseen (Snapdragon Developer Kit on odotettavissa myöhemmin tänä kesänä) ja pilvipalvelin-VM:istä laajamittaiseen testaukseen (siihen tarvitaan luultavasti Windows Server Arm -rakennus, ja useat avoimen lähdekoodin projektit odottavat sitä edelleen).

Aina ei kuitenkaan ole mahdollista kääntää koko sovellusta kerralla uudelleen, ja joskus on ajateltava muutakin kuin vain ydinsovellusta. Office- ja Photoshop-sovellusten kaltaisissa sovelluksissa on kolmannen osapuolen liitännäisohjelmia, jotka voivat olla asiakkaille yhtä tärkeitä kuin pääohjelma, eivätkä niiden yksittäiset kehittäjät välttämättä siirrä niitä Armiin.

Windows 10 on Arm käyttää CHPE-järjestelmää, joka on käännetty hybridi, siirrettävissä oleva suoritettava tiedosto, joka on erityisesti käännettyä ARM64-koodia, jota x86-koodi voi kutsua ilman, että 32- ja 64-bittisten tietotyyppien sekä Intelin ja Armin konventioiden välillä tarvitsee koko ajan siirtyä edestakaisin. Tämä tarjoaa hyvän suorituskyvyn ja mahdollistaa sen, että laajennukset, joita ei ole siirretty Armille, voivat työskennellä sovellusten kanssa, jotka on siirretty, mutta CHPE:n rakentaminen on monimutkaista, ja vaikka Office käytti tätä tekniikkaa, se ei ollut kolmannen osapuolen kehittäjien saatavilla. Se oli myös suunniteltu 32-bittistä emulointia varten, jota Windows on Arm alun perin tuki.

Windows 11:n myötä CHPE korvataan ARM64EC:llä (Emulation Compatible). Tämä ARM64:n supersarja antaa kehittäjille edelleen mahdollisuuden yhdistää Arm- ja Intel-koodia – tällä kertaa sekä 64- että 32-bittisen koodin osalta – joten kehittäjät voivat siirtää oman koodinsa pala palalta. Jos he tarvitsevat kirjaston, kehyksen tai muun riippuvuuden, jota ei ole vielä saatavilla ARM64:lle, heidän ei tarvitse jättää koko koodiaan emuloitavaksi. Kaikki koodi ei tarvitse natiivin suorituskyvyn nopeutusta; kehittäjät voivat tehdä tarvittavat siirtotyöt ja jättää ei-CPU-intensiivisen koodin, kuten käyttöliittymän, emulointiin, kunnes he tarvitsevat tai haluavat siirtää sen.

Suuri muutos on kuitenkin se, että laajennukset toimivat ARM64EC-koodin kanssa riippumatta siitä, onko ne siirretty ARM64:lle vai ei, eikä tämä enää rajoitu pelkästään Officeen. Adobe, Corel, Autodesk ja kaikki muut ohjelmistotuottajat, joiden ohjelmissa on kolmannen osapuolen lisäosia, joihin käyttäjät luottavat, voivat nyt siirtää sovelluksensa Windows on Arm -käyttöjärjestelmään menettämättä näitä lisäosia (ja ne voivat laittaa ne uuteen, joustavampaan Microsoft Storeen). Aluksi heidän on käytettävä Visual Studion esikatseluversiota ja Visual C++:a, mutta muut kääntäjät pystyvät tukemaan ARM64EC:tä, kun Microsoft dokumentoi tarkemmat yksityiskohdat.

KATSO: Windows kehittyy: Windows 11 ja Windows 10:n tulevaisuus (TechRepublic)

ARM64EC-koodia käyttävät sovellukset eivät näe Windowsissa mitään erityistä – ne käyttävät tavallisia ohjelmatiedostoja ja rekisteriä. Windows on Arm -tiimin Pedro Justo kirjoitti LinkedInissä, että ”ARM64EC:lle käännetty koodi toimii natiivinopeudella ja lähes samalla tehokkuudella”, joten kehittäjät eivät menetä Armille siirtämisen etuja, mutta saavat mukavasti yhteentoimivuutta olemassa olevan x86- ja x64-koodin kanssa.

Office on siirtymässä CHPE:stä ARM64EC:hen 64-bittisessä ARM-versiossaan, jotta x64-liitännäiset toimivat sen kanssa, ja Windows 11 käyttää jo ARM64EC:tä järjestelmä-DLL:ssä, joten emulaatiossa toimivat x64-sovellukset saavat järjestelmäkoodin, joka toimii natiivinopeudella.

(Jos katsot niitä kehittäjätyökaluilla, niitä ei ole merkitty ARM64EC:ksi vaan ARM64X:ksi; uskomme, että tämä viittaa koko Windows on Armin X64-emulointijärjestelmään, josta ARM64EC on yksi osa.)

Ei enää Snapdragon 835 -tukea

Vielä ei ole selvää, kuinka paljon tästä työstä tulee Windows 10 Arm -laitteisiin, mutta hybridi-ARM64X-DLL:t ovat jo Insider-rakennelmissa 64-bittisellä emuloinnilla; Microsoft ei vain ollut selittänyt paljon siitä, miten ne toimivat ennen Windows 11 -ilmoitusta.

Valtaosa Windows on Arm -laitteista pystyy käyttämään Windows 11:tä. Mutta vaikka Microsoft kertoo, ettei sillä ole Arm-versiota PC Health Check -yhteensopivuustyökalusta, jota se tarjosi ja jonka se sitten veti pois vasta lähempänä julkaisua, varhaisimmissa malleissa, kuten HP Envy x2:ssa, käytettiin Snapdragon 835:tä, jota ei tueta, kuten jo tiedämme.

Tämä ei johdu siitä, että Windows 11 on nyt vain 64-bittinen käyttöjärjestelmä. 32-bittinen Arm-tuki koski Windows IoT:tä eikä Windows on Arm -tietokoneissa, ja 835 on ARM64-järjestelmä, mutta siinä on aikaisempi versio Arm-järjestelmäarkkitehtuurista (v8.0), joka ei sisällä joitakin Arm v8.1 -ohjeita, jotka nopeuttavat emulointia ja virtualisointia.

KATSO: Kuvia: Windows 11:n ominaisuudet, jotka sinun on tiedettävä (TechRepublic)

Kaikkien käyttäjätilan ARM32-sovellusten pitäisi silti toimia Windows 11:ssä. Jotkin Microsoftin sovellukset, jotka ovat toimineet emulaatiossa – erityisesti Teams ja OneDrive – ovatnyt kuitenkin muuttumassa natiiveiksi ARM64-sovelluksiksi, mikä parantaa akunkestoa ja suorituskykyä (ja osoittaa, että Microsoft ottaa Windows on Arm -käyttöjärjestelmän tosissaan).

Windows 10 hyödyntää jo nyt Arm v8.1:n muistiparannuksia nopeuttaakseen emulointia Snapdragon 850- ja 8cx-laitteissa, mutta Hyper-V:n suorituskyvyn parantaminen on yhä tärkeämpää Windows 11:n hyvän suorituskyvyn kannalta, sillä Windows 11:ssä otetaan käyttöön useita virtualisointiin perustuvia turvallisuusominaisuuksia.

Sillä on merkitystä myös sellaisille ominaisuuksille kuin Windows Subsystem for Android, joka perustuu Intelin Bridge Technology -tekniikkaan (joka tunnettiin aiemmin nimellä Houdini); binäärikääntäjä Androidin Arm-sovellusten ajamiseen (Intelillä ja AMD:llä), joka on tietyllä tavalla samanlainen kuin x86-sovellusten ajaminen Windowsissa Armilla. Microsoft vahvisti meille, että ”tämä kokemus toimii kaikilla prosessoreilla”, ja Intel Bridge Technology voi itse toimia emulaatiossa, jos Intel ei siirrä sitä Armille. Microsoft kuitenkin rohkaisee kehittäjiä niputtamaan koodin Intel-versiot Androidin APK:hon saadakseen paremman suorituskyvyn Windows 11 -tietokoneissa, eikä ole selvää, ajaako WSA on Arm tuota APK-koodia emulaatiossa vai lataako se vain olemassa olevan Arm-sovelluksen koodin. Joka tapauksessa virtualisointisuorituskyky on avainasemassa hyvän kokemuksen kannalta.

Toistaiseksi yksikään Windows on Arm -käyttöjärjestelmässä käytetyistä Snapdragon-alustoista ei kuitenkaan toteuta Arm v8.3:a, joka tukee sisäkkäistä virtualisointia ja lisää osoittimien todennuksen estämään Return-Oriented Programming -hyökkäykset, joita vastaan Windows shadow stack suojaa Intel CET -ominaisuudella.

Ehkä Nuvian hankinnan myötä Snapdragon alkaa toteuttaa uudempia Arm-käskykokonaisuuksia; Arm v8.5:ssä ja 9:ssä on merkittäviä tietoturvaominaisuuksia sekä ohjeita, jotka nopeuttavat koneoppimismalleja, joita esiintyy yhä useammissa sovelluksissa.

Kyseessä voi olla kananmunatilanne. Kun tärkeitä 64-bittisiä Windows-sovelluksia on enemmän, mieluiten natiivilla suorituskyvyllä ARM64EC:n ansiosta, Windows on Arm on kiinnostavampi alusta tietokoneiden valmistajille ja laitteita ostaville käyttäjille, mikä voi pakottaa Qualcommin tarjoamaan parempia laitteistovaihtoehtoja. Mutta jopa nykyisissä laitteistoissa ensimmäisten Windows Insider -rakentelujen avulla näemme pienen mutta tervetulleen parannuksen Windows-suorituskyvyssä Armilla, joka vain paranee, kun natiivit ja hybridisovellukset lisääntyvät.

Katso myös