4 ms·
> I thought Linux also had a very strict ABI compatibility policy also. Yes, it does. > But if you had a fully-statically-linked binary (and enabled a.out sup
by cbd1984 12y ago
> I thought Linux also had a very strict ABI compatibility policy also.
Yes, it does.
> But if you had a fully-statically-linked binary (and enabled a.out support if necessary), I think Linux should also support very old binaries.
And it does.
- danjayh 12y agoMicrosoft 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.
- cbd1984 12y agoAnd 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.