The PDP-10 had an alarm bell that could be rung under program control.
When the TOPS-10 operating system crashed, it displayed a numeric code on
the console indicating the reason for the crash. This was called a
"stopcode" and is the equivalent of a Unix panic. It also rang the alarm
bell.
DDT (Dynamic Debugging Tool) was the primary debugger for TOPS-10. PPN
(Project-Programmer Number) was used for system security. Each user
account was assigned by number to a Project, and within that Project a
unique Programmer Number. The low numbers (such as [7,3]) were usually
privileged accounts.
So here we have the Christmas carol Stopcode Bells, to the tune of Jingle
Bells:
==========
Stopcode bells, stopcode bells, stopcode all the way.
Oh what fun it is to crash the system night and day.
Stopcode bells, stopcode bells, stopcode all the way.
Oh what fun it is to crash the system night and day.
Poking through the core
With a bug in DDT
Change your PPN
To [7,3].
Halt somebody's job.
Make them scream and shout.
Oh what fun it is to log
The operator out.
==========
This is one that I wrote while I worked in DEC's software development tools
department. Around Christmas time the first baselevels of VAX/VMS Version
3.0 were being sent to alpha test. The engineering departments got first
crack at the new system and so were the first to encounter bugs and design
problems. VMS Version 3 had been a very ambitious project and was
eventually split up into Version 3A (released as Version 3.0) and Version
3B (released as Version 4.0). There was a lot of grumbling by groups whose
new features got put into 3B and thus delayed. The early baselevels of 3A
broke the VAX C runtime library.
So here we have Version 3 is Coming to Town:
==========
You'd better work hard
You'd better code fast.
The system you use
Just ain't gonna last.
Version 3 is coming to town.
They fixed some old bugs
And put new ones in,
Added some features
They think will win.
Version 3 is coming to town.
There's so many new features.
Too bad we can't use C.
And the things that we most wanted
Were deferred until 3B.
You'd better work hard
You'd better code fast.
The system you use
Just ain't gonna last.
Version 3 is coming to town.
=========
-Paul W.
Apropos of file types, which Rich Salz commends Unix for discarding.
Early in Multics development, I and others visited various influential
time-sharing systems in search of good ideas. I tried each one on a
simple model of software updating, in particular of remaking a
compiler. In every instance I could not make my program work without
expert help to get past file-type barriers.
My model was based on a trivial Fortran program that copied input to
output until an input line with END in column 7 had been processed.
Every system was able to compile this program, but ...
After compiling, I tried to use the program to make a copy of itself.
Here was the first file-type hurdle. Input was typically expected to
be of type data, not source code. Gurus had to scramble to overcome
this nominal incompatibility.
Next I tried to compile the new Fortran program. Same trouble in
reverse--data used as source. More scrambling of gurus.
Then I ran the newly compiled program to do the above steps over
again. This time the gurus had the file-type workarounds under
control. One comp center still had trouble, however, which took some
time to diagnose. It turned out that Fortran programs were, for
unknown reasons, specifically forbidden to read their own source code!
One side effect of file-type conventions was that instead of learning
once and for all how to create text files, one had to learn different
ways to edit files of different types.
Doug
I was just trying to find out if there was a way of uploading the TUHS
mailing list as a corpus of text into a LLM so that I could ask questions
based on the knowledge contained therein. I'm not having much luck yet.
Anyway, while messing around with things I asked a simple question and got
this answer:
What is a spin lock?
A spin lock, also known as a spinning lock or spinning lock mechanism, is
a type of mechanical locking device used to secure and protect sensitive
electronic components, such as microprocessors, memory chips, and other
high-value devices.
Here's how it worked: when a CPU instruction was executed and the
necessary data was stored in registers, the CPU would "lock" the registers
by spinning them around to prevent other instructions from accessing them.
Those poor registers must get dizzy with all the spinning that they
have to endure :-)
Cheers, Warren
P.S. If anybody has ideas on how to usefully import the TUHS mailing list
into a LLM, let me/us know.