Microsoft accomplished this with dynamically linked applications, which is a more difficult feat. It also led to 'DLL hell', but they have resolved this fairly effectively in modern versions of windows (at the cost of using gobs of hard drive space, mitigating the benefit of dynamic linking to some extent). In Windows 8 they've introduce a technology called 'page combining' which mitigates some of the problem in physical RAM. It does exactly what it sounds like - it searches RAM for identical pages, and when it finds them, it manipulates the page table to use one physical copy for all of the virtual copies. If some process tries to modify it, a copy-on-write operation is performed. This significantly reduces physical memory usage in Windows 8.
And Linux (and all Unices, as far as I know) have done the same thing without DLL Hell by using versioned share object files, the .so.0.1 and so.1 and so on you see on the end of binary libraries.