"Actually Microsoft have been learning from [Unix / Linux] for many years. Examples have included the Mach kernel, WIMP (x-Windows, Icon, Mouse, Pointer) interfaces, multi-user discretionary access control, preemptive multitasking and preventing applications from overwriting the address space of other applications"
Check your facts. Seriously.
Microsoft may not have invented those, but neither did Unix or its descendants. Example: Xerox's PARC may have produced the first well-known implementation of the WIMP paradigm, but the concept dates right back to the 1960s, before Unix had even been invented.
Similarly, pre-emptive multitasking and decent memory management were not invented by Unix either. (And the BSD Mach kernel was the starting point for NeXTSTEP / OpenSTEP, better known today as Mac OS X. Windows, like Linux, is built on an older "monolithic kernel" design.)
Unix and its descendants have been heavily influential in the internet and related networking fields; encouraged the view that hacked-together programs with appalling user interfaces are somehow a Good Thing, and also bears some responsibility for the undeserved ubiquity of the C family of programming languages today.
(Oh yes: decent memory management requires a decent MMU. This is a piece of *hardware*, not software. You can fake most of it in code, but without that hardware support, it's never going to be as good.)