This should freak out a few friends.
OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:05:53
Logging in
user ALEC
password
ID last used WED 24 JUN 2009 07:56:36
STARTED - WED 24 JUN 2009 08:06:02
OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:06:02
error 10 unknown command: USER.INITJCL
EXEC USER.INITJCL
READY
EXAMINE POOL
EXAMINE version 305
Catalogue POOL
--------------------------------------------------------------------------------
BLOCKING LST BYTPERF LST BYTPERF2 LST CONTROL CAT D0A1A020 PRB
DATA CAT DFDR706 LST DFDRBYT LST DFDRLIST LST DFDRLST LST
DISCARD LSB DUFFMAIL LST ED803900 LST ETHDUMP PRB FORMATS LST
FTP LSB FTP2 LSB FTPD4 BYT GHOST CAT LIFT CAT
LINKJCL CAT LINKS CAT LOG LSB LOGIN CAT LOGN803 LST
MAIL1019 LST MAIL353 LSB MAILDIV LST MAILTAB5 LST NFSIDGEN BYT
OBJ CAT OFTPD LSB OLIFT LSB OUTFILE LST PERF LST
PROTTEST LST RCP LST RCP1 LST SADGDISC LSB SD CAT
SPAT LST TCP6 LST TCP66 LST TCPRELAY CAT TCPSPI LST
TCPSPILI LST TEST BYT TESTCPW LST TESTPAS LST TIMER BYT
TIMTEST LST UIMLINKS LST WORK CAT
--------------------------------------------------------------------------------
READY
EXAMINE SYS
EXAMINE version 305
Catalogue SYS
--------------------------------------------------------------------------------
ACCOUNT LSB ACCTGEN LSB ADDRGEN LSB AIDA LSB ASS68000 LSB
ASS68K LST AUTOGEN LSB BABB LSB BABBCLG LST BASIC LSB
BIDA LSB CHIP LSB COLS LSB COMM LSB COMM2 Ref
COMP LSB CONTROL LSB CONVERT LSB COPY LSB CSOT LSB
DEFAULT LST DIRE LSB DIRE1 LSB DISCLOG LSB DISCTOOL LSB
DOCU LSB DODM LSB DOTS LSB DPAIDA Ref EDIT LSB
ETHERNET LSB EXAMINE LSB FCHK LSB FCOPY LSB FILEGARB LSB
FORM LSB FTP LSB GARB LSB GARB1 LSB GEDIT LSB
IBDA LSB INIT LSB INIT1 LSB INITAIDA LST INITJCL LST
INITMESS LST INITPROF LST INITSMOA LST INITSMOP LST INSPECT LSB
ISFC LSB LCPSTAT LSB LGEN LSB LIFTPTCH LSB LINK2 LSB
LINKCAT CAT LINKLIB LRB LK68000 LSB LPOT LSB LPQ LST
LPR LST MAIL LSB MAILADD LSB MAILHELP LRT MERGE LSB
ML1 LSB ML1LIB LST ML1LIBB LST NFS LSB NFSIDGEN LST
NNFS LSB OCOMM LSB ODP LSB OMAIL LSB OS68000 CAT
PAD LST PADCAT CAT PASXREF LSB PREPROC LSB PROFILE LSB
PWGEN LSB RALDUMP LSB RELOAD LSB RSH LSB SADGCOMM LSB
SADGCOMP LSB SADGDISC LSB SADGDUMP LSB SALVE LSB SALVE110 LSB
SETACCO LSB SETACCO1 LSB SETIPL LSB SETIPL1 LSB SETRAF LSB
SETTERM LSB SF LSB SGSFDISC LSB SMAO Ref SORT LSB
SPI LSB SRECCONV LSB SUNDRY CAT SYSMON LSB TCPSPI LSB
TITLEGEN LSB TRACE LSB TRANSFER LSB TUNE Ref USERS LSB
XPCONFIG LSB XREF LSB
--------------------------------------------------------------------------------
READY
GEDIT FOO
Filing error 203 : unknown context pointer condition code 16 s= CC52 past= 7
GEDIT FROM SINK TO .FOO
GEDIT 301 ready
***bottom
I HELLO WORLD
Syntax error I HELLO WORLD
***bottom
I/HELLO WORLD!/
HELLO WORLD!
***bottom
E
Edit OK
READY
EXAMINE USER
EXAMINE version 305
Catalogue USER
--------------------------------------------------------------------------------
FOO LST
--------------------------------------------------------------------------------
READY
LOGOUT
CPU used: 2 ieu elapsed time used: 2 mins
User ALEC terminal 7 logged out WED 24 JUN 2009 08:08:02
OS4000 Rel 6.5 A036 on A7 WED 24 JUN 2009 08:08:04
Logging in
user too long - terminated
***Unplugged connection from Way 37
There’s a working system, *plus* a full hardware emulation and nucleus running on Solaris.
w00t!
Now where did I leave that JCL manual?
{ 19 } Comments
You can do better than this for 17 months, surely!
Where on earth did you get that?
Turns out a colleague here at Sun for the past forever, has been hiding the secret that he used to work at GEC. There’s other news, too, bit I’ll ask him to share.
since Jim lacks TrackBack support:
http://found.pale.org/?c=id&p=5285
…Via Alec, two bits of news on this venerable and insane operating system, which ran on GEC mainframes back from the late 70′s through to the turn of the century, and was a part of UK Internet history. Firstly, he’s managed to get hold of an emulation of the bloody thing; and secondly, the Wikipedia page is under threat of deletion for non-notability. As Alec says, poppycock. Although I never really poked around inside it, I recall its bizarre directory structure and its awesome command syntax: everything you did sounded like it was a command to launch the nuclear weapons from some 80′s hacker movie. FCOPY USER SINK TRACE DESTROY for example, to delete all a users files (IIRC)….
OK, so where’s .d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d.d. (etc) ?
Now all we need is a Honeywell L-66 emulator, GCOS-3 and a B compiler..
Yikes!
I’d better get the POOL.CONVERSE source out of the cupboard.
I’m sure that Rob still has the Bullet II sources too.
Damn Stephen beat me to the obvious comment on Bullet source code.
A little snippet from the “good ol’ days”…
Message from ZCAHBRN just gone a quarter to ten pm, 7th January 1987
———————————————————————–
Just a little message to tell you that we, Igor et moi, have decided
to shift the conflab/verse files from POOL.MESSIDS to POOL.MESIDS as
Igor says you intended to do. This has, however, necessiatated the
removal of you CONVERSE temporarily until such time as you can
amend your macro to cope with this. All conflab/verse original
references in POOL.MESSIDS have been removed. Good luck with the
project,
Rob & Igor.
And, here’s practically my last login to the old EUCLID at UCL… Maybe we should archive this stuff somewhere? National Computing Museum, Bletchley Park, maybe?
UCL Data Exchange NODE 3^G
03.026
Which Service?
pad
Connected
^LUCL PAD 2 line 4 speed 2400
PAD2>
PAD2>logon f f
PAD2>call 000005111000
*** Call connected
too long – terminated
SESSION STARTING
Euclid Rel 4.17.2c Rim-C FRI 08 JUN 1990 19:50:16
enter userid and account ucacmsu ucac
enter password
Started – FRI 08 JUN 1990 19:50:34
ID last used WED 06 JUN 1990 17:05:40
Session limit 121 minutes
*** THE EUCLID SERVICE WILL TERMINATE THIS FRIDAY (8th JUNE) AT 2000 ***
******************************************************************************
* USING FORTRAN ON THE PYRAMID *
* For details of plans for alternative facilities for Fortran users, *
* enter HELP PYRAMID FORTRAN. *
* *
* TRANSFERS TO THE PYRAMID *
* Any users who have not run the TOUNIX command and wish to transfer to *
* the Pyramid should do so as soon as possible. *
******************************************************************************
**** For all you aspiring Unix users the next Introduction to Unix Courses
will run on Monday 11th and Friday 15th June.
–> Your userid has been set up on the Unix service
–> Your mail files have been copied to this service
–> Files created or changed on Euclid
–> will NOT be automatically copied to the new service
There are changes to bulletin board:
PDSOFT.
No mail has arrived since 11:05:27 on TUE 02 JAN 1990.
I148(UCACMSU:TF39), I129(UCCA03E:TF28), I024(UCCA20D:TF27)
I035(UCZZW03:TF26), I026(UCCA11J:TF2
I031(UCJTPAD:TF13), I131(ZCESE30:TF6
I141(UCCA021:TF41), I139(GUEST:TF42), I147(ZCAPD49:TF40)
Do you want to go into KERNAL? (semi-random ready generator)
Hi this is Eddie, and I’m feeling just great Guys!
000005111000. Bloody hell. What other JANET addresses can we remember?
It’s interesting to get the shutdown date/time recorded. The session limit of 121 minutes would seem to be unobtainable in this case;-) Not sure why you connected in through a PAD — the UCL Data Exchange was connected directly to Euclid terminal lines.
I was given the UCL disks when they arrived back at GEC after Euclid closed down. They were the best example we ever found of gross fragmentation, corruption, etc, and looked like they’d never been garbage collected! I used them for testing a new disk maintenance utility on. The filesystems were in such a bad state as a result of no maintenance they would have been having a very significant slowing effect on the OS. Before anyone asks, no, the data on the disks wasn’t preserved after I finished with them.
I remember UCL DCX too, but sometimes from student houses and other universities we used to come in over JANET.
As to the disk fragmentation, some of that may have been my fault. I forget the JCL now – too rusty – but it was something like:
create dir .T
context T .T
loop:
create dir T.T
context T T.T
goto loop
…which did something very nasty indeed; apparently either Andrew Gosling or Jeremy Perron had to physically edit the disk contents and GC, or something…
After experience with SINK, I always felt there needed to be a /dev/nulldir on unix; any file under it existed and was empty, any file written to it, thrown away. Alas I’ve never seen it…
SINK is identical to /dev/null. The OS4000 stdio library (called UIM) was actually told when a stream was connected to SINK, so it could simply return read and write calls (GET and PUT) without bothering to do anything with the data, so mostly data never even got to the SINK device driver (DMAN.DSP) in the first place. There was no OS4000 equivalent of /dev/zero.
I wrote the OS4000 PIPE driver (DMAN.PIPE), but that didn’t go into standard OS4000 until Rel 5 or Rel 6 (I forget exactly when), so it was never on the UCL system (which looks like it last ran Rel 4.17).
The per-login-session temporary files (%C, &FRED, and similar) always seemed like a great idea which unix is sadly missing. Sharing a per-system /tmp between users never seemed sensible to me.
The filesystem fragmentation was caused by running heavy write workloads with almost full disks, exactly same as would happen with UFS. You can’t do much optimizing of file block placement when there are only 2 spare sectors left at opposite ends of the disk;-) If you never garbage collect, you never bring these fragments back together. It was typical to see up to perhaps 5% fragmented files on most systems which do even just quarterly garbage collections. ISTR the UCL disks were something like 98% fragmented files, meaning nearly all the files on the disks were written when the disks were virtually full, and they’ve never been garbage collected since. There were also quite a number of filesystem corruptions, which again would have been fixed by garbage collection. I can’t imagine how they happened in the first place though, as that’s not something I ever saw to anything like that degree with any other customer. Probably just 10 year’s accumulation of them.
Your example creates a deep directory. OS4000 couldn’t care less about that – it has no limit. File paths may have been limited to 255 characters in some system calls, but you can use context pointers to get around that, up to any depth.
Jim, I have my punch card notes cards around here somewhere with a few of the addresses on them. I’ll try to fish them out.
Andrew, actually, EUCLID continued to operate for about a month after that session. I was connecting from Cornwall using an Amstrad V22bis modem (which didn’t have error correction) which is why I came in via the PAD.
Having said that, pretty well all access to EUCLID was via the PAD. It allowed users to connect to other services such as the UL Library system or ULCC.
I wonder if the fragmentation was why Bullet slowed the system down. If it was anything like the Sun of Bullet (and hence Bullet III) it used files for data transfer. Then again, Robert did use some cunning things in Babbage and some even more cunning things by modifying the binary code.
Jim, I’m relieved to find that I can still remember that 00013000001 was UK.AC.ABER.H, confirmed by this list http://history.dcs.ed.ac.uk/archive/os/deimos/ercm09/emas-2900/nrsl.txt
Jim, I’m relieved to find that I can still remember that 00013000001 was UK.AC.ABER.H, confirmed by this list http://history.dcs.ed.ac.uk/archive/os/deimos/ercm09/emas-2900/nrsl.txt
Alec, wasn’t that episode immortalised in an early version of The Alternative Wall ? All the ones I can find online have substituted “(core dumped)”, going back to 1992.
Post a Comment