Going back to the summer of 2009, Microsoft has been writing drivers for Linux. More specifically, Microsoft has been working on mainline Linux kernel drivers for their Hyper-V virtualization platform so that Linux guests may run fine atop their Windows Server hosts.
For a while the Microsoft Hyper-V drivers in the Linux kernel staging tree weren't too well maintained and at risk of being dropped, but three years later they are still advancing their Hyper-V Linux support.
As the latest Microsoft patch hitting the Linux kernel mailing list is introducing a Hyper-V balloon driver for their virtualization platform. The Hyper-V balloon driver takes advantage of dynamic memory management supported via Windows hosts. Ballooning allows for growing and shrinking the amount of RAM that is exposed to guest virtual machines on a dynamic basis. Microsoft is also planning to work out memory hot-add support for Linux on Hyper-V too. VMware and others have already supported memory ballooning under Linux.
This latest Microsoft Linux kernel contribution can be found here on the kernel mailing list.
Microsoft officially supports Hyper-V on Linux for SUSE Linux Enterprise Server, Red Hat Enterprise Linux, and CentOS with their GPL-licensed virtualization drivers.
For some related Microsoft Linux reading, see Microsoft's Lessons Learned From Linux and Microsoft: The Unlikely Sponsor Of Linux.