Why IT Pros Should Prepare for Microsoft's Stealth Library OS
Could there be a day when the desktop or mobile operating system you use and developers program to don't matter? The age-old question may not be answered any time soon and don't expect to see any of this in Microsoft's next client OS. But IT pros should prepare themselves for the possibility that Microsoft or other players may someday successfully commercialize a "library operating system" where developers rely primarily on APIs to run their applications, not a client OS or even a virtual machine.
While researchers have bandied about the concept of a library OS for some time, Microsoft Research revealed its own work on one back in 2011 with a project called Drawbridge. Microsoft Research Partner Manager Galen Hunt joined others at the time to outline in detail their working prototype of a Windows 7 library operating system that ran then-current releases of Excel, PowerPoint and Internet Explorer. In this desktop prototype, they said the securely isolated library operating system instances worked via the reuse of networking protocols.
"Each instance has significantly lower overhead than a full VM bundled with an application: a typical application adds just 16MB of working set and 64MB of disk footprint," according to a paper published by the widely regarded Associated for Computer Machinery (ACM) at the time. "We contribute a new ABI [application binary interface] below the library OS that enables application mobility. We also show that our library OS can address many of the current uses of hardware virtual machines at a fraction of the overheads."
Little has been said by Microsoft's library OS efforts since then. Yet three years later, Microsoft's stronghold on the desktop has been diminished by the rapid growth of BYOD. While Microsoft hopes to revive enthusiasm for Windows with a new offering next year, others believe it may be too little, too late. That remains to be seen of course. Nevertheless, Microsoft could have a lot to gain by someday delivering a library OS.
Don Jones, a Microsoft MVP and a Redmond magazine columnist, who recently joined IT training firm Pluralsight, revived the idea of why a library OS could be the right approach for Microsoft to take. And he did so right in Microsoft's house. Speaking in a keynote address at the TechMentor conference this week at the Microsoft Conference Center on the Redmond campus, Jones explained why a library OS could reduce existing operating systems to the firmware layer, putting the emphasis on APIs and application delivery rather than low-level services.
"We tend to say that developers develop for a specific operating system -- iOS, Android, Windows, Macintosh or Linux," Jones told the audience of IT pros. "It's not actually true. They don't. What they are writing for is an operating environment. What they are writing for is a set of APIs."
The APIs which developers code against today are tied to a specific operating system, whether it is Apple's interfaces to iOS or Microsoft's .NET Framework. Efforts to make APIs that work across operating system s has remain ed unsuccessful, Jones noted
"Even when we make efforts to duplicate those APIs for other operating systems with projects like Mono, attempting to duplicate .NET onto the Linux platform, they are rarely successful because the ties between the APIs and the operating system are so integrated," Jones said. "It's really tough to pull them apart and duplicate them elsewhere."
Jones called for a smarter BIOS so when users turn on their computers, it knows how to access the network, write to a display or disk and other basic low-level services, including CPU and memory access and storing user credentials in a secure area.
"This is going to sound crazy but if you take all of Windows and you refactor it into a bunch of APIs that talk to that low-level firmware and if a developer wants to code to those, he or she can," Jones said. "But at the same time, if someone is more comfortable programming against a Linux set of APIs, there's no reason those same APIs can't live on that same machine and run in parallel at the same time because it's not taking over the machine, it's the firmware that runs everything. These are just different ways of getting at that firmware that provides a different comfort level for developers."
In this type of scenario, Jones added: "Windows essentially becomes a set of DLLs, which essentially is not that far from what it is. So we move the operating system to a lower level and everything else is a set of APIs that run on top of that. Meaning you gain the ability to run multiple operating system personalities with APIs side by side because none of them owns the machine."
Can, or will, Microsoft bring this to market? Certainly Hunt believed it's feasible. "Our experience shows that the long-promised benefits of the library OS approach -- better protection of system integrity and rapid system evolution -- are readily obtainable," he wrote at the time.
Jones said not to expect it anytime soon, and warned it's possible it may never see the light of day. But he pointed to some meaningful reasons why Microsoft could be leaning in that direction, or at the very least could benefit by doing so sometime in the future. Perhaps most obvious is the company's key emphasis and investment is on building out the Microsoft Azure cloud and the Windows Server/System Center-based cloud OS that underpins it.
Jones also pointed to Microsoft's new Azure RemoteApp service, which the company announced at TechEd in May and is available in preview. Microsoft Azure RemoteApp, an application delivery service, will let IT deliver Windows applications to almost any device including Windows tablets, Macs, iPads and Android tablets via the cloud. It will work with 1,300 Windows apps, Microsoft said at the time, though the company has yet to announce its plans to offer Azure RemoteApp commercially.
"RemoteApp delivers an app, not a desktop, not an operating system," Jones said. "What the user gets is an app, because the user has been trained that's all they need." Jones also likes the idea of a library OS because it eliminates virtualization, he added. "We don't have to have an operating system and a virtual machine rolling it up. We just have these little API silos," he said. "Suddenly the idea of running applications in the cloud and delivering them becomes a lot clearer and a lot easier and you can get a lot better densities on your hosts."
The role of desktop administrators may not disappear overnight but it would not be a bad idea for them to study and gain expertise on the datacenter side of things if this move comes to play. "Look at what's happening in your environment, and whether you think it's a good idea or not, try to predict what you think Microsoft will or might do and then try to make a couple of side investments to line yourself up so you can ride the bus instead of being hit by it."
Would you like to see Microsoft deliver a library OS? Share your views on the potential benefits or pitfalls of such a computing model.
Posted by Jeffrey Schwartz on 08/15/2014 at 12:01 PM