Slashdot Mirror


Microsoft Ready To Talk Windows On ARM

An anonymous reader writes "After many months of working in secret, Microsoft is nearly ready to start talking about its plans to bring Windows to ARM-based processors. However, while the company is set to discuss the effort at next month's Consumer Electronics Show, there is still a lot that must be done before such products can hit the market. Among the steps needed is for hardware makers to create ARM-compatible drivers, a time-consuming effort that explains in part why Microsoft is talking about the initiative well ahead of any products being ready. Meanwhile, Ubuntu is already starting to ship on some ARM devices and running on many others."

28 of 342 comments (clear)

  1. No surprise by MightyMartian · · Score: 3, Insightful

    It's not exactly a surprise. Don't produce something for ARM, and it's likely that Microsoft will be left in the dust in the few years on a major platform. I wonder if the NT guts of newer versions of Windows are still as portable as they were a decade ago.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
    1. Re:No surprise by gbjbaanb · · Score: 4, Insightful

      The NT Kernel might be, even after all this time slapping whatever each release thinks is a useful feature into it, but who cares about that. I think I can guarantee Office will not run on ARM, so its pretty much dead already.

      Then there's the reason to run Windows at all - the 3rd party apps that are x86 only (many are not even x86_64 yet) and they won't run either. So all in all, this is just fluff. If you want a low-energy server farm full of ARM CPUs (and who wouldn't!) then you might as well run Linux there - many, many server apps run Linux anyway. If you want ARM on the desktop, don't hold your breath, and if you want ARM mobile .. you already have it, even for WinPhone 7.

      So, I'm confused. The ARM share price has done well from the rumour, but we'll see what astounding piece of underwhelm-dent gets revealed at CES.

    2. Re:No surprise by PRMan · · Score: 4, Interesting

      Actually, there's a video of Mark Russinovich talking about all the changes they made to the kernel to make it more portable. They broke it into 3 layers: MinWin, Server and Full and cut any ties that went up or down between them. I would say it's more portable than ever.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    3. Re:No surprise by PRMan · · Score: 4, Interesting

      But .NET applications compile Just In Time. So all they have to do is port the .NET framework and compiler and all .NET applications will work with almost no changes, especially if they virtualize the environment to make it look like a desktop (put a phony C: drive on an SD card, etc.)

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    4. Re:No surprise by gilesjuk · · Score: 4, Informative

      ARM chips use a quarter of the power compared to the Atom chips.

      ARM core designs can be licenced and integrated into SOC (system on a chip).

      With Atom you need the Atom chip plus a northbridge chip, with ARM you can use a single chip. More space in a mobile device means more space for batteries.

    5. Re:No surprise by DragonWriter · · Score: 4, Insightful

      The NT Kernel might be, even after all this time slapping whatever each release thinks is a useful feature into it, but who cares about that. I think I can guarantee Office will not run on ARM, so its pretty much dead already.

      I think all they really care about is whether IE, the .NET framework/Silverlight, and things like Office Live will work on it. ARM devices, if they are keyboard & mouse/touchpad devices, are going to be more likely to be ultralight netbooks or nettops rather than desktop-replacement laptops or standard desktops.

    6. Re:No surprise by fwarren · · Score: 4, Interesting

      It is the same situation as MONO. You can write an app that will run on .NET in Windows and Mono in Linux. Write once and compile for each platform. The problem is it is all to easy to call stuff that wont port. The stark and bleak reality is any .NET app written for win32 or win64 will need major work to run on MONO or .NET-ARM.

      As a stupid example. I had to take a Visual Basic programming course. I had to put some output into a multi-line textbox. If I had a choice I would have used a more advanced table control so I could break up the output into columns. Instead, I turned back to my old win32 api programming days and placed a few tab stops into the textbox. This is done with a win32api call, once that is done, the program is non-portable. Any nontrivial app will require some retooling unless it was written from the ground up to be portable.

      Without a plethora of win32 apps, Win-ARM will have issues. Even then those apps are not designed for the iPad sized tablet or netbook. Dialog are to large, icons not sized for a touch display. If you Look at WM7 as well as all earlier WinCE stuff, this is not looking good for Microsoft.

      --
      vi + /etc over regedit any day of the week.
    7. Re:No surprise by shutdown+-p+now · · Score: 4, Informative

      The MSIL just converts the code to win32 calls.

      There is a factual error in pretty much every single word in this sentence.

      First, MSIL does not convert anything. MSIL is the bytecode. It is what gets converted, by JIT compiler.

      Second, it does not get converted to "win32 calls". It is converted to native opcodes on the particular architecture. All "win32 calls" are in the libraries such as WinForms.

      Finally, porting Windows to ARM by definition means "port all Win32 APIs to ARM". So even something that P/Invokes a lot would not be affected.

      MFC has nothing whatsoever to do with this. It's not a system API, and it's not used by .NET standard class library in any way.

    8. Re:No surprise by cbhacking · · Score: 4, Insightful

      Wow, you're wrong on so many levels!

      MSIL doesn't convert anything. It's the code that gets converted. MSIL (more commonly called CIL, for Common Intermediate Language, now that Mono is a working non-MS implementation) is analogous to Java bytecode.

      What does get converted (using a Just-In-Time compiler) is CIL to native code. Typically, this native code is x86 or x64, but there are already JIT compilers for ARM as well. After the JIT completes, the result is saved locally so the overhead is only encountered once.

      As for Win32 calls, there's no "conversion" at all. What happens is that after the CIL gets compiled to native code, it links into libraries (native DLLs) that implement functions for the OS (such as Win32 calls). For example, if a .NET function calls System.IO.File.Create(), when that code is run, a managed code function gets called, and it in turn calls an unmanaged function in the linked library. That library makes the necessary translation into the native API (let's say Win32 on NT), resulting in an unmanaged call to CreateFile(), which in turn goes into the Win32 user subsystem library and gets translated into a NtCreateFile() system call, which is sent to the kernel.

      If you're on another platform, such as Linux, WinCE, OS X, or other, on any architecture at all, the only difference is that you need to write a library that has the same public interface (System.IO.File.Create()) and calls the correct native function on its own platform (open(), for example). The .NET API is large, so it's not trivial to write this layer, but there's nothing specific to Win32 or x86 about it. Mono has already done this (works on Linux, *BSD, OS X, and even Windows) and so has Microsoft (for WinCE).

      As for pure torture, have you contacted the Mono devs recently to express your sympathy?

      --
      There's no place I could be, since I've found Serenity...
    9. Re:No surprise by noidentity · · Score: 4, Funny

      THE show-stopper is malware. It would take years to rewrite that for ARM, which would put this at a disadvantage for years until malware writers had time to port everything. Not even Microsoft can overcome this obstacle.

    10. Re:No surprise by jmorris42 · · Score: 3, Insightful

      > Why not? It's C++ code and runs on x86-32, so it will
      > almost certainly run on ARM with a straight recompile.

      And you would be wrong. Microsoft has done ports to MIPS, PPC, Alpha, Itanium and X86_64. The only ports that have been able to run Office is x86_64 because it can run the x86 version and Alpha because that bad bitch kitty had enough advantage over Intel parts of it's day it could run an emulator for x86 at a good enough clip to let folks run Office. ARM can run in the same weight class with Intel parts but has nowhere the performance advantage to consider emulation. So no, it is doubtful Office is going to be up on ARM anytime soon unless MS has been running a secret project for the last few years.

      Besides, forget an ARM port of Windows. Ain't happening. Any future commercial OSes are going to be Xbox/iPad lockdowns, not the more open environments we grew up thinking of as operating systems. Once Apple proved 3rd party vendors would give up a non-trivial percentage of all sales the days of allowing customers to install anything they want was dead. Ya want that freedom back? Come to the Penguin.

      --
      Democrat delenda est
    11. Re:No surprise by BasilBrush · · Score: 3, Insightful

      Nobody is suggesting ARM as a replacement desktop CPU. But for netbooks and tablets, it's competing against the Atom. And for that it's processing power is in the same ballpark, whilst being much smaller and lower power. That's why Microsoft has to get WIndows running on it. Because they can't make WIndows tablets that are competitive with the iPad unless they do. Not because they imagine ARM replacing X86 on the desktop.

  2. Does this article really need to mention ... by Anonymous Coward · · Score: 5, Informative

    Meanwhile, many other Linux distros have been shipping on ARM devices since before Ubuntu was a distribution.

  3. "Ubuntu is already starting to ship on some ARM... by John+Hasler · · Score: 3, Informative

    ...devices and running on many others."

    Eh. Debian has fully supported ARM for years.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  4. That's nice... by pushing-robot · · Score: 4, Insightful

    But Windows' main (and practically lone) selling point is that it works with all your old software. If they rewrite it for ARM, it may say "Windows" on it but it won't run your apps or play your games.

    And I'm sure users will enjoy discovering that after they buy "Windows" tablets and netbooks.

    --
    How can I believe you when you tell me what I don't want to hear?
    1. Re:That's nice... by MightyMartian · · Score: 3, Interesting

      Microsoft has already stopped supporting a good deal of its legacy software with the 64 bit editions of Windows (no more DOS or Win16 support). Quite frankly, I don't think supporting legacy software is as big a deal as it once was. Write everything under the .NET platform and it isn't that big a deal. Yeah, your old games won't work, but I'm wagering a lot of folks running Windows-for-ARM are not exactly going to be looking at running that old copy of Office 2003 anyways.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    2. Re:That's nice... by TheRaven64 · · Score: 4, Informative

      Apple wrote a translation app called Rosetta

      No, they didn't. They licensed it, from a company that is a spin-out from Manchester University. The same software has also been licensed to a few UNIX vendors to allow them to run legacy code on other architectures (and, in a few cases, to help customers move from a competitor's system).

      It wasn't quite full emulation like a VM - just a dynamic translator, so it had some limitations but it was pretty successful in most cases

      It wasn't at all like a VM. The thing that made it perform well was that it was the opposite of a VM - it emulated as little as possible. It provides a mechanism for including stub libraries, which trap out of the emulator. When you call a function in one of the stub libraries, it tweaks the arguments (swapping byte order and so on) and calls the native version. Since a typical program spends a significant proportion of its time in third-party libraries, this means that even a relatively poor emulator[1] can achieve good performance, because all of the time spent in Apple-provided libraries is spent running native code. This includes all of the Cocoa frameworks, CoreGraphics, and so on. Complex things like text layout and antialiased rendering are all done in the native code.

      Microsoft could easily license the same code and include it with Windows. Almost anything in a system DLL would be native. For a typical app, this is quite a lot of the total run time.

      --
      I am TheRaven on Soylent News
  5. Nahh by Co0Ps · · Score: 3, Insightful

    Streamlined hardware with bloated software? Doesnt sound like a great combo IMO.

  6. Usual Microsoft by surfdaddy · · Score: 4, Funny
    Among the steps needed is for hardware makers to create ARM-compatible drivers, a time-consuming effort that explains in part why Microsoft is talking about the initiative well ahead of any products being ready

    Isn't Microsoft always talking about initiatives well ahead of products being ready?

  7. Re:"Ubuntu is already starting to ship on some ARM by Yvan256 · · Score: 3, Insightful

    Ubuntu is the Arduino of Linux distros.

  8. Why Windows? by Yvan256 · · Score: 3, Interesting

    Why are they trying to keep Windows? Yes it's a well-known brand name, but so is Microsoft. All they have to do is create a tablet-specific OS and leave all the compatibility headaches behind. And even without any compatibility headaches, most Windows applications weren't written with a touch interface in mind, so having a goal of Windows on a tablet is just asking for trouble.

    Microsoft has an opportunity to start fresh, leave the Windows problems behind and create something new. But yet they don't.

  9. Re:ARM now? by Bert64 · · Score: 4, Interesting

    NT was actually more stable on Alpha than it ever was on x86...

    Drivers are not really a problem for ARM, since most of these devices will be small (tablets, netbooks etc) with fixed hardware, the hardware manufacturer will supply the necessary drivers.

    The problem is apps...
    Existing windows apps would need to be at the very least recompiled (or may require significantly more work depending on the code), and with most apps being closed source only the original vendor is in a position to do that... Now as with alpha, ppc mips and ia64, commercial vendors won't port their apps unless they see a market for them... And end users wont buy the platform unless they see available apps, catch 22.

    Linux doesn't really have this problem because the vast majority of applications are open source, and have already been compiled for multiple architectures. If the original author hasn't ever tried to compile the app for another platform, chances are one of the distributors has (debian has been supporting arm cpus for years)...

    The only advantage ARM has over alpha/ppc/mips/ia64 is cost of hardware, if those platforms had been price competitive with x86 they would have had a lot more sales to linux users (i know many people who wanted an alpha but just couldn't justify the cost).

    There is a lot to be said for writing new applications which are actually designed for a tablet or netbook, rather than trying to shoehorn desktop apps onto small devices with different input methods... But if you're going to write new apps, why bother writing them for win32/arm instead of simply writing them for linux?

    The only advantage windows has in this area is familiarity, they would lose their traditional selling point of compatibility/lockin, if you go arm you will need new apps regardless and if people have learned anything over the past 15 years they should take this chance to break free of the lock-in rather than getting caught up in another round.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  10. With such an excellent track record.... by u19925 · · Score: 4, Funny

    Microsoft has an excellent track record of supporting Windows on non-X86 processors. MIPS, PowerPC, DecAlpha, Itanium. With such an excellent track record, I am sure, the industry will take it very seriously and we will see tons of devices, computers in the market very quickly. Thank you Microsoft.

    1. Re:With such an excellent track record.... by Anonymous Coward · · Score: 3, Informative

      Mac Office has been out since 1989. It ran on the Motorolla 68000 and later the IBM PPC.

  11. Re:Windows Phone 7 by Archangel+Michael · · Score: 3, Interesting

    Worse than fragmentation is proves what I've been saying (and getting modded "troll" for it) that Microsoft is a Windows company, not a technology company. Everything they do is trying to leverage Windows. Windows on ARM may just be the stupidest thing they've done. It is as if to say "Me Too On Arm" just to say it.

    Someone needs to fire the board, the top managers and start making some real gutsy calls on direction of the company, or else Apple will eat them for lunch as they keep chasing what Apple and Google have already done.

    I'm kind of feeling sorry for the once great giant these days. They just can't seem to get things right.

    --
    Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
  12. How Dave Cutler got it to work last time ... by perpenso · · Score: 3, Informative

    They can just trot down to the Azure lab and ask Dave Cutler how he got it to work last time.

    The NT dev team's method is no secret, throw everything out and start from scratch.

    FWIW, note "NT" not "Windows NT", it actually started as "OS/2 NT". Back in the day MS was telling people that Windows was a temporary thing for users sticking with DOS rather than migrating to OS/2 1.x plus the Presentation Manager GUI, a 16-bit protected mode environment. IBM was going to do a more expedient x86-only 32-bit version, OS/2 2.0, while Microsoft was going to do a 32-bit portable version targeting various CPU architectures, OS/2 NT. At some point Microsoft decided to split up with IBM and renamed the product Windows NT.

  13. 2 or 2.5 GHz is not slow, it's equivalent. by Futurepower(R) · · Score: 4, Informative

    "They are also a quarter of the speed."

    Apparently you are talking about clock speed, but 2 GHz or 2.5 GHz is not slow compared to the Intel Atom. The speeds are equivalent.

  14. Re:ARM now? by Bert64 · · Score: 3, Insightful

    But if you're not going to run anything which is tied to windows, then what's the point paying more for windows?

    Linux runs a browser, java, flash, vpn, rdesktop and a media player - and it costs less than windows. Backwards compatibility is about the only selling point windows really has.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!