On 2/1/16 8:11 PM, Eric Smith wrote:
On Mon, Feb 1, 2016 at 8:09 PM, devin davison <lyokob...@gmail.com> wrote:
I really wanted to take a look at the AIX version of unix.
I don't have any of the original hardware, I assume there was a straight
unix port for the system 370,
There may be a "straight unix port" for the System/370, but AIX ain't
it. The earlier IX/370 product may be closer to a straight port, but
is probably even less easily found than AIX/370.

"AIX looks like it was implemented by a pretty smart space alien who
heard Unix described to him by a different space alien, but they had
to gesture a lot because their universal translators were broken."
     --unknown, but often misattributed to Paul Tomblin
You have to remember that IBM called all of it's UNIX products AIX regardless of where
they came from.

IX/370 was prior to the AIX naming and if I recall, that was done by Interactive. AIX/370 and AIX PS/2 actually were the same code base (as opposed to AIX RT and AIX 3...RS/6000).
Those code bases were from Locus Computer Corporation.

The AIX in the quote was regarding AIX for the RS/6000. The kernel for AIX on the RS/6000 bore no real resemblance to any other Unix kernel. That was mainly due to the size of the virtual address space of the Power processors. At the time (32-bits) the Power CPU supported a 52-bit virtual address space and with 256MB segments, it was possible to map the 4GB address with 16 segment registers also because Power used "inverted page tables", there was no real notion of reloading the page tables. The page table described the full 52-bit address space. So to do an address space switch, you just needed to reload a significant set of the segment registers
(actually quite fast).

What the kernel did was to allocate each data structure as an array and pointed a segment register at it. Since at that point, virtual addresses were "free", it was just point a segment register at the array and away you go. Pretty much everything in the kernel was an index into an array. Which array, was determined by the segment
register.

Yes, it was alien (vs traditional Unix kernels) but it was simple and quite fast.

TTFN - Guy

Reply via email to