Architecture of Windows 10

Introduction

In this article, I will try to differentiate Windows 10 from the prior releases of it. I will provide a small overview of the concepts of how Backward Compatibility of the Apps are possible in Windows 10 and the Converged Kernel approach to Windows 10.

Windows Core

This is worth pointing out that finally, we have reached a point where the Windows core has a common set of APIs that provide, for the first time, a true binary compatibility with loads of platforms. Microsoft has been shipping complete sets of OS(s) for a decade now and there were many similarities among them, viz Windows Phone, Windows CE and Windows RT. Most of them were same, but the underlying layer was different. The Windows Core now is that common refactored core that is common for all the Windows Releases be it for Mobile or Desktops.

Windows Core is very small and reduced subset of all the versions of windows. This is done to keep in mind that Windows can now have one single codebase rather than a shared codebase and also the usage on a entire range of various devices that range from IoT to Desktops.

The Convergence Journey


The converged Kernel approach made a significant difference in shaping Windows 10. The Xbox 360 and Windows 7.5 begun having the new look and feel that later got modified in Xbox One (inclusion of a dashboard and so on) and with Windows Phone 8, the look and feel was fully embedded. But there was a big difference underneath that lead the users and developers to Windows 8.1 for Mobile and Desktops. This created the Converged App Model and resulted in the possibility of the development of “Universal Apps”. But now with Windows 10, we not only have the Kernel in common, but also all the fundamental pieces of the OS. Also, the applications that were Universal Apps had two separate binaries whereas now the Windows Core has one single binary across all platforms.

Universal App Platform

The UAP is a collection of contracts and versions. This is the new platform on which the developers will be writing their applications. The UAP is built on the Windows Core that is a collection of Low-Level APIs that are arranged in the form of Contracts.

Contracts

Contracts are a kind of assurance given by Microsoft to App Developers stating that they can now start building against the UAP. Microsoft will ensure that no matter what Windows platform and device the users are on, they will be able to run it and Microsoft will ensure that the App runs smoothly on the previous compatibile version as well.


This essentially means that the developers will no longer write the application targeting Windows, rather they will write it against the UAP and Microsoft will guarantee that the applications will run on all platforms.

How the UAP helps developers

The developers who get tired of testing their applications for the ever-evolving build of Windows can now safely rely on the UAP that ensures that no matter what they target and whichever version they target, they will have the application running. So, developers don't need to worry much about which specific Windows to test on.



The values above are fictitious

The idea is to target a platform and set a minimum version that is basically the version it was written on and a maximum version of where it was tested on.