3 ms·
Linus’s thesis contradicts this. The original Linux was not only extremely PC-centric, it wallowed in features available on PC's and was totally unconcerned wi
by relaxing 6y ago
Linus’s thesis contradicts this.
The original Linux was not only extremely PC-centric, it wallowed in features available on PC's and was totally unconcerned with most portability issues other than at a user level. The original Intel 80386 architecture that Linux was written for is perhaps the example of current CISC design, and has high-level support for features other current CPU's would not even dream about implementing (see for example [CG87]). Linux did not even try to avoid using the x86 features available to those early versions — quite the opposite. Linux started out as a project to find out exactly what you could do with the CPU, and as such it used just about every feature of the CPU you could find ranging from using segments for inter-process protection to hardware assisted process switching.
However, the initial unportable approach was a case of an unportable implementation rather than an inherently unportable design. The goal of being compatible with other UNIX's resulted in a system that had portable interfaces despite the implementation details. That portable design essentially made Linux itself reasonably portable.
The first Linux that was based on a architecture different from the Intel 80386 was the port of Linux to the Motorola 680x0 family that actually got started rather early in the development of Linux. However, the original Linux/68k project was not really concerned with portability, but rather with making Linux run on 68k-based Amiga and Atari computers.
...
While the Linux/68k project was in itself a huge step forward, the real portability work began when the author was offered an Alpha system by Digital in the hope of making Linux work on the new Alpha architecture. Very early it became clear that in order to be able to maintain both the stable Intel-based platform and support a new and in some respects radically different platform the kernel really needed some major re-engineering to make it fundamentally more portable. The issues and the end result is what is described in this paper.
- ArtWomb 6y agoLooks like I got my timeline somewhat backwards! Initial Linux build was the 32-bit x386 version, though 68k amiga portability also started rather early. Ultimately resulting in a variant for the 64-bit dec alpha, after receiving an AlphaStation 500. My recollection of the AlphaStation circa 2000: it was indeed a powerhouse for CAD type apps, though Silicon Graphics would come to dominate in arenas like Hollywood. Thanks for clarifying ;)