[rescue] DEC keyboards
Jonathan C. Patschke
jp at celestrion.net
Wed Nov 15 13:58:46 CST 2006
On Wed, 15 Nov 2006, William Kirkland wrote:
> I do not understand why you resist the concept that a properly managed
> piece of code (the OS in this case) can not be portable.
At a practical level, sure, OSes are portable. In reality, though, most
of the OS doesn't "port" so much as huge portions of it are
reimplemented with the same intrakernel API.
Which parts of the OS are portable? The scheduler is usually portable
(assuming you're moving from one uniprocessor/SMP/NUMA system to
antoher). The filesystems are portable (modulo endianness). The
namespace layer is portable. The upper bits of the network stack are
Most everything else: the program loader, the memory manager, bus
management/enumeration bits, and task-switcher are all
Many device drivers are portable in theory (provided that you have the
proper bus abstractions to deal with bus endianness and word-size
differences), but there are plenty of devices that you just don't find
on more than one platform, and, in the case that you do, they're on
wildly different buses. Consider the AMD "Lance" family of Ethernet
controllers. Variants within that family can be mated against ISA, PCI,
sbus, TURBOchannel, VME, Zorro, and probably NuBus and MCA, too.
Each one of those buses has a different way of asserting control of the
bus, a different way of moving data on the bus, a different method of
resource arbitration, etc. Nevermind that if you're getting into DMA on
those various platforms, you're not just dealing with bus-specific
behavior, but system-specific behavior. In this sense, portability
grows out the barrel of an #ifdef.
By the time you consider the whole stack of software from application to
silicon, two machines running "Linux" or "NetBSD" may, in fact, be
largely running completely different things.
Jonathan Patschke ) "Some people grow out of the petty theft of
Elgin, TX ( childhood. Others grow up to be CEOs and
USA ) politicians." --Forrest Black
More information about the rescue