AIX for IBM system 370
Guy Sotomayor
ggs at shiresoft.com
Mon Feb 1 22:37:21 CST 2016
On 2/1/16 8:11 PM, Eric Smith wrote:
> On Mon, Feb 1, 2016 at 8:09 PM, devin davison <lyokoboy0 at 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
More information about the cctech
mailing list