Computing in the early 70s was the classic day of the mainframes, really. And,
at the time, our mainframe was from a British company - it was called ICL:
International Computers Limited, Y' know it was our patriotic duty, in the UK, to
use our ICL computers. Many places wanted to have an IBM computer but they were
more expensive, they were American, there were import restrictions. And within
the universities in the UK, I think only two or three were allowed to have IBMs.
I know Cambridge was one; Newcastle was another. The problem with all of this
is: computers are expensive. We the university can only afford one. You will
have to share it among yourselves. And there's quite a culture clash. Even in
those days the engineers: civil engineers - whatever - structural engineers wanted to
do their calculations. Physicists, chemists wanted other calculations,
biologists ... and, as we know, even people from the Arts Faculty wanting to run
music synthesis programs. we all had to share. There certainly wasn't networks and
Ethernet across the campus. No, if you were lucky what you got was what we used
to call the "dumb terminal". These things were just a screen and a keyboard
There was no embedded processor in the screen, no secret computer. Micro-
computers had not been invented. You had a lump of cable coming out of the back
of this thing, probably going through your building somehow or another and
ending up down in the traditional deep basement, somewhere, leading into a shared
mainframe. And what happened with mainframes was you either arrived with
a deck of cards, or a paper tape, and you ran what's called a "batch job". You
could hand over your job and a bit later on in the day, back would come your line
printer paper with the results on. Or, if you're one of the favoured few, you could
use one of these dumb terminals - glass teletypes they were sometimes called - and
you were in the elite. You were allowed to be an "interactive user"
and under very carefully controlled conditions you could submit your
programs to the system. If there was a lot of output you were encouraged to get
it off a line printer if there was a little bit you could get it back on your
glass teletype but it was not sophisticated - it really was not. And
these mainframes were going bananas trying to share themselves equally among
- shall we say - twenty or thirty simultaneous users. By today's standards
they were hopelessly underpowered so the response was not good. [Holds up disk pack] That's the sort of
disk this is. We've looked it up - it doesn't say on the lettering what it is.
We've looked up - what a Nashua 4464 capacity is - it's 80 megabytes. And let me
say again 80 megabytes not 80 gigabytes And it's in this huge package. The
platters in here have got the magnetic media on there that stores your 1s and
your 0s. But it's not sealed in a package where no dust can get in. Oh no!
You put this down into a thing that looks like a top-loading washing machine in
the laundrette. Oh! good lord! Yeah, I remember now. You pull that down do
you know - have to ask Steve about this - it might well be that you need a special
sort of spindle, coming up, in order to release the platters. I think you do.
So can't get the flippin' cover off and put it in my top-loader washing
machine. But I can't at the moment figure out how to get the lid off! When you look at
the side here there's, what, one, two, three, four, five. Five sixteens are 80. Yeah! they'll be roughly
16 megabytes per platter. Many people were longing to be able to get a
computer of their own that was powerful enough to do what they wanted to do. Of
course computer scientists felt this keenly,
because in many ways we ended up being the real bad sheep in the family. Because not
so much I think that we wanted to run computationally intensive things. We didn't
tend to want to do massive molecular orbital calculations, or whatever, that
could be done overnight. The thing which made computer scientists resented
by the other lot - which is the computer service providers - and at some stage we can
get into how these two split apart, and the answer is there was a lot of
bloodletting but eventually they did. But as far as the computer centre - the
computer service - was concerned, their erstwhile colleagues in computer
science were a complete pain. They wanted to run non-standard software in
non-standard ways. This non-standard software might crash the machine and
where would that leave the rest of the time-sharing users. With a dead machine!
All this kind of stuff. So purely personally, [in] my career as a computer
scientist, the teaching was fine. We could teach the students early languages that
we liked. Fortran, Algol were the first two. Later on a version of Algol called
Algol68. Teaching programming was no problem. We got a share [of machine facilities] for the students
and they were doing safe things in a safe environment. But for those who
wanted to do more dangerous things in the research front, yes, you had to speak
very nicely to the Director of the Computing Centre and explain that you
wanted to run a particular version of the Algol 68 language, that you'd got from
some colleagues, and it was non-standard. And it was trying to do real-time
programming with Algol 68 and ooh! y'know: "Will this affect the rest of the
users? What happens if it goes wrong? Wouldn't it be better to run it
overnight"? Eventually, I think, a lot of these
problems were sorted out but it became very clear that, as far as computer
scientists were concerned, you'd love to have a machine that was all your own,
even if it was less powerful, a little bit, than the mainframe. And as the
70s wore on this gradually became possible. And it became possible by
what's often called the "second generation". After the mainframes came the
mini-computers, and there's some very famous names, most of which
have now been absorbed or gone under: Data General, DEC was very famous, [they] made
PDP 11 minicomputers and VAX minicomputers. So, from my point of view,
towards the end of the late seventies, we managed to save up enough money in the
computing section of the Maths Department to buy ourselves - wait for it -
a PDP 11/05 minicomputer! You'd got a small amount of memory, which was capable of
taking in simple assembly-level programs on paper tape and they worked! Many
viewers of this will probably know about programming languages. Y'know like Java
C, C++ and so on. But, of course, there's a level below that. There is programming
that is much closer to the hardware and you really did have to understand about
the innards on the machine to use it effectively. It's still with us, is
assembler, but nowadays higher-level languages have got sufficiently much
more efficient that Assembler isn't quite as important as it used to be.
So, anyway, there we were. We could run assembler programs with our students for
the first time. And it was it was a good step forward. But gradually we began to
hear - on the computer scientist grapevine - towards the end of the 70s, that if
only you could afford a slightly bigger PDP 11, I think was a PDP 11/34 was the
minimum, there was this most amazing operating system, written by computer
scientists for computer scientists, at Bell Laboratories in the United States,
and it was called UNIX. And it did everything just right. And whereas a lot
of us had struggled with the mechanisms on other operating systems for doing
multitasking, multiprogramming, multi-access generally, UNIX was
essentially written by one astonishingly gifted programmer called Ken Thompson.
You got one man's computer science view of the universe,
about how it should be done. And for the great majority of computer scientists it
just made your jaw drop open. You thought: "That is so clean! That is so good!"
A very large number of computer science departments, as soon as they could, went
and got themselves a minimal machine a PDP-11 with a 50 or 80 megabyte disk,
Wait for it - maybe 64 or 128 K of memory And for those out there who think I've made a
mistake - no, kilobytes not megabytes, and certainly
not gigabytes. And in that small amount of memory the kernel of the operating
system had to run, plus your program. And there was just sufficient amount of disk
that as long as you didn't have more than five or six users, on an
underpowered machine, it was still slow but it could swap between you; park bits
of your program out on disk when it ran out of memory space and generally be a
good clean multi-user, multitasking system. Underpowered, sometimes. absolutely.
But it just changed everything. It was one of those seminal moments for
computer scientists. We thought: "this is just great!" And I think it was not only
the operating system itself because, as many people know, the the two big names
in UNIX are Ken Thompson and Dennis Ritchie and they were given the Turing
Award for inventing UNIX and for inventing the C programming language. And
although they shared the effort I think, to a first approximation, you could say
that UNIX was Ken Thompson's creation but the C compiler - getting that working,
refining it - was very definitely Dennis Ritchie's invention. Being
implemented by a limited number of people who know what they are doing is
far far better than having an army of programmers. However, that being said
you've got to be simpatico with the two people who did it. If they think the same
ways you do and their aim is the same as yours you'll love it. But if that's not
the case you may well end up hating it. So, that was how, eventually, we ended up
with our more powerful PDP-11 in our basement in the Maths building,
still air-conditioned. And when we ran out of steam on that we started thinking
"Oh! if only we could afford a more powerful PDP-11, more memory, bigger disk
and all this. I have actually got a photograph, taken in the early 1980s, of
our PDP 11/70 this was a more powerful PDP 11. It needed a three-phase electric
supply. It ran up electricity bills like there was no tomorrow. The person you see
at the bottom of the picture, the back view - I had more hair then - that is me. And
there's all my grad students around [ironic voice] not posed of course! not in any way! either
using VDU [VDT] terminals or in the case of Neil, over there, I persuaded him to look
as though he was putting a dump tape onto the magnetic tape deck so that it
would take a dump of the disk. There was none of this disk-to-disk dumping, onto
terabyte backup disks, that we have today. Your main disk was precious. You probably
couldn't afford lots and lots of them so the dump of what had changed during the
day was done to magnetic tapes. And those of you with eagle eyes will see, behind
me on my bookshelf, a couple of 9-track magnetic tapes containing,
I think, the source code of Sun Microsystems version of UNIX. Well, we
used to use blank tapes of that sort for dumping and that will be done every
night and a big dump at the end of every week. But you knew the dump cycle was
happening you just hoped that if the disk crashed you could recover from the
tape dump. UNIX changed the world. It changed the world initially, to be fair,
for computer scientists. It did also change the world for everybody else but
it took some time. Because of the licensing conditions from Bell
Laboratories who first issued it and some more licensing conditions from
University of [California], Berkeley who refined it a bit more. If you wanted to set up a
commercial UNIX operation you needed a team of lawyers to
negotiate what you could, and couldn't, do with Bell and Berkeley source code. And
of course the big computer manufacturers didn't mind this too much. But in the end
you felt well if UNIX, or its derivatives,
is going to rule the world, and achieve its full potential, you've got to find
somebody who can reimplement the whole thing under an Open Source or freely accessible type of licence, where people are not going to be
hampered by endless restrictions on what they can do what apps they can write and
so on. That, overall, I would say took a bit more than ten years. I seem to
remember that some of the - if you like test Open Source type of things - I think this
guy called Andy Tanenbaum, in Holland, who did MINIX and then around about that
time the well-known name again Linus Torvalds, out in Finland, really got hold
of this idea that to make UNIX-like systems go mainstream you had to have a
standardised heart of the operating system, called the kernel, and you had to
re-implement the whole thing in such a way that people could set up their own
companies and under very clear conditions know what they could do and
what they couldn't do. And the rest, as they say is history, I just do not know
but it's a very large number what percentage of the world's servers now
run on UNIX or UNIX-derived systems nowadays, various flavours of Linux.
It's enormous.