[NCLUG] Fix man pages

John L. Bass jbass at dmsd.com
Sun Oct 24 15:32:10 MDT 2004


Alan Silverstein <ajs at frii.com> writes:
> I remember those good old days.  Also the kernel was as small as
> possible and you did everything that wasn't hardware-specific in
> userland.  This fell to the implacable demand for increased performance,
> even as systems continued to get faster anyway.

That really isn't a very fair assessment of the design considerations
in 1972. Even as late as 1976 most machines still had real "core"
memory with several microsecond access, and 2-3X cycle times. The
physics of flipping the magnetic direction of the cores was a fundamental
design speed for all core based systems from the mid 1960's thru the
mid 1970's. The kernel was small, because a "large" minicomputer machine
only had a 32K word 16bit memory until the PDP 11/45 came along with
split/separate address and data segments. So sparse, simple, code for
minicomputer systems was just a fact of life that didn't have ANY
alternative, other than the $5M (and up) larger systems from IBM, CDC,
and the like which would support large address spaces/memory.

Prior to UNIX and C, the system programming language of choice was
pure assembler ... and the two most common application programming
languages were COBOL and RPG (a crude 407 tab card emulator like
language). I spent 1969-1974 as a systems programmer on IBM 1401's
and IBM 360's before jumping ship to timesharing systems and minicomputers.
C at the time was a VERY refreshing change from assembly code, and
everybody was still learning about that BIG jump forward. UNIX V5
was nearly half ASM, and V6 was about 20% ASM. It wasn't until V7
in 1979 that nearly all the asm had been replaced -- and in particular,
late V7 systems ported to microcomputers finished most of that job.

I completed the first commercial microprocessor UNIX V7 port in a
little over twelve 100 hour weeks between April to June of 1980
to the Zilog Z8002 CPU. I did the entire cross architecture kernel,
drivers, memory management, standalone boot environment, and
library interfaces port by myself in that time. Another team
member did the rest of the libraries, assembler and linker. Another
did the C compiler and related tools. Another did the machines
boot firmware and diagnostics. Four programmers, four months from
working hardware to ship. Even this machine was only about the
speed of an 11/45 with solid state memories - not even a full
MIP of CPU/Memory performance. But it was HUGE ... 256KBytes of
memory built from 4KBit devices (and later 16KBit devices), and
a very cheap $25K by the standards of the day, when even a used
PDP 11/45 would set you back $100K with enough peripherials to
support a 25 user UNIX environment.

>From a real perspective, prices fell from 1970 to 1980 for machines
of roughly the same configuration and performance. After 1980, we
see huge leaps and bounds as machines grew in size and performance
for the same price. Moore's Law.

Large address space machines outside banks, government and large
universities really didn't start till the introduction of the
VAX in 1979 and 1980, and the Z8001 and M68000 microcomputer
UNIX machines that became available starting in 1982. At Fortune
Systems we started shipping M68K machines that would support
1MByte of memory in early 1982 for a mere $20 grand.

That is the point where functionality was allowed to dominate,
since counting EVERY byte of a program was no longer necessary.

John



More information about the NCLUG mailing list