Downwards compatibility in Linux/GNU software.
Hi:
Is there downwards compatibility in GNU software including the linux kernel? Example: can Gnome from Slackware 9.2 run on Slackware 10.2 (only an example)? |
AFAIK there is some compatibility, although not much. Especially with Rolling Release distros. There's much more of compatibility in Windows.
|
Aha... That's not exactly good news. I thought things were more like in DOS/windows. Thanks for your post.
|
Honestly, that's such a vague question that it can only get a vague answer ... not worth much. Be specific.
|
Downwards compatibility is a well-defined concept. Besides I gave an example. If a new processor is launched, it can be specified as downwards compatible with older processors in its family. This means that software running on older CPUs will run in the new one. In software we have the same concept: new O.S, and suppose all software running on the old O.S. runs on the new. There you have downwards compatibility. There is upwards compatibility too.
|
Some-one once said that the philosophy of Unix on backwards compatibility is "people standing in the way of progress get run over"! If new versions of things are free, why stick with the old ones?
|
I'm very interested in this aspect. So, is Unix like Linux in this respect?
|
Quote:
Quote:
|
Take Unix 7, if you like.
|
I don't know, it's too ancient.
|
Quote:
Let me put it this way, you don't even need a Linux kernel to run gnome, why should it affect it. |
Mine is a purely naive question, honestly made. I have programs released for MS-DOS 5.00, so I'm speaking of the 80's. You can now run almost all of them. The exception is given by those who make direct I/O and other niceties. From the moment Windows was the true O.S (no longer DOS) there was no way to put the processor into real mode and, hence, direct I/O causes exceptions.
I made it too long. I mean that up to Windows NT there was true downwards compatibility. I only mentioned the kernel to speak about the whole O.S. |
Quote:
|
"The Linux System," and "The GNU Software System," consist of hundreds of components. So, "backward compatibility" really means that the components that this-or-that app needs are available ... or newer components that are backward compatible.
Libraries usually "grandfather in" older calls, and so generally does the kernel. But some calls are essentially retired, and sometimes the architecture of the underlying system (e.g. the process/thread model) does change substantially and is not quite compatible. One nice feature of the Linux system (vs. Windows) is that you can easily install more than one version of the same components, e.g. a library, on the system at the same time. Your apps can be as generic or as specific as they care to be about what they want. You can run a very old version side-by-side with a much newer one without conflict. Kernel system-calls are almost never an issue since, almost invariably, they're made for you by libraries. |
Moved: This thread is more suitable in Linux-General and has been moved accordingly to help your thread/question get the exposure it deserves.
|
All times are GMT -5. The time now is 03:25 PM. |