Microsoft holder lav profil om Windows 8 på ARM

Illustration:
Windows 8 skal kunne køre på både x86- og ARM-processorer, men på Build-konferencen har Microsoft kun vist ARM-enhederne frem i korte glimt, før de blev gemt væk igen.

ANAHEIM. Da Steve Ballmer første gang viste, at Microsoft var på vej med Windows 8, spillede han et trumfkort, der hovedsageligt skulle sende et signal til Apple og Google: Windows 8 kunne køre på ARM-processorer.

Læs også: Ballmer bekræfter: Næste Windows kan køre på ARM

På CES-messen i januar kørte Microsoft en version af Windows 8 på en prototype af et nyt bundkort med en ARM-baseret processor, og selskabet holder fast i, at Windows 8 vil udkomme til både x86-arkitekturen og ARM.

Men på Build-konferencen i denne uge har Microsoft kun vist ARM-enheder frem i korte glimt på scenen for hurtigt at gemme dem væk igen. Den tavlecomputer, som deltagerne har fået udleveret, er da også baseret på en Intel Core i5-processor.

Det skyldes næppe nogen politisk beslutning om ikke at fornærme den mangeårige partner Intel, som afholder dets egen udviklerkonference, IDF, i denne uge i San Francisco.

Derimod er det mere sandsynligt, at Microsoft har længere vej i mål på ARM end på x86 med hensyn til at have køreklar version af Windows 8, som kan tåle at blive vist frem.

»ARM er stadig noget, vi arbejder på,« sagde divisionschef for Windows, Steven Sinofsky, på et pressemøde forud for Build-konferencen.

Microsoft fremviste en tavle-pc med Nvidia-logo på, som angiveligt kørte med en prototype af Nvidias kommende Tegra 3-processor.

For udviklerne betyder tavsheden, at der fortsat er en række ubesvarede spørgsmål i forhold til, hvad der kræves for at udvikle applikationer, som vil kunne køre på de to forskellige arkitekturer.

Microsoft har med Windows 8 introduceret en helt ny underliggende arkitektur i Windows for Metro-applikationerne kaldet Windows Runtime eller WinRT. Den betyder, at man kan bruge Javascript, C#, Visual Basic eller C++ til at lave Metro-applikationer, som alle bruger det samme API.

WinRT er forskelligt fra Win32, der er det nuværende miljø for fulde Windows-applikationer. Win32 vil også eksistere i Windows 8, så der vil i praksis være to API-miljøer side om side, om end visse systemkald vil overlappe mellem de to.

WinRT betyder også, at eksempelvis C# kan køre tættere på selve Windows-kernen, og .Net-sprogene får mulighed for at køre asynkront med nogle få kommandoer, så man som udvikler ikke behøver programmere i flere tråde.

På ARM ser det dog ud til, at det kun bliver WinRT eller rettere en variant af WinRT, der bliver tilgængelig for udviklere. Hvis man vil portere applikationer mellem ARM og x86, har man i praksis ikke den samme valgfrihed mellem sprogene, som hvis man udelukkende holder sig til x86.

»Hvis du bruger Javascript eller C#, så vil det kunne køre på ARM,« siger Steven Sinofsky.

Microsoft har før vist en ARM-version af Office 2010 frem, men det er usikkert, hvorvidt der reelt vil blive lanceret en fuld Office-pakke til ARM samtidig med lanceringen af Windows 8.

»Vi har ikke tænkt os, at man skal portere alle de gamle x86-applikationer til ARM,« siger Steven Sinofsky.

Han peger på, at det ikke blot er et spørgsmål om at kompilere applikationerne på ny til den nye arkitektur, men at applikationerne i mange tilfælde skal ændres fundamentalt.

»Hvis man har en applikation, der for eksempel bruger Suspend, så vil det ikke virke på ARM-hardwaren. Processen vil blot dræne batteriet, og så vil det underminere alt det arbejde, vi har lagt i at gøre Windows 8 parat til ARM,« siger Steven Sinofsky.

Dermed står det også klart mellem linjerne, at Windows 8 på ARM ikke bliver fuldstændig identisk med Windows 8 på x86. Man vil kunne køre Metro-applikationer skrevet til WinRT på ARM-enhederne, men som udvikler vil man ikke få adgang til det fulde Windows API.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Esben Nielsen

Windows største værdi er, at alle mulige gamle programmer kan køre på det. Hvorfor skal man køre Windows på ARM, hvis programmerne end ikke kan porteres med over?

På Alpha forsøgte man i det mindste at emulere x86, så programmerne ikke engang skulle porteres. Men måske var det en fejl: Så blev de slet ikke porteret, men kørte blot rigtigt langsomt.

Sjovt nok kan Apple tilsyneladende nemt skifte arkitektur. Skyldes det, at MacOSX grundlæggende er Unix, hvor API'erne ikke er bundet til en bestemt Intel arkitektur? De andre Unix baserede OS'er (Linux, FreeBSD) har heller ikke det problem; men det hjælper også af at programmerne er Open Source så de relativt nemt kan rekombileres til en ny arkitektur.

  • 4
  • 0
#4 Torben Mogensen Blogger

På Alpha forsøgte man i det mindste at emulere x86, så programmerne ikke engang skulle porteres. Men måske var det en fejl: Så blev de slet ikke porteret, men kørte blot rigtigt langsomt.

Det er bestemt også muligt på ARM. Men jeg tror mere, at problemet ligger i, at der endnu mangler drivere til ARM-baseret hardware (grafik, lyd, i/o, osv.), og det kan man ikke løse med en simpel emulering.

Sjovt nok kan Apple tilsyneladende nemt skifte arkitektur. Skyldes det, at MacOSX grundlæggende er Unix, hvor API'erne ikke er bundet til en bestemt Intel arkitektur?

Før det første processorskifte (fra Motorola 68K til PowerPC) var MacOS ikke en BSD-variant. Så det skifte gik ikke helt så smertefrit som det næste, og der var en del ting, der kørte emuleret. Noget andet, der gjorde det nemmere for Apple var, at de selv havde 100% kontrol over hardwaren, så de kunne vælge grafikkort m.v., som de nemt kunne lave drivere til -- og de behøvede ikke at lave drivere til andre.

Windows hardware er mindre homogent, så der er et hav af drivere, der skal skrives. Microsoft har da også meldt ud, at de (i hvert fald i starten) vil begrænse hardwarevalget til ARM-baserede Windows 8 enheder.

  • 4
  • 0
Log ind eller Opret konto for at kommentere